Агуулгын хүснэгт:

Arduino удирдлагатай servo робот (SERB): 7 алхам (зурагтай)
Arduino удирдлагатай servo робот (SERB): 7 алхам (зурагтай)

Видео: Arduino удирдлагатай servo робот (SERB): 7 алхам (зурагтай)

Видео: Arduino удирдлагатай servo робот (SERB): 7 алхам (зурагтай)
Видео: Как Сделать Робота на Arduino UNO / How to Make a Robot on Arduino UNO 2024, Арваннэгдүгээр
Anonim
Arduino удирдлагатай Servo робот (SERB)
Arduino удирдлагатай Servo робот (SERB)
Arduino удирдлагатай servo робот (SERB)
Arduino удирдлагатай servo робот (SERB)
Arduino удирдлагатай servo робот (SERB)
Arduino удирдлагатай servo робот (SERB)
Arduino удирдлагатай servo робот (SERB)
Arduino удирдлагатай servo робот (SERB)

Нээлттэй эхийн микро хянагч (Arduino) дээр туршилт хийж эхлэхийн тулд өөрийн хувийн нээлттэй эх роботыг (CC (SA -BY)) бүтээхээс илүү сайн арга юу вэ? SERB -гээ яах вэ?

  • (энд) - SERB -ээ интернетэд хэрхэн холбож, Skype видео дуудлага хийх замаар жолоодох.
  • (энд) - Wii nunchuck -ийн хурдатгал хэмжигч ашиглан SERB -ээ хэрхэн хянах вэ
  • (энд) - Роботдоо саад тотгор илрүүлэх сахал хэрхэн нэмэх вэ
  • (энд) - 30 иж бүрдэл хэрхэн хийх вэ (Нээлттэй үйлдвэрлэл)

Онцлог:

  • Arduino Duemilanove микро хянагч (эсвэл таны сонгосон өөр микро хянагч) ашиглан бүрэн програмчлагдах боломжтой.
  • Гагнах шаардлагагүй.
  • Нийлэг хэсгүүдийг огтлох сонголтуудын сонголт. (гүйлгэх хөрөө, лазер таслагч руу нэвтрэх, урьдчилан зүсэх хэсгийг худалдаж авах)
  • Нэмэлт боолтны нүх, талхны хавтангаар хялбархан өргөжүүлж, өөрчлөх боломжтой.
  • Хос бөмбөг агуулсан хойд дугуй.
  • 1-2 цагийн дараа ашиглалтанд орно. (иж бүрдлээс)
  • Нээлттэй эхийн загвар (хүссэн хэмжээгээрээ бүтээх)

(Ичгүүргүй залгуур) Их Британид Arduino гэх мэт зүйлс байдаг уу? Манай шинээр нээгдсэн вэб дэлгүүртэй танилцана уу Arduino удирдлагатай Servo роботыг хэрхэн яаж хийх вэ - (SERB)

Алхам 1: эд анги, багаж хэрэгсэл

Эд анги, багаж хэрэгсэл
Эд анги, багаж хэрэгсэл

Бүх боолтыг орон нутгийн Home Depot дээрээс олж болно. Бусад хэсгүүдийг онлайнаар хайж олох боломжтой (Би дуртай эх сурвалжийнхаа линкийг оруулсан болно). Хэсгийн жагсаалт: Бүх тоног төхөөрөмжийг агуулсан багцыг oomlout.com дэлгүүрээс худалдаж авах боломжтой (энд) (120 доллар) Самар ба боолт:

  • 3mm x 15mm боолт (x20)
  • 3 мм x 10 мм боолт (x12)
  • 3 мм самар (x34)
  • 3 мм угаагч (x12)
  • 8мм х 25мм боолт (x2)
  • 8 мм самар (x2)
  • Тэшүүрийн холхивч (x2) (VXB) (эдгээр нь тэшүүрийн стандарт холхивч тул тэдгээрийг хос дугуй эсвэл тэшүүрээр аврах боломжтой)

