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

Роботоос зайлсхийх сэтгэл хөдлөлийн саад тотгор: 11 алхам
Роботоос зайлсхийх сэтгэл хөдлөлийн саад тотгор: 11 алхам

Видео: Роботоос зайлсхийх сэтгэл хөдлөлийн саад тотгор: 11 алхам

Видео: Роботоос зайлсхийх сэтгэл хөдлөлийн саад тотгор: 11 алхам
Видео: 10 подсознательных форм поведения, из-за которых люди вас игнорируют❗❓ #психология #поведение 2024, Арваннэгдүгээр
Anonim
Роботоос зайлсхийх сэтгэл хөдлөлийн саад тотгор
Роботоос зайлсхийх сэтгэл хөдлөлийн саад тотгор

Сэтгэл хөдлөлийн робот. Энэхүү робот нь уйтгар гуниг, аз жаргал, уур хилэн, айдас гэх мэт неопикселүүд (RGB LED) бүхий сэтгэл хөдлөлийг харуулдаг бөгөөд тодорхой сэтгэл хөдлөлийнхөө явцад саад бэрхшээлээс зайлсхийж, тодорхой хөдөлгөөн хийх боломжтой. Энэхүү роботын тархи нь Arduino мега юм. Энэ бол миний бүтээсэн анхны програмчлагдсан робот бөгөөд энэ нь намайг програмчлалд дурлуулахад хүргэсэн гэдгийг санаарай, код өөрөө маш анхдагч бөгөөд хялбаршуулсан байж магадгүй юм.

Алхам 1: Хэсэг

ХЭСЭГ
ХЭСЭГ

-3.2 фут неопиксел зурвас

-HC-SR04 хэт авианы мэдрэгч (эсвэл бусад хэт авианы мэдрэгч)

-эргүүлэх

-3 3.7v лити -ион батерей (18650)

-хөрвүүлэгчийг нэмэгдүүлэх (цахилгаан алхамаар тайлбарласан болно)

-гэрэл эсэргүүцэл (ямар ч утга)

-аналог дууны мэдрэгч

-2 вольтын тогтмол гүйдлийн хөдөлгүүр 6в

-l293d (мотор жолооч)

-хуванцар хуудас

-картон

-цутгамал дугуй

Алхам 2: Неопиксел

Неопиксел
Неопиксел
Неопиксел
Неопиксел

Би хэрхэн төсөв багатай байснаас шалтгаалан роботуудынхоо сэтгэл хөдлөлийг амьдруулах хамгийн хялбар бөгөөд хамгийн хямд арга бол неопикселүүд бөгөөд тэдэнд 3 оролт, гаралт байхад л хангалттай. оролт дээрх гурван зүү нь 5v, DIN (өгөгдөл) ба GND (газар) гэж хаяглагдсан; гаралтыг оролттой адил гэж тэмдэглэсэн боловч түүний DO дахь өгөгдлийн оронд (өгөгдөл гарах). Эдгээр LED -ийг холбох арга нь тэдгээрийг хооронд нь зэрэгцүүлэн холбох явдал юм, ингэснээр 5v нь нөгөө LED дээр 5v -тэй холбогдож, GND нь нөгөө LED GND -тэй холбогддог бол эхний LED -ийн DO нь хоёр дахь LED -ийн DIN -тэй холбогддог. Энэ процесс нь хүссэн туузны уртыг хүрэх хүртэл үргэлжилнэ. Неопикселийн бүх зурвас нь оролтоос зөвхөн нэг дижитал гаралтын зүү шаарддаг бөгөөд энэ нь DO ба DIN урт гинжээр холбогдсон байдаг тул бүгд хоорондоо мэдээлэл хуваалцдаг. Тодорхой цаг үед бид тодорхой LED -ийг асаах, унтраах шаардлагатай байдаг тул энэ нь зайлшгүй шаардлагатай юм. NEOPIXEL HELP нь энэ талаар туслах болно

Алхам 3: Схем

Схем
Схем

Ихэнх роботыг зөвхөн програмчлагдсан байдаг тул мотор нь l293d хөдөлгүүртэй 7v -ийн ойролцоо ажилладаг тул хөдөлгүүрийг арагш нь урагшлуулахын тулд удирддаг. Бусад холболтууд нь Arduino -тэй мэдрэгч юм. Тэгээд л боллоо!

