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

Arduino -тэй DIY олон онцлог робот: 13 алхам (зурагтай)
Arduino -тэй DIY олон онцлог робот: 13 алхам (зурагтай)

Видео: Arduino -тэй DIY олон онцлог робот: 13 алхам (зурагтай)

Видео: Arduino -тэй DIY олон онцлог робот: 13 алхам (зурагтай)
Видео: Marlin Firmware - VScode PlatformIO Install - Build Basics 2024, Долдугаар сарын
Anonim
DIY олон онцлог робот Arduino -той
DIY олон онцлог робот Arduino -той
DIY олон онцлог робот Arduino -той
DIY олон онцлог робот Arduino -той
DIY олон онцлог робот Arduino -той
DIY олон онцлог робот Arduino -той

Энэхүү роботыг Arduino -г ойлгох, Arduino -ийн янз бүрийн төслүүдийг нэгтгэн олон онцлогтой Arduino робот бүтээх зорилгоор бүтээжээ. Цаашилбал, хэн гэрийн тэжээвэр роботтой болохыг хүсэхгүй байна вэ? Тиймээс би үүнийг BLUE ROVIER 316 гэж нэрлэсэн. Би гоёмсог замтай явах эд анги худалдаж авах боломжтой байсан, гэхдээ үүнийг эхнээс нь хийх нь танд илүү ихийг сургаж, дуусгасны дараа танд илүү их бахархлыг төрүүлэх болно. RC машин, тэр ч байтугай хөдөлж байхдаа саад бэрхшээлээс зайлсхийх. Энэ нь ихэвчлэн Bluetooth -ээр холбогдсон Андройд утсаар удирддаг. Google Voice Recognition, Tilt sensing гэх мэт Android функцууд дээр үндэслэн үнэхээр хөөрхөн, ухаалаг робот шиг аашлах боломжтой. Голчлон Bluetooth дээр суурилсан тул би түүний нэрийг BLUE нэмсэн. Энэ бол үнэндээ миний анхны Arduino төсөл байсан бөгөөд би үүнийг өвөрмөц байхыг хүсч байсан. Хэрэв танд энэ төсөл таалагдаж байвал роботын тэмцээнд надад саналаа өгнө үү!

Алхам 1: Үзүүлэх видео

Image
Image
ROVIER -ийн түүх
ROVIER -ийн түүх

Та роботын демо хувилбарыг энэ сайтаас үзэх боломжтой:

Алхам 2: ROVIER -ийн түүх

ROVIER -ийн түүх
ROVIER -ийн түүх

Хэрэв та BLUE ROVIER 316 -ийн хөөрхөн түүхийг даван туулахыг хүсэхгүй байгаа бол дараагийн алхам руу шилжиж болно. Жилийн өмнө би ааваасаа Arduino UNO -ийг бэлэг болгон авсан. Энэ нь миний Arduino -ийн чиглэлээр хийсэн анхны алхам байсан болохоор би Arduino -ийн ерөнхий төслүүдээс өөр, өвөрмөц зүйлийг бүтээхийг хүссэн юм. Энэ нь дуут тушаалуудыг ойлгож чаддаг, алсын удирдлага, мөр дагаж мөрдөх, саад бэрхшээлээс зайлсхийх гэх мэт олон ухаалаг зүйлийг хийж чаддаг хөөрхөн, ухаалаг робот байх шаардлагатай байв. Тэднийг хэрхэн яаж нэгтгэх вэ гэдэг асуулт гарч ирэв. Нетээр аялахад үнэхээр сайхан цаг өнгөрсний дараа Bluetooth бол хамгийн хямд горим байх болно гэж би дүгнэсэн. Тиймээс, Цэнхэр ROVIER -ийг хөдөлгөсөн боловч Arduino UNO -ийн санах ой дутмаг байсан тул роботын олон онцлог шинж чанаруудыг хасах шаардлагатай болсон юм. НҮБ дахь дижитал тээглүүр). Энэ хамаагүй, би үргэлжлүүлэв. Роботын эцсийн хувилбарыг бүтээхэд надад маш их цаг хугацаа зарцуулсан. Олон туршилт, бүтэлгүйтлийн дараа BLUE ROVIER үүсч, одоо бид роботыг бүтээхэд шилжих болно.