Дугуй

  • Том O-ring (4.5 "ID 3/16" Bead Dash #349) (x2) (McMaster-Carr Бүтээгдэхүүн #9452K407)
  • Жижиг O-ring (3/4 "ID 3/16" Bead Dash #314) (x1) (McMaster-Carr Бүтээгдэхүүн #9452K387)

Электроник

  • Arduino Duemilanove (x1) (Бүтээгчийн саравч)
  • Тасралтгүй эргүүлэх Servo (x2) (Параллакс)
  • 400 Холбоо барих самбар (x1) (Бүх электрон бараа))
  • Quad AA зайны хайрцаг (x1) (Бүх электроник)
  • 9V батерейны хавчаар (x1) (Бүх цахилгаан хэрэгсэл)
  • 2.1 мм залгуур (x1) (Бүх цахилгаан бараа)
  • 3 зүү толгой (x2) (Бүх цахилгаан бараа)
  • A -B USB кабель - Принтерийн хэв маяг (x1) (Бүх электроник) (иж бүрдэлд ороогүй болно)

Батерей:

  • AA зай (x4) (иж бүрдэлд ороогүй)
  • 9в батерей (x1) (иж бүрдэлд ороогүй)

Утас: (бүх утас нь 22 AWG хатуу би уурхайг McMaster-Carr-ээр худалдаж авдаг)

  • 15 см Нил ягаан (x2)
  • 15 см Хар (x1)
  • 5 см Хар (x2)
  • 5 см Улаан (x2)

Багаж хэрэгсэл

  • Халив (x1) (Philips)
  • Зүү хамар бахө (x1)

Алхам 2: Хэсэг хайчлах

Хэсэг хайчлах
Хэсэг хайчлах
Хэсэг хайчлах
Хэсэг хайчлах
Хэсэг хайчлах
Хэсэг хайчлах
Хэсэг хайчлах
Хэсэг хайчлах

Сонгосон хайчлах сонголт дээр үндэслэн ямар алхам хийхээ сонгоно уу. Сонголт 1 (Урьдчилан хайчлах эд анги худалдаж авах)

Oomlout.com-ийн дэлгүүрээс урьдчилан бэлтгэсэн явах эд анги худалдаж аваарай (эндээс) (АНУ, Канад руу хүргэлт багтсан 60 доллар)

Сонголт 2 (Дижитал үйлдвэрлэл (өөрөөр хэлбэл Поноко) / Лазер таслагч руу нэвтрэх)

  • Лазер таслагчийн байршлыг татаж авах ("03 SERB Ponoko Cutting Layout P2.eps" эсвэл "03- (SERB) -Ponoko Cutting Layout (P2).cdr")
  • Файлуудыг Ponoko эсвэл өөрийн лазер таслагч ашиглан хайчилж ав (3мм,.118 "акрил ашиглан (заримдаа.125" гэж зардаг)

Сонголт 3 (Гүйлгэх хөрөө ба өрөм)

  • PDF загварыг татаж аваад хэвлэ (цаасныхаа хэмжээтэй тохирох файлыг сонгоно уу) 03- (SERB) -ScrollSaw Pattern (letter).pdf 03- (SERB) -ScrollSaw Pattern (A4).pdf (масштаблахгүй байх нь чухал. хэвлэх үеийн зураг)
  • Хэвлэмэл дээрх захирагчийг итгэж буй захирагчийнхаа эсрэг хэмжээрэй, хэрэв тэдгээр нь загвартай таарахгүй байвал масштабтай болсон тул дахин хэвлэхийн өмнө принтерийнхээ тохиргоог харах хэрэгтэй. Хэрэв тэд таарч байвал цаашаа.
  • Загварыг нийлэг хуудсан дээр наа (3мм,.118 "(заримдаа.125" гэж зардаг)).
  • Нүх өрөмдөх.
  • Гүйлгэх хөрөө ашиглан хэсгүүдийг хайчилж ав

Алхам 3: угсрах

Чуулган
Чуулган
Чуулган
Чуулган
Чуулган
Чуулган