Алхам 4: Код

Миний хийсэн хамгийн эхний зүйл бол кодчилолыг хялбарчлахын тулд шаардлагатай номын санг татаж авах явдал байсан бөгөөд миний ашигладаг номын сан бол "FastLED.h" ба "NewPing.h" юм. Хурдан удирдлага нь leds -д зориулагдсан бөгөөд шинэ пинг нь хэт авианы мэдрэгчүүдэд зориулагдсан болно. Дараагийн хийсэн зүйл бол миний ашигласан тээглүүрийн бүх тодорхойлолтыг хийсэн бөгөөд үүний дараа хүчин төгөлдөр бус тохиргоог хийсний дараа би энд зүү горимууд болон "FastLED.addLeds (leds, NUM_LEDS)" неострипийг тохируулсан болно. Би NUM_LEDS -ийг 56 гэж тодорхойлсон, учир нь би 56 гэрлийг ашигладаг байсан тул leds -ийн тохиргоог нүүрний алхам дээр тайлбарлах болно. Дараа нь би роботыгоо урагш хойш нь хөдөлгөж, тодорхой сэтгэл хөдлөлийг бий болгох олон функцийг бий болгосон бөгөөд үүний дараа би хоосон хүрдэнд орж, бүх функцуудаа хүссэн дарааллаар нь дуудах болно. Хэрэв би роботыг инээмсэглэхийг хүсч байсан бол инээмсэглэх болно ();. Хэрэв би тодорхой удирдамжийг асаахыг хүсч байвал би тавих болно, leds [45] = CRGB:: Green;, энэ нь 45 -ыг ногоон болгох болно. Би өнгийг хар өнгөтэй болгоход энэ нь зүгээр л унтраасан гэсэн үг юм. Энэ бол миний анхны програмуудын нэг тул төгс биш байсан ч ажилласан хэвээр байгаа гэдгийг санаарай.

КОД

Алхам 5: Нүүр царай

Нүүр царай
Нүүр царай

Нүүрний хувьд би 56 лед ашигладаг бөгөөд энэ нь бараг бүрэн 3.2 футын неопиксел тууз юм. Би туузыг 8 гэрлээс бүрдсэн 7 тууз болгон хувааж, эхний 3 туузыг нүдэнд, сүүлчийн 4 ширхэгийг аманд хэрэглэв. Би зурвасуудыг могой хэлбэрээр холбосон бөгөөд та диаграмыг илүү сайн ойлгох болно гэж найдаж байна. Нүүрээ дуусгаад би туузны дээгүүр нимгэн хуванцар хуудас (2мм орчим зузаан) тавив.

Алхам 6: Аз жаргалтай функц

Аз жаргалтай функц
Аз жаргалтай функц

Энэ функц нь ямар ч мэдрэгч ашигладаггүй тул хамгийн хялбар нь юм. Харин та ботийг асаасны дараа шууд л инээмсэглэнэ. Гэхдээ энэ нь зөвхөн инээмсэглээд зогсохгүй; инээмсэглэх үед энэ нь зайлсхийх горимд саад учруулдаг. Саад бэрхшээлээс зайлсхийх горимыг функц нь тэнүүчлэх байдлаар миний кодод тусгасан болно. Саад болохоос зайлсхийх горим эсвэл тэнүүчлэл нь роботын талд байрлах хэт авианы хоёр мэдрэгчийг ашиглан ажилладаг бөгөөд мэдрэгч нь объект руу хамгийн ойр байгаа мэдрэгчээс хамааран 30 см -ийн зайд нөөцлөх ба баруун эсвэл зүүн тийш явдаг.

Алхам 7: Уйтгартай функц

Уйтгартай функц
Уйтгартай функц
Уйтгартай функц
Уйтгартай функц