Алхам 3: Бүрэлдэхүүн хэсэг ба эд анги

Бүрэлдэхүүн хэсэг ба эд анги
Бүрэлдэхүүн хэсэг ба эд анги
Бүрэлдэхүүн хэсэг ба эд анги
Бүрэлдэхүүн хэсэг ба эд анги
Бүрэлдэхүүн хэсэг ба эд анги
Бүрэлдэхүүн хэсэг ба эд анги

Танд дараах бүрэлдэхүүн хэсгүүд хэрэгтэй болно: 1. Андройд систем 2. Arduino Uno 3. wtv020-sd-16p модуль болон 8ohm чанга яригч4. 2х L293d мотор хянагчийн хэлхээ 5. 4х бо мотор ба дугуй6. HC SR04 хэт авианы мэдрэгч 7. 9g servo8. 8 АА зай эзэмшигч ба батерей 9. 1gb micro SD карт 10. явах эд ангийн жижиг унтраалга хайрцаг.11. HC 05 Bluetooth модуль Энэ нь үнэтэй харагдаж байгааг би мэднэ! Гэхдээ санаа зовох хэрэггүй, энэ нь ердөө хоёр, гурван мянган рупи болно. Андройдын тухай ярих нь үүнийг эзэмшихэд тийм ч хэцүү биш байх болно, учир нь өнөө үед ихэнх хүмүүс үүнийг ашиглаж байна. Гэхдээ шинэ хувилбартай (5.0 -аас дээш) байх нь гүйцэтгэлийг нэмэгдүүлж, дунд эргэлтийн хурдтай мотор (60 -аас 100 хүртэл) худалдаж авахыг оролдоорой. Энэ нь роботын хурдыг хянах боломжийг олгодог бөгөөд өөр хурдны хяналтын хэлхээ суурилуулаагүй болно. Мөн 8 аа зай нь роботыг сайн ажиллуулахад хангалттай. Bluetooth -ийг харгалзан үзвэл HC 05 нь роботод тохиромжтой, учир нь энэ нь хямд бөгөөд гүйцэтгэл нь бас гайхалтай юм. 1 ГБ хэмжээтэй микро SD карт нь роботоос ямар нэгэн асуулт асуух үед тоглогддог дуут файлуудыг хадгалахад шаардлагатай байдаг. Бусад бүрэлдэхүүн хэсгүүдийг тус тусад нь нарийвчлан авч үзэх болно.

Одоо энэ роботод хэрэглэгддэг энгийн "онолууд" руу шилжье.

Алхам 4: Дуут хяналтын онол

Дуут хяналтын онол
Дуут хяналтын онол
Дуут хяналтын онол
Дуут хяналтын онол
Дуут хяналтын онол
Дуут хяналтын онол
Дуут хяналтын онол
Дуут хяналтын онол

Робот нь андройд утсаар дамжуулан дуут командыг ойлгох боломжтой. Google Voice Recognition -ийг хүн бүр мэддэг байх бөгөөд Андройд дээр бид энэ үгийг хэлж, Google үүнийг бичдэг. Үүнтэй ижил онцлогийг дуут командыг таньж, текст команд болгон хөрвүүлэхэд ашигладаг. Энд байгаа програм нь Google -ээр дамжуулан яриаг текст болгон хөрвүүлж, Bluetooth -ээр дамжуулан робот руу илгээдэг. Робот нь Bluetooth -ээр хүлээн авсан эдгээр тушаалуудыг дагахаар програмчлагдсан байдаг. Мөн олон тооны асуултанд хариулах чадвартай. Та роботоо илүү гайхалтай зүйл хийх код руу хэд хэдэн тушаал нэмж болно.

Алхам 5: Дохио зангаа хянах онол

Дохио зангаа хянах онол
Дохио зангаа хянах онол
Дохио зангаа хянах онол
Дохио зангаа хянах онол