Үүнийг хийж чадсандаа баяр хүргэе. Процессийн 90% нь дууссан байна. Зөвхөн энэ алхам дээрх угсралтын зааврыг татаж аваарай (04- (SERB) -Авсуулах гарын авлага.pdf), бага зэрэг лего/механо загварын угсралт хийсний дараа та утас холбоход бэлэн болно. Замдаа таныг зугаацуулахын тулд миний чуулганы цаг хугацаа өнгөрч байна.

Алхам 4: Цахилгааны утас

Цахилгаан утас
Цахилгаан утас
Цахилгаан утас
Цахилгаан утас

Бүх том хэсгүүдийг нэгтгэн жижиг роботуудыг нэмж оруулах нь бидний роботыг удирдах боломжийг олгоно. Үүнийг хийхийн тулд утасны диаграмыг татаж аваад хэвлэ (05- (SERB) -Утасны диаграм.pdf). Анхны харцаар харахад маш аймшигтай мэт санагдаж болох ч хэрэв та холболт бүрийг дарааллаар нь хийвэл маш хурдан нийлдэг. Утас нь маш энгийн бөгөөд батерейг нэмэх хүртэл таны хэлхээнд ямар ч хор хөнөөл учруулахгүй. Тиймээс бүх зүйлийг утсаар холбож, дахин шалгаж, дараа нь хүч нэмнэ үү.

Алхам 5: Туршилт ба алдааг олж засварлах

Туршилт ба алдааг олж засварлах
Туршилт ба алдааг олж засварлах