Роботыг гунигтай байлгахын тулд би энэ роботын зан чанарын талаар бодох ёстой байсан тул харанхуй орчинд байхдаа түүнийг гуниглуулахаар шийдлээ. Үүнийг хийхийн тулд гэрэл мэдрэгч гэрэл эсэргүүцэгч ашигласан. Харанхуй орчин нь эсэргүүцэл өндөр, хөнгөн орчин нь эсэргүүцэл багатай байдаг. Энэ хэлхээ нь хүчдэл хуваагч байдлаар ажилладаг бөгөөд энэ нь +5v ба GND -д цувралаар холбогдсон хоёр резистор бүхий хэлхээ бөгөөд эсэргүүцлийн холболтын дунд цэг дээр энэ тэгшитгэлээр тодорхойлогдох хүчдэл байдаг: оролтын хүчдэл*(R2/R1 +R2)). Arduino аналог зүү энэ утгыг уншихад хүчдэлийг 0 -ээс 1023 хооронд хэлбэлзүүлдэг.

Алхам 8: Уурлах функц

Уурлах функц
Уурлах функц
Уурлах функц
Уурлах функц

Роботыг уурлуулахын тулд би түүнийг эргүүлж/тогшуулахаар шийдсэн. Энэ нь хазайлтын унтраалга ашиглан ажилладаг бөгөөд хазайлт нь үндсэндээ ердийн унтраалга боловч товчлуур эсвэл рокертой байхын оронд танд мөнгөн усны бөмбөг байдаг бөгөөд хэрэв та тодорхой өнцгөөр хазайсан бол хоёр контактийг холбож асаах болно; эндээс авсан утга нь 0 эсвэл 1, унтраах нь 0, асаалттай бол 1 байна. Робот уурласан үедээ саад бэрхшээлээс зайлсхийх горимыг үл тоомсорлож, уур хилэнгээс болж урагшаа харж буй бүх зүйлийг хуцдаг.

Алхам 9: Айсан функц

Айсан функц
Айсан функц
Айсан функц
Айсан функц

Роботын эцсийн функц бол айх функц бөгөөд роботын яг дээд талд байрлах дууны мэдрэгчийг ашигладаг. Ачаалах чимээ сонсогдох тусам робот хойшоо явахдаа айж, чичрэх болно. Дууны мэдрэгч нь микрофон болох конденсатор микрофон ашиглан ажилладаг бөгөөд энэ нь дуу чимээ, чичиргээг мэдрэх үед ихэвчлэн 100 мВ орчим жижиг хүчдэл үүсгэдэг бөгөөд дараа нь хүчдэлийг нэмэгдүүлж Arduino -ийн аналог зүүгээр унших тусам хүчдэл өндөр болно. эсвэл чанга дуу нь аналог утга өндөр байх ба эсрэгээрээ.

Алхам 10: Эрчим хүч

Эрчим хүч
Эрчим хүч
Эрчим хүч
Эрчим хүч

Одоо та үүнийг тэжээхэд хэрэгтэй бүх зүйлийг бүтээсэн тул би үүнийг 8 АА батерейгаар тэжээх гэж оролдсон боловч хэтэрхий том, практик биш байсан. Би дараа нь 3.5 литрийн багтаамжтай 3 лити -ион батерей ашигласан, би нэг батерейг хүчдэлийн өргөгч болгон хувиргагчтай холбосон бөгөөд энэ нь 3.5 в -оос 5 ватт хүртэл хүчирхэгжүүлж Arduino -г асаахад би хоёр зайг ашиглаж шууд холбосон. Энэ нь мотор болон LED -ийн хувьд энэ нь тийм ч сайн санаа биш юм, учир нь хүчдэл зохицуулагдаагүй, гэхдээ надад хүчдэлийн зохицуулагч байхгүй, хэрвээ та үүнийг туршиж үзээд 5 вольтоос илүү хүчдэлийн зохицуулагч ашиглахыг зөвлөж байна. ойролцоогоор 2-3 ампер байхад үүний нэг жишээ бол LM78S05 юм. Эсвэл та LM7805 -ийг ашиглан Arduino -г тэжээж, хүчдэлийг бууруулж, LED болон моторыг асаахын тулд доошоо хөрвүүлэгч эсвэл бух хувиргагч авч болно.

Алхам 11: Хөгжилтэй байгаарай !

Та энэ роботыг бүтээж, цагийг хөгжилтэй өнгөрөөе гэж найдаж байна, мөн та энэ роботыг өөрийн гараар эргүүлж, түүнийг амьд үлдээхийн тулд өөрийн сэтгэл хөдлөлийг бий болгоно гэж найдаж байна !!!

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