Дохио зангаа хянах эсвэл хөдөлгөөн хянах горимыг Android -ээр дамжуулан хийдэг. Энэ горимд роботыг андройд машиныг жолооны хүрд болгон ашиглах замаар RC машинаар удирдах боломжтой. Энэ горимд ашиглагддаг бүх Андройд төхөөрөмж дээр "Accelerometer" нэртэй мэдрэгч байдаг. Энэхүү хурдатгал хэмжигч нь Андройд дээр ажилладаг хурдатгалын хүчийг хэмжих замаар утсыг нэрлэх өнцгийг тодорхойлох боломжтой юм. Чухам энэ мэдрэгч нь бид утсаа хазайлгах үед Андройд дэлгэцээ эргүүлэхэд хүргэдэг. Энд байгаа апп нь утасны хурдасгуурыг ашиглан утсыг хазайсан өнцгийг тодорхойлдог. Дараа нь Bluetooth (A, B….) Тэмдэгтийг робот руу илгээдэг. Arduino нь хүлээн авсан өгөгдлийн дагуу ажиллахаар програмчлагдсан бөгөөд хэрэв утас урагш хазайсан бол А тэмдэгтийг илгээж, робот урагш хөдөлнө. Буцах үед B тэмдэгтийг илгээж, робот хойшоо, баруун тийш хойшоо хөдөлдөг. Андройдийг хэвтээ байрлуулахад Е тэмдэгтийг илгээж, робот хөдлөхөө болино.

Алхам 6: Bluetooth хяналтын онол

Bluetooth хяналтын онол
Bluetooth хяналтын онол
Bluetooth хяналтын онол
Bluetooth хяналтын онол

Энэ горимд робот нь ерөнхий RC машинаар ажилладаг. Энэ горимд ямар ч шинэ зүйл байхгүй, энэ нь зах зээл дээр байгаа ерөнхий алсын удирдлагатай машинтай адилхан бөгөөд цорын ганц ялгаа нь бид роботыг удирдахын тулд Андройд програмыг ашиглаж байгаа юм. үүнтэй холбоотой. Аливаа товчлуур дээр хүрэхэд дохио зангаа хянах горимтой адил дүрийг Bluetooth -ээр дамжуулан робот руу илгээдэг. Цаашилбал, товчлууруудыг дарахад ижил тэмдэгтүүдийг илгээдэг бөгөөд робот ирж буй тэмдэгтүүдийг дагадаг. Би роботыг баруун, зүүн тийш харагдуулахын тулд апп дахь 360 ба -360 градусын товчлууруудыг ашигласан. Хэрэв та роботыг өөр зүйл хийхийг хүсч байвал үүнийг кодоор өөрчилж болно.

Алхам 7: Саад бэрхшээлээс зайлсхийх онол

Саад бэрхшээлээс зайлсхийх онол
Саад бэрхшээлээс зайлсхийх онол
Саад бэрхшээлээс зайлсхийх онол
Саад бэрхшээлээс зайлсхийх онол

Энэ горимд робот нь саад бэрхшээлээс зайлсхийх роботын үүрэг гүйцэтгэдэг бөгөөд аливаа объекттой мөргөлдөхөөс сэргийлдэг. Үүнийг HC SR04 мэдрэгчээр хийдэг. Та SONAR (Sound Navigation and Ranging) талаар мэддэг байх. HC SR04 мэдрэгч нь хэт авианы дууны долгионыг байнга гаргадаг. Эдгээр долгион нь хатуу гадаргуу дээр цохиулсны дараа буцаж ирдэг бөгөөд мэдрэгч рүү буцдаг. Долгионы мэдрэгч рүү буцаж ирэх хугацааг тэмдэглэнэ. Дуу нь ойролцоогоор 340 м/сек хурдтай явдаг бөгөөд бид ХУРД × ЦАГ = ХОЛДОЛ гэдгийг мэддэг тул бид өмнө байгаа зайг тодорхойлж чадна. буцаж ирэхийн тулд бид дээрх томъёогоор зайг тодорхойлж болно, өөрөөр хэлбэл 340 × 2 = 680 м. Ийм байдлаар робот мэдрэгчээр дамжин өнгөрөх зайг хэмжиж чадна. Хэрэв өмнө нь байгаа тунгалаг орон зай нь 30 см хүрэхгүй байгааг мэдэрч байвал тэр хөдлөхөө болино. Дараа нь баруун, зүүн тийш харж, тал бүрийн зайг харьцуулна. Хэрэв зүүн тал нь илүү хол байвал робот зүүн тийш эргэдэг. Хэрэв баруун тал нь том байвал робот баруун тийш эргэдэг. Хэрэв хоёр тал тэнцүү зайтай бол робот буцаж эргэдэг. Энэхүү энгийн механизм нь роботод саад бэрхшээлээс зайлсхийхэд тусалдаг.

Алхам 8: Явах эд анги угсрах

Явах эд анги угсрах
Явах эд анги угсрах
Явах эд анги угсрах
Явах эд анги угсрах
Явах эд анги угсрах
Явах эд анги угсрах
Явах эд анги угсрах
Явах эд анги угсрах

Явах эд ангиудыг өөрийн гараар хийхдээ хэмжилт, тохируулгыг маш болгоомжтой хийх ёстой. Цахилгаан хангамжийн зориулалттай ерөнхий унтраалгын хайрцгийг явах эд анги болгон ашиглаж байна. Та цахилгаан хэрэгслийн дэлгүүрээс хялбархан худалдаж авах боломжтой гэж бодож байна. Нэгдүгээрт, дөрвөн хөдөлгүүрийг доод хэсэгт нь цавуу эсвэл хавчаараар холбож, дараа нь дугуйг бэхлээрэй. Дараа нь та роботын толгойг хийх ёстой (servo ба HC SR04 мэдрэгч) Толгойн хувьд жижиг самбарыг хайчилж, боолтоор servo дээр бэхлээрэй. Дараа нь хэт авианы мэдрэгчийг цавуугаар бэхэлсэн самбар дээр хавсаргана уу. Хайрцагны дээд хэсэгт жижиг дөрвөлжин нүх хайчилж, дотор нь байгаа servo -ийг засаарай. Дараа нь роботын арын хэсэгт байрлах батерейны бэхэлгээг шургаар бэхлээрэй. Хэлхээ болон бусад эд ангиудыг хайрцгийн дотор оруулаад явах эд анги бэлэн болно. Дуу гарч, илүү чанартай болохын тулд чанга яригчийн өмнө нүх гаргахаа бүү мартаарай.

Алхам 9: Дуу хоолойны модулийг бэлтгэх

Дуут модулийг бэлтгэж байна
Дуут модулийг бэлтгэж байна
Дуут модулийг бэлтгэж байна
Дуут модулийг бэлтгэж байна
Дуут модулийг бэлтгэж байна
Дуут модулийг бэлтгэж байна

Роботын ярих горимыг WTV 020 SD модуль гүйцэтгэдэг. Энэхүү модулийг роботын дуут файлуудыг тоглуулахад ашигладаг. Ямар нэгэн асуулт асуухад arduino нь модулийг SD карт дээрх дуут файлыг тоглуулах болно. Модуль дээр arduino, дахин тохируулах, цаг, өгөгдөл, завгүй зүүтэй холбогдох дөрвөн цуваа өгөгдлийн шугам байдаг бөгөөд файлуудын нэр аравтын бутархайгаар (0001, 0002…) байх ёстой гэдгийг санаарай. Файлууд нь AD4 эсвэл WAV форматтай байх ёстой. Цаашилбал, модуль нь зөвхөн 1gb micro SD карт дээр ажилладаг. Зарим модуль нь 2gb карт дээр ажилладаг бөгөөд карт нь хамгийн ихдээ 504 дуут файлыг багтаах боломжтой. Тиймээс та олон тооны асуултуудад тоглуулах олон тооны дуут файлуудыг оруулж болно. Та өөрийн дуу хоолой AD4 файлыг өөрөө хийж болно (хэрэв та энэ өгөгдөлгүй хамт өгсөн дуут файлуудыг тохируулж чадвал энэ хэсгийг алгасаж болно)., та хоёр програм хангамжтай байх ёстой, дууны засварлах програм хангамж, 4D SOMO TOOL нэртэй програмууд нь файлуудыг AD4 формат руу хөрвүүлэх болно. Хоёрдугаарт, та роботын дуу хоолойг бэлтгэх хэрэгтэй. Та текстийг ярианд хөрвүүлэх эсвэл бүр өөрийн дуу хоолойг бичиж, роботын дуу хоолойг гаргах боломжтой. Эдгээрийг хоёуланг нь Дуу засварлах програм хангамж дээр хийж болно. Гэхдээ робот хүний дуугаар ярьдаг бол тийм ч сайхан харагдахгүй нь лавтай. Тиймээс текстийг ярианд хөрвүүлэх нь дээр байх. Дуут файлуудыг бэлтгэсний дараа та үүнийг 32000 Гц болон WAV форматаар хадгалах хэрэгтэй болно. Учир нь модуль нь 32000 Гц хүртэл дуут файлуудыг тоглуулж чаддаг. Дараа нь 4D SOMO TOOL ашиглан файлуудыг AD4 формат руу хөрвүүлнэ. Үүнийг хийхийн тулд SOMO TOOL -ийг нээгээд файлуудыг сонгоод AD4 Encode дээр дарахад таны дуут файлууд бэлэн болно. Та роботын дуу хоолой гаргах талаар илүү дэлгэрэнгүй мэдээлэл авахыг хүсвэл энд дарж үзнэ үү.

[Робот дуу хоолой гаргах] Энд анхны дуут файлууд болон програм хангамж байна.

Алхам 10: Холболт хийх

Холболт хийх
Холболт хийх
Холболт хийх
Холболт хийх
Холболт хийх
Холболт хийх

Холбогдох модулиудын бүх Vcc зүүг богиносгож, arduino дээрх 5v зүү рүү холбоно уу. Gnd тээглүүртэй ижил зүйлийг хий. Энд өөр өөр модулиудын холболтууд байна. HC 05 модуль: arduino ухах зүү рүү RX зүү 0. TX зүү arduino ухах зүү 1. HC SR04 мэдрэгч: цуурай зүү ардуино ухах зүү 6. Ардуино ухах зүү 7WTV020-SD модуль: pin1 (зүү дахин тохируулах) arduino dig pin2.pin4 чанга яригч +pin5 чанга яригч -pin7 (цаг) arduino dig pin3.pin8 to gnd.pin10 (өгөгдөл) arduino dig pin4.pin15 (завгүй).pin16 -аас 3.3v Дараа нь servo дохио (шар) утсыг холбож, 12. L293d моторын хянагчийг ухах: A1 зүү, arduino ухах зүү 8. pin A2, arduino ухах зүү 9. pin B1, arduino ухах зүү 10. зүү B2 to arduino dig pin 11. Энэ роботод бид хоёр L293d модулийг ашиглаж байгааг санаарай. Учир нь нэг модуль нь хоёр хөдөлгүүрийг тэжээх хүчин чадалтай. Дөрвөн моторыг хянахын тулд бид хоёр мотор жолооч ашиглаж байна. Тиймээс мотор хянагчийн хоёр модуль дээр давхардсан холболт хийхээ мартуузай. Жишээлбэл, Arduino pin 8 -ийг драйвер модулийн A1 зүү рүү холбоно уу. Нэг модулийн гаралтыг хоёр мотор дээр, нөгөө модулийг нөгөө хоёр хөдөлгүүрт холбохоо бүү мартаарай.

Алхам 11: Arduino код

Arduino код
Arduino код
Arduino код
Arduino код

Кодыг гаргахад сэтгэл хөдөлгөм цаг байсан. Энэ нь тийм ч төвөгтэй код биш бөгөөд зөвхөн Android болон дууны модультай холбогдохын тулд зарим номын санг ашигладаг. Ажлын ихэнх хэсгийг Arduino дээр биш Android дээр хийдэг. Код нь Bluetooth холболт болон Bluetooth -ээс ирж буй өгөгдөл дээр үндэслэсэн болно. Код нь янз бүрийн горимыг ажиллуулахын тулд роботод дуут команд өгөх ёстой бөгөөд Arduino нь ирж буй Bluetooth дохиог байнга шалгаж байдаг. Аливаа горимыг зогсоохын тулд бид "зогсоох" гэж хэлэх хэрэгтэй. Кодын цорын ганц асуудал бол саад тотгороос зайлсхийх горимд байх үед бид роботыг гараар унтраах ёстой. Бид энэ горимд "зогсоох" командыг ашиглах боломжгүй. Учир нь энэ онцлогийг асаах нь обьектуудын зайг сканнердах хурдад нөлөөлдөг. Arduino нь объектын зай болон ирж буй Bluetooth дохиог нэгэн зэрэг унших шаардлагатай болно. Энэ нь горимд саад учруулж, робот саад бэрхшээлээс өөрийгөө бүрэн хамгаалж чадахгүй байна. 30 см -ээс бага зайтай байсан ч робот тэр даруй зогсохгүй байж магадгүй юм. Энэ горимыг энэ горимд оруулахгүй байх нь дээр. Зөвхөн номын сан болон кодыг татаж аваад Arduino -д байршуулаарай. Гэхдээ байршуулахаасаа өмнө Arduino -аас TX ба RX (0, 1) тээглүүрийг гаргаж авахаа бүү мартаарай. Эдгээр тээглүүрийг цуваа холболтод ашигладаг бөгөөд кодыг байршуулах явцад ашигладаг. Мөн энэ роботод эдгээр зүүг Bluetooth модулийг холбоход ашигладаг. Тиймээс тэдгээрийг тайлахаа мартуузай, энэ нь таны Bluetooth модульд саад учруулж болзошгүй юм. Энд код болон сангууд байна.

Алхам 12: Асуудлыг цэгцлэх, сайжруулалт хийх

Асуудлыг ангилах, сайжруулалт хийх
Асуудлыг ангилах, сайжруулалт хийх

Энэ алхамыг алгасаж болно, учир нь энэ нь зөвхөн роботыг сайжруулахтай холбоотой бөгөөд санах ойн картны багтаамжийн талаар WTV-020-SD-16p модульд олон асуудал гардаг. Учир нь зарим модуль нь 2 ГБ хэмжээтэй карт дээр ажилладаг бол зарим нь ажилладаггүй. Тиймээс 1 ГБ хэмжээтэй micro SD карт ашиглах нь илүү дээр юм. Wtv 020 sd модулийн өөр өөр хувилбаруудын талаар дурдаж болно. Учир нь модулийн хооронд зөвхөн баглаа боодлын ялгаа байдаг, бусад ихэнх дотоод зүйлүүд хэвээр байгаа бөгөөд өөр нэг чухал зүйл бол роботод ПХБ ашиглах нь одоогийн хэрэглээг ихээхэн хэмжээгээр бууруулахад туслах болно. Хэрэв та надтай адил өөр өөр бүрэлдэхүүн хэсгүүдийг холбож байгаа бол энэ нь бага хэмжээний гүйдэл зарцуулах болно, учир нь маш их хэмжээний эсэргүүцэл нь утаснуудад алдагдах болно. Энэ нь хэлхээ нь хангалттай том хэмжээтэй байгаатай холбоотой юм. Энэхүү үл ойлгогдох зүйл нь ПХБ -ийн дизайныг оруулаагүй болно (учир нь би үүнийг хийгээгүй), гэхдээ энэ нь роботын эрчим хүчний үр ашгийг нэмэгдүүлэх боломжтой боловч BLUE ROVIER 316 хараахан дуусаагүй байна! Би мөрүүдийг дагах, лабиринт шийдэх гэх мэт бусад олон онцлог шинж чанаруудыг оруулахыг бодсон. Гэхдээ энэ нь Arduino UNO -д зүү байхгүй тул мөрөөдөл хэвээр үлджээ (BLUE ROVIER үнэхээр Arduino -ийн олон зүүг иддэг). Тиймээс би энэ роботын бүх онцлог шинж чанарыг сайжруулж, тэдгээрийг нэгтгэн илүү боловсронгуй, хэрэгцээтэй Arduino роботыг бий болгох талаар бодож байна. Тиймээс хэдэн сарын дараа ROVIER -ийн өөрчлөгдсөн үзэл бодлыг харахад бэлэн байгаарай !!! Надаас илүү бүтээлч чадвартай бусад хүмүүсийн роботын өөрчилсөн хувилбарыг харахыг хүсч байна.

Алхам 13: Роботтой тоглох

Роботтой тоглох
Роботтой тоглох

Роботыг асаагаад тантай хэрхэн мэндчилж, чамтай тоглож байгааг хараарай. Ямар ч асуулт асуу (тэнэг биш!), Хариултыг нь үзээрэй. Та мөрүүдийг дагах эсвэл үргэлжлүүлэхийг хэлж болно. Роботыг зогсоохыг хүссэн үедээ зүгээр л "зогс" гэж хэлээрэй.

Роботын тэмцээн 2017
Роботын тэмцээн 2017
Роботын тэмцээн 2017
Роботын тэмцээн 2017

2017 оны роботын тэмцээнд дэд байр эзэлсэн

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