Хэрэв та иж бүрдэл захиалсан бол таны Arduino туршилтын програмыг урьдчилан суулгасан болно. Зүгээр л 4 АА батерей тавьж, 9v батерейг Arduino -д залгаарай. Хэрэв бүх зүйл зөв хийгдсэн бол таны робот хөдөлж эхэлнэ (энэ нь санамсаргүй чиглэлд 0.1-1 секундын хооронд санамсаргүй байдлаар 1-2 секундын турш урагшлах болно, дараа нь дахин эхлүүлэхээсээ өмнө 2 секундын турш зогсооно). Хэрэв та иж бүрдэл худалдаж аваагүй бол нэмэлт алхам хийх шаардлагатай болно. Хавсаргасан зип файлыг татаж авах (07- (SERB)-SERB-Test Arduino Program.zip). Дараа нь Arduino ноорог зургийн санд (үндсэн "Миний баримт бичиг / Arduino \") задалж, arduino самбартаа татаж аваарай. (хэрэв та Arduino -д шинээр суралцаж байгаа бол хичээлээ эхлүүлэх гайхалтай холбоосууд байгаа бол нэг алхам урагшилна уу) Нийтлэг бэрхшээлүүд: Миний SERB -ийг зогсоох ёстой үед аажмаар хөдөлдөг. Энэ нь таны servos тохируулагдаагүй байгаагийн үр дүн бөгөөд servo -оо тохируулахын тулд таны програм servo -ийг зогсоох хүртэл хүлээгээд жижиг халиваар servo доторх потенциометрийг эргүүлнэ). Серво үнэхээр зогсох хүртэл зүүн эсвэл баруун тийш эргүүлнэ үү. Бүх зүйл тийм ч сайн ажилладаггүй. Бидэнд таны шинж тэмдгүүдийн талаар имэйл илгээгээрэй, бид танд туслахыг хичээх болно, та хариулт хүлээж байх хооронд 4-р алхамаас эхлэн бүх утаснуудаа холболтын схемээр шалгаарай. Хэрэв танд ямар нэгэн асуудал тулгарвал сэтгэгдлээ бичнэ үү. Энэ зааварчилгаа руу эсвэл [email protected] руу имэйл илгээгээрэй, бид танд SERB-ийг ажиллуулахад туслахын тулд чадах бүхнээ хийх болно.

Алхам 6: Програмчлал

Програмчлал
Програмчлал

Физик робот нь тархи өгч эхлэх цаг нь дууссан бөгөөд бид Arduino -ийн удирдлагатай Servo Robot (SERB) програмчлалын талаар дэлгэрэнгүй мэдээлэл авахаасаа өмнө интернетэд байгаа маш сайн Arduino програмчлалын эх сурвалжуудын цөөн хэдэн холбоосыг авах боломжтой. Arduino програм хангамжийн орчныг татаж авахаас эхлээд анхны програмаа бичих хүртэл Arduino програмыг эхлүүлэхэд туслах болно. Arduino програмчлалын лавлагаа - Arduino програмчлалын хэлийг ашиглахад хялбар гарын авлага. Сервис хэрхэн ажилладаг вэ - servo мотор хэрхэн ажилладаг талаар хурдан танилцуулга. Arduino Servo Library - Arduino Servo номын сан хэрхэн ажилладаг вэ (бид өөрсдийн servo -уудыг хэрхэн хянадаг вэ). Суралцах явцдаа програмчлах боломжийг олгодог. Arduino Controlled Servo Robot -ийг (SERB) програмчилж эхлэх гурван арга байдаг. Сонголт 1: (SERB_Test.pde -ийг өөрчлөх) Заримдаа програмчлахдаа ажлын программ аваад түүндээ өөрийн кодоо нэмж эхэлдэг. Үүнийг хийхийн тулд SERB_Test зип програмыг татаж аваарай (07- (SERB)-SERB-Test Arduino Program.zip). Үүнийг Arduino ноорог хавтсандаа задалж үргэлжлүүлээрэй (үндсэн "Миний баримт бичиг / Arduino \"). Эцэст нь Arduino програмчлалын орчныг нээгээд Arduino дээрээ татаж аваарай. Кодыг маш сайн тайлбарласан байна. (Эсвэл энэ алхам дээрх хавсралтаас авсан кодыг шинэ Arduino Sketch дээр хуулж буулгана уу) 2-р сонголт: (SERB програмуудыг програмдаа нэмж оруулах) Өмнө нь байсан програмдаа (жишээлбэл goForward (), setSpeed (int) гэх мэт). Үүнийг хийхийн тулд хэв маягийг текст файлд татаж аваарай (07- (SERB)- Энгийн хэвшлийн текст.txt). 1. Оршил хэсгийг хуулж програмынхаа эхэнд буулгана уу.2. Ердийн хэсгийг хуулж програмынхаа үндсэн хэсэгт буулгана уу. SerbSetup () руу дуудлага нэмэх; 3 -р сонголт: (Өөрийн програмыг эхнээс нь үүсгэх) Энэ нь тийм ч хэцүү биш юм. Шаардлагатай бүх зүйл бол Arduino Servo номын сантай танилцах явдал юм. Дараа нь баруун талын servo нь 9 -р зүүтэй, зүүн талын servo нь 10 -р зүүтэй холбогдоно. эсвэл хэрэв та ямар нэгэн зүйл боловсруулж, үүнийг хийхийг хүсч байвал надад хувийн мессеж илгээж, үүнийг нэмж болно. Хавсралт: (SERB_Test.pde код)

/ * * Arduino Controlled Servo Robot (SERB) - Туршилтын хөтөлбөр * Дэлгэрэнгүй мэдээллийг https://www.oomlout.com/serb * хаягаар орж үзнэ үү. 0.1 * 1 секундын хооронд * санамсаргүй хугацааны хувьд. * SERB нь 1-2 секундын хооронд санамсаргүй байдлаар * урагшаа урагшлах болно. Эцэст нь * 2 секундын турш түр зогсоож дахин эхлүүлнэ үү. * * Цахилгаан утас: Баруун Servo дохио - зүү 9 * Зүүн Servo дохио - зүү 10 * * Лиценз: Энэхүү бүтээл нь Creative Commons * Attribution -Share Alike 3.0 Unported лицензийн дагуу лицензлэгдсэн болно. * Энэхүү лицензийн хуулбарыг үзэхийн тулд * https://creativecommons.org/licenses/by-sa/3.0/ * хаягаар зочлох эсвэл Creative Commons, 171 Second * Street, Suite 300, San Francisco, California 94105, * АНУ. * */// --------------------------------------------- ----------------------------- // ARDUINO ХЯНАЛТТАЙ СЕРВО РОБОТЫН ЭХЛЭЛ (SERB) PREAMBLE #include #define LEFTSERVOPIN 10 #RIGHTSERVOPIN-ийг тодорхойлох 9 Серво зүүн Серво; Servo rightServo; int хурд = 100; // роботын хурдыг тохируулдаг (хоёулаа servo) // 0-ээс 100 хүртэлх хувь // ARDUINO CONTROLLED SERVO ROBOT (SERB) PREAMBLE-ийн Төгсгөл // ---------------- -------------------------------------------------- --------/ * * зохих төлөвт зүү тогтоож, servo хавсаргана. Дараа нь програм эхлэхээс өмнө 1 секундын турш * зогсооно */ void setup () {serbSetup (); // бүх шаардлагатай // тээглүүрийн төлөвийг тогтоож, ноорог дээрээ servos -ийг нэмдэг randomSeed (analogRead (0)); // санамсаргүй тооны үрийг // бага зэрэг санамсаргүй байдлаар хойшлуулах (1000);}/ * * роботыг * 0.1-1 секундын хооронд зүүн эсвэл баруун тийш (санамсаргүй байдлаар) эргүүлнэ. Санамсаргүй хугацааны туршид урагшлахын өмнө * 1 -ээс 4 секундын хооронд. Хоёр секундын турш түр зогсоохын өмнө * дахин эхлүүлнэ. */Void loop () {turnRandom (100, 1000); // санамсаргүй байдлаар зүүн эсвэл баруун тийш // санамсаргүй байдлаар.1 секунд // нэг секундын хооронд goForwardRandom (1000, 2000); // Санамсаргүй хугацааны туршид урагш явдаг // // 1-2 секундын хооронд goStop (); // Роботын саатлыг зогсооно (2000); // 2 секундын турш зогсооно (зогсох зуур)}/ * * роботыг * minTime (миллисекунд) ба maxTime (миллисекунд) */void turnRandom (int minTime, int maxTime) {int хооронд санамсаргүй байдлаар санамсаргүй байдлаар зүүн эсвэл баруун тийш эргүүлнэ. сонголт = санамсаргүй (2); // Шийдвэрлэх санамсаргүй тоо // зүүн (1) ба баруун (0) хооронд int turnTime = random (minTime, maxTime); // Түр зогсолтын санамсаргүй тоо // цаг (хэрэв сонголт == 1) {goLeft ();} // Хэрэв санамсаргүй тоо = 1 бол // зүүн тийш эргэ {goRight ();} // Хэрэв санамсаргүй тоо = 0 бол эргэх // баруун хойшлуулах (turnTime); // санамсаргүй хугацааны хоцрогдол}/ * * нь minTime (миллисекунд) * ба maxTime (миллисекунд) */void goForwardRandom (int minTime, int maxTime) {int forwardTime = санамсаргүй (minTime, maxTime) хооронд санамсаргүй хугацаанд урагшилна; // санамсаргүй цагийг тодорхойлох // go go forward () урагшлах; // SERB урагш хойшлуулах хугацааг тохируулдаг (forwardTime); // санамсаргүй хугацааны хоцрогдол} // ---------------------------------------- -------------------------------- // ARDUINO CONTROLLED SERVO ROBOT (SERB) ROUTINES-ийн START/ * * нь таны arduino нь оруулсан SERB -ийг ашиглан*/void serbSetup () {setSpeed (хурд); pinMode (LEFTSERVOPIN, OUTPUT); // зүүн серво дохионы зүүг // гаралтын pinMode (RIGHTSERVOPIN, OUTPUT) болгож тохируулдаг; // зөв servo дохионы зүүг тохируулна // leftServo.attach (LEFTSERVOPIN) гаргах; // зүүн servo -ийг баруун тийш хавсарганаServo.attach (RIGHTSERVOPIN); // зөв servo servo-г хавсаргана goStop ();}/ * * нь роботыг 0- (зогссон) ба 100- (бүрэн хурд) хооронд тохируулна * ТАЙЛБАР: хурд нь одоогийн хурдыг өөрчлөхгүй, та хурдыг өөрчлөх ёстой *, дараа нь нэг рүү залгаарай. өөрчлөлт хийхээс өмнө явах аргуудын талаар.*/void setSpeed (int newSpeed) {if (newSpeed> = 100) {newSpeed = 100;} // хэрэв хурд 100 -с дээш байвал // болгох бол (newSpeed <= 0) {newSpeed = 0;} // хэрэв хурд нь 0 -ээс бага бол // it 0 speed = newSpeed * 0.9; // хурдыг // 0 -ээс 90 хооронд хэмждэг/ * * роботыг урагш илгээдэг */void goForward () {leftServo.write (90 + хурд); rightServo.write (90 - хурд);}/ * * роботыг буцааж илгээдэг */void goBackward () {leftServo.write (90 - хурд); rightServo.write (90 + хурд);} / * * роботыг баруун тийш илгээдэг * /void goRight () {leftServo.write (90 + хурд); rightServo.write (90 + хурд);}/ * * роботыг зүүн тийш илгээдэг */void goLeft () {leftServo.write (90 - хурд); rightServo.write (90 - хурд);}/ * * роботыг зогсооно */void goStop () {leftServo.write (90); rightServo.write (90);} // ARDUINO-ийн хяналттай SERVO ROBOT (SERB) ROUTINES-ийн төгсгөл // ---------------------------- -----------------------------------------------

Алхам 7: Дууссан, дуусгасан бусад хүмүүс ба ирээдүй

Дууссан, дуусгасан бусад хүмүүс ба ирээдүй
Дууссан, дуусгасан бусад хүмүүс ба ирээдүй
Дууссан, дуусгасан бусад хүмүүс ба ирээдүй
Дууссан, дуусгасан бусад хүмүүс ба ирээдүй
Дууссан, дуусгасан бусад хүмүүс ба ирээдүй
Дууссан, дуусгасан бусад хүмүүс ба ирээдүй
Дууссан, дуусгасан бусад хүмүүс ба ирээдүй
Дууссан, дуусгасан бусад хүмүүс ба ирээдүй

Энэ амжилтанд хүрсэнд баяр хүргэе, та Arduino Controlled Servo Robot - (SERB) -тэй зугаатай байна гэж найдаж байна. Майкийн SERB - Майк (Сент -Луис орчмын робот клубын ROBOMO) найзтайгаа SERB явах эд ангиудыг хайчилж, өөрийн робот ноу -хауыг ашиглалтанд оруулжээ. Цэнхэр өнгөөр хийсэн нь гайхалтай харагдаж байна гэж би бодож байна. (энэ талаар болон түүний бусад роботуудын талаархи дэлгэрэнгүй мэдээллийг өөрийн вэбсайтаас үзнэ үү (энд) Энэ хэсэгт ирээдүйн хөгжил, хавсралтуудын талаар дэлгэрэнгүй мэдээлэл байх болно (тэдгээрийг зохих ёсоор баримтжуулахаас өмнө энд харуулах болно). Гэхдээ би бас зургуудаа үзүүлэхийг хүсч байна. Хэрэв та дууссан бол надад зураг, хэдэн үг бүхий хувийн зурвас илгээнэ үү (энэ нь вэбсайтынхаа тайлбар эсвэл линк байх болно), би энд нэмж оруулах болно. (ичгүүргүй залгуур) Хэрэв танд таалагдсан бол Нээлттэй эхийн бусад хөгжилтэй төслүүдийг oomlout.com дээрээс үзнэ үү.

SANYO eneloop зайгаар ажилладаг уралдааны тэргүүн шагнал

Зөвлөмж болгож буй: