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

Bluetooth, камер, MIT програм зохион бүтээгчтэй робот машин 2: 12 алхам (зурагтай)
Bluetooth, камер, MIT програм зохион бүтээгчтэй робот машин 2: 12 алхам (зурагтай)

Видео: Bluetooth, камер, MIT програм зохион бүтээгчтэй робот машин 2: 12 алхам (зурагтай)

Видео: Bluetooth, камер, MIT програм зохион бүтээгчтэй робот машин 2: 12 алхам (зурагтай)
Видео: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Арваннэгдүгээр
Anonim
Image
Image
Эд анги ба програм хангамж
Эд анги ба програм хангамж

Та хэзээ нэгэн цагт өөрийн гэсэн робот машин бүтээхийг хүсч байсан уу? За … энэ бол таны боломж !!

Энэхүү гарын авлагад би Bluetooth болон MIT App Inventor2 -ээр удирддаг робот машиныг хэрхэн яаж хийхийг танд хэлэх болно. Би дөнгөж шинээр ирсэн хүн гэдгийг мэдэж аваарай, энэ бол миний анхны зааварчилгаа тул сэтгэгдлээ зөөлөн хэлээрэй.

Маш олон зааварчилгаа байдаг боловч би камерын урсгал, саад бэрхшээлээс зайлсхийх, хэт авианы хүрээ мэдрэгч, Ларсон сканнер (charlieplexing), батерейны хяналт гэх мэт олон функцийг Android програм дээр нэгтгэхийг хичээсэн.

Тиймээс эхэлж, Фрэнкитэй танилцъя (энэ нь олон газраас ирсэн санаануудыг ашигладаг ….hence Robo Frankenstein)

Алхам 1: эд анги ба програм хангамж

Эд анги ба програм хангамж
Эд анги ба програм хангамж
Эд анги ба програм хангамж
Эд анги ба програм хангамж

Энд, миний төрсөн хотод бүх эд ангиудыг авахад хэцүү байдаг тул ихэнхийг нь www.aliexpress.com дээрээс авах боломжтой болсон.

Миний тооцоолж буйгаар энэ төслийг хуучин гар утсаа тооцолгүйгээр 25-30 доллараар барих боломжтой.

  • Машины явах эд анги: 3 дугуй, 2 мотор 6V (9 доллар)
  • Arduino Nano (2 доллар)
  • Bluetooth HC-05 (3-4 доллар)
  • L293D мотор жолооч, дугуй мотор жолоодох (5 ширхэг багцад 1.50 доллар)
  • Камер, Wi-Fi бүхий хуучин үүрэн утас
  • Хэт авианы мэдрэгч HC-SR04 нь ойролцоох объектыг хэмжих зориулалттай (1 доллар)
  • Ларсон сканнерт зориулсан 6 LED
  • Larson сканнерын ATtiny85 (1 доллар)
  • Талхны самбар (1 доллар)
  • Утас
  • 100K Ом эсэргүүцэл (4)
  • 1K Ом эсэргүүцэл (2)
  • 2K Ом эсэргүүцэл (1)
  • 270 Ом эсэргүүцэл (3)
  • Дуу чимээ

Програм хангамж:

  • Arduino IDE
  • IP вэб камер (хуучин үүрэн телефоны Андройдод зориулсан)
  • MIT App Inventor2: Энэхүү програм нь маш сайн боловч зөвхөн Android үйлдлийн систем дээр ажилладаг (Iphone байхгүй … уучлаарай!)

Алхам 2: Барилгын явц

Барилгын явц
Барилгын явц
Барилгын явц
Барилгын явц
Барилгын явц
Барилгын явц
Барилгын явц
Барилгын явц

Машины явах эд анги угсрахад маш хялбар байдаг; Энэ нь арын дугуйг ажиллуулах 6V хөдөлгүүртэй, 4 батерейны багцтай.

Робот машиныг Bluetooth болон Wi-Fi-ээр удирддаг. Bluetooth нь Машин ба MIT програм зохион бүтээгчийн хоорондох цуваа холболтыг хянадаг2 ба Wi-Fi нь машины урд суурилуулсан камертай (хуучин гар утас) холбогдоход хэрэглэгддэг.

Энэ төслийн хувьд би хоёр багц батерей ашигласан: arduino нь 9В батерейгаар, машины мотор 6В (1.5V АА дөрвөн батерей) тэжээгддэг.

Arduino Nano бол автомашин, дуугаралт, хэт авианы мэдрэгч HC-SR04, Bluetooth HC-05, Ларсон сканнер (ATtiny85) -ийг хянаж, батерейг хянадаг энэхүү төслийн тархи юм. 9V батерей нь Вин (30 -р зүү) руу явдаг бөгөөд 27 -р зүү нь 5В -ийн зохицуулалттай тэжээлийг самбар дээр өгдөг. Бүх IC болон батерейны бүх үндэслэлийг уях хэрэгтэй.

Хавсаргасан схемийг Excel дээр хийсэн (Уучлаарай … Би талх, эрэгтэй ашиглан бүх зүйлийг эрэгтэй утсан холбогчтой холбосон, минийх оготны үүр шиг харагдаж байна.

Алхам 3: L293D мотор драйвер

L293D мотор драйвер
L293D мотор драйвер
L293D мотор драйвер
L293D мотор драйвер

L293D бол 4.5В-аас 36В хүртэлх хүчдэл бүхий 600 мА хүртэл хоёр чиглэлтэй хөтөч гүйдлийг хангах зориулалттай дөрвөн дахин өндөр гүйдэлтэй хагас H драйвер юм. Энэ нь машины дугуйг жолоодоход хэрэглэгддэг.

Энэ нь моторын 6V батерейны багц (дөрвөн 1.5V AA) -ээр тэжээгддэг бөгөөд Arduino Nano -ийн зохицуулалттай 5V (зүү 27) логикийн хувьд 5V ашигладаг. Холболтыг хавсаргасан схемд харуулав.

Дулаан шингээгч дээр суулгах шаардлагагүй байсан.

Алхам 4: HC-05 Bluetooth

HC-05 Bluetooth
HC-05 Bluetooth

HC-05 Bluetooth нь 5V (arduino pin 27) -ээр тэжээгддэг боловч логик түвшин нь 3.3V, өөрөөр хэлбэл 3.3V-тэй харилцаа холбоо (Tx ба Rx) гэдгийг ойлгох нь чухал юм. Ийм учраас Rx -ийг хамгийн их 3.3V -ээр тохируулах шаардлагатай бөгөөд энэ нь түвшний шилжүүлэгч хөрвүүлэгч эсвэл энэ тохиолдолд хэлхээнд үзүүлсэн шиг 1K ба 2K резистор ашиглан хүчдэл хуваагч ашиглан хийгддэг.

Алхам 5: Батерейны монитор

Батерейны түвшинг хянахын тулд хүчдэлийн түвшинг 5 В -оос доогуур байлгахын тулд хүчдэл хуваагч суурилуулсан (Arduino -ийн хамгийн дээд хязгаар). Хүчдэл хуваагч нь хэмжиж буй хүчдэлийг Arduino аналог оролтын хүрээнд бууруулдаг.

А4 ба А6 аналог оролтыг ашигладаг бөгөөд хэмжих явцад батерейг хэт их цэнэггүй болгохын тулд өндөр эсэргүүцэл (100K ом) ашигладаг. Хэрэв эсэргүүцэл нь хэт бага (10K ом), ачааллын нөлөө багатай, хүчдэлийн уншилт нь илүү нарийвчлалтай боловч гүйдлийн зураг илүү их байвал бид буулт хийх хэрэгтэй. хэрэв тэдгээр нь хэт өндөр байвал (1М ом), ачаалах нөлөө их, хүчдэлийн уншилт нь нарийвчлал багатай боловч гүйдлийн зураг бага байдаг.

Батерейны хяналтыг 10 секунд тутамд хийж, хянагчийн гар утсан дээр шууд харуулдаг.

Би хоёр аналог тээглүүрээс уншиж, дотоод MUX -ийг хооронд нь сольж байгаа тул энэ хэсэгт сайжруулах олон зүйл байгаа гэдэгт би итгэлтэй байна. Би олон хэмжилтийг дунджаар хийдэггүй, магадгүй би үүнийг хийх ёстой байсан байх.

Дараах томъёог тайлбарлаж өгье.

// А4 аналог пинээс хүчдэлийг уншиж, Arduino -ийн шалгалт тохируулгыг хийнэ үү.

хүчдэл1 = (analogRead (A4)*5.0/1024.0)*2.0; //8.0V

Arduino нано самбар нь дижитал хөрвүүлэгч 10 битийн 8 сувагтай. AnalogRead () функц нь зүү дээр хэрэглэж буй хүчдэлийн хэмжээтэй пропорциональ 0 -ээс 1023 хүртэлх тоог буцаана. Энэ нь нэг нэгжид 5 вольт / 1024 нэгж эсвэл.0049 вольт (4.9 мВ) унших хоорондох нарийвчлалыг өгдөг.

Хүчдэл хуваагч нь хүчдэлийг хоёр дахин бууруулж, жинхэнэ хүчдэлийг авахын тулд 2 -оор үржүүлэх шаардлагатай болно !!

ЧУХАЛ: Ардуиног ажиллуулахаас илүү үр ашигтай арга байдаг гэдэгт би итгэлтэй байна !! Шинэхэн сурагчийн хувьд би хэцүү замыг сурсан. Arduino Vin зүү нь хүчдэлийн шугаман зохицуулагчийг ашигладаг бөгөөд энэ нь 9В батерейны тусламжтайгаар та шугаман зохицуулагчийн хүчийг их хэмжээгээр шатаах болно гэсэн үг юм. Сайн биш. Би үүнийг хурдан хийсэн, учир нь би сайн мэдэхгүй байсан болохоор ингэж хийсэн … гэхдээ Robo Frankie 2.0 хувилбар дээр би үүнийг өөрөөр хийх болно гэдэгт итгэлтэй байгаарай.

Тогтмол гүйдлийн тогтмол гүйдлийн цахилгаан хангамж, ли-ион цэнэглэдэг батерей нь илүү сайн арга байж магадгүй гэж би бодож байна. Таны эелдэг санал хүлээж авахаас илүү таалагдах болно …

Алхам 6: HC-SR04 хэт авианы хүрээ мэдрэгч

HC-SR04 хэт авианы хүрээ мэдрэгч
HC-SR04 хэт авианы хүрээ мэдрэгч

HC-SR04 бол хэт авианы хүрээ мэдрэгч юм. Энэхүү мэдрэгч нь 2см -ээс 400см хүртэлх хэмжилтийг 3мм хүртэл нарийвчлалтай гүйцэтгэдэг. Энэхүү төсөлд 20см ба түүнээс доош хүрэх үед саад бэрхшээлээс зайлсхийх, гар утсандаа буцааж илгээдэг аливаа объект хүртэлх зайг хэмжихэд ашигладаг.

Ойролцоох объект руу зай авахын тулд гар утасны дэлгэцэн дээр товчлуур дарах шаардлагатай.

Алхам 7: Ларсон сканнер

Ларсон сканнер
Ларсон сканнер
Ларсон сканнер
Ларсон сканнер
Ларсон сканнер
Ларсон сканнер

Би хөгжилтэй зүйл оруулахыг хүссэн тул K. I. T. T -тэй төстэй Ларсон скан хийгчийг оруулсан. Knight Rider -аас.

Ларсон сканнерын хувьд би charlieplexing бүхий ATtiny85 -ийг ашигласан. Charlieplexing бол олон тооны LED жолоодохын тулд микроконтроллер дээрх харьцангуй цөөн оролтын/оролтыг ашигладаг олон талт дэлгэцийг жолоодох арга юм. Энэхүү арга нь уламжлалт мультиплексээс илүү үр ашигтай байхын тулд микроконтроллеруудын гурван төлөвт логик чадварыг ашигладаг.

Энэ тохиолдолд би ATtiny85 -аас 3 зүү ашиглаж 6 LED асаах болно !!

Та "X" LED -ийг N тээглүүрээр асааж болно. Дараах томъёог ашиглан хичнээн LED жолоодож болохыг олж мэдээрэй.

N тээглүүртэй X = N (N-1) LED:

3 зүү: 6 LED;

4 зүү: 12 LED;

5 зүү: 20 LED … санааг олж авна;-)

Одоогийн урсгал эерэг (анод) -аас сөрөг (катод) руу урсаж байна. Сумны үзүүр нь катод юм.

1 -р зүү (Arduino IDE кодоор) нь ATtiny85 дахь 6 -р физик зүүг хэлнэ гэдгийг анхаарах нь чухал юм (хавсаргасан pinout -ийг үзнэ үү).

Ларсон скан хийгчийг хянадаг ATtiny85 -д байршуулах шаардлагатай кодыг олно уу. ATtiny85 дээр кодыг хэрхэн оруулахыг би тайлбарлаагүй байгаа тул иймэрхүү зааварчилгаа маш их байдаг.

Алхам 8: Код

Код
Код

Би Ларсон скан хийгчийг хянадаг ATtiny85 -д байршуулах шаардлагатай код болон Arduino nano -ийн кодыг хавсаргаж байна.

Arduino наногийн хувьд би бусад зааварчилгааны кодуудын нэг хэсгийг (эндээс) ашиглаж, өөрийн хэрэгцээнд нийцүүлэн өөрчлөлт оруулсан. Switch - Case хэрхэн ажилладагийг илүү сайн ойлгохын тулд би кодын урсгалын диаграмыг (мөн илүү тод дүрслэлээр) оруулсан болно.

Чухал: CarBluetooth кодыг Arduino нано руу оруулахын тулд та HC-05 Bluetooth модулийн Rx ба Tx-ийг салгах хэрэгтэй!

Алхам 9: Камер

Камер
Камер
Камер
Камер

IP вэбкамерын програмыг тоглоомын дэлгүүрээс татаж аваад хуучин гар утсандаа суулгах шаардлагатай. Видео тохиргоог шалгаж, нарийвчлалыг тохируулж, эцэст нь дамжуулалтыг эхлүүлэхийн тулд "Серверийг эхлүүлэх" гэсэн сүүлчийн тушаал руу очно уу. Гар утсан дээрээ Wi-Fi асаахаа бүү мартаарай.

Алхам 10: MIT App Inventor2

MIT програм зохион бүтээгч2
MIT програм зохион бүтээгч2

MIT App inventor2 бол үүл дээр суурилсан хэрэгсэл бөгөөд таны вэб хөтөч дээр програм бүтээхэд тусалдаг. Энэ програмыг (зөвхөн андройд дээр суурилсан үүрэн холбооны хувьд) дараа нь таны үүрэнд байршуулж, робот машинаа удирдах боломжтой.

Би.apk болон.aia кодыг хавсаргаж байгаа тул та миний хийсэн зүйлийг харж, хүссэнээрээ өөрчилж болно. Би интернетээс (MIT App) код ашиглаж, өөрийн өөрчлөлтийг хийсэн. Энэ код нь робот машины хөдөлгөөнийг хянаж, хэт авианы мэдрэгчээс дохио хүлээн авч, гэрэл асааж, дуугардаг. Энэ нь батерейгаас хүчдэлийн түвшинг мэдэх дохиог хүлээн авдаг.

Энэхүү кодын тусламжтайгаар бид машинаас хоёр өөр дохиог хүлээн авах боломжтой болно: 1) ойролцоох объект хүртэлх зай, 2) мотор, ардуино батерейны хүчдэл.

Хүлээн авсан цуваа мөрийг тодорхойлохын тулд би Arduino кодод илгээсэн мөрийн төрлийг тодорхойлсон тугийг оруулсан болно. Хэрэв Arduino хэт авианы мэдрэгчээс хэмжсэн зайг илгээсэн бол утасны урд "A" тэмдэг илгээдэг. Arduino зайны түвшинг илгээх болгондоо "B" тэмдэг бүхий туг илгээдэг. MIT App зохион бүтээгчид2 код дээр би Arduino -аас ирж буй цуваа мөрийг задлан шинжилж, эдгээр тугуудыг шалгасан болно. Миний хэлсэнчлэн би бол шинээр ирсэн хүн бөгөөд үүнийг хийх илүү үр дүнтэй арга байгаа гэдэгт итгэлтэй байна, хэн нэгэн намайг илүү сайн аргаар гэгээрүүлж чадна гэж найдаж байна.

Arduino_Bluetooth_Car.apk -ийг гар утсандаа (имэйл эсвэл Google Драйваар) илгээж суулгана уу.

Алхам 11: Гар утсаа RC машиндаа холбоно уу

Гар утсаа RC машиндаа холбоно уу
Гар утсаа RC машиндаа холбоно уу
Гар утсаа RC машиндаа холбоно уу
Гар утсаа RC машиндаа холбоно уу

Нэгдүгээрт, хуучин гар утсан дээр wi-fi асаагаарай (RC робот).

Удирдлагын гар утсан дээрээ wi-fi, Bluetooth-ээ асаагаад дөнгөж суулгасан Arduino_Bluetooth_Car.apk-ийг нээнэ үү. Дэлгэцийн төгсгөлд (хэрэв та үүнийг харахгүй бол доош гүйлгэн харна уу) та хоёр товчлуурыг харах болно: Төхөөрөмж ба CONNECT. Төхөөрөмжүүд дээр дарж RC Машинаасаа Bluetooth -ийг сонгоно уу (HC 05 байх ёстой), дараа нь CONNECT дээр дарж дэлгэцийн зүүн доод хэсэгт CONNECTED гэсэн мессеж гарч ирнэ. Эхний удаа танаас нууц үг асуух болно (0000 эсвэл 1234 оруулна уу).

Та хуучин үүрнийхээ IP хаягийг бичих шаардлагатай хайрцаг байдаг (таны RC машинд байгаа гар утас), миний хувьд энэ нь

Энэ IP дугаарыг таны Wi-Fi чиглүүлэгч дээр илрүүлж болно. Та чиглүүлэгчийнхээ тохиргоонд орж, төхөөрөмжийн жагсаалтыг сонгох хэрэгтэй (эсвэл таны чиглүүлэгчийн брэндээс хамаарч үүнтэй төстэй зүйл байх болно), та хуучин үүрэн төхөөрөмжөө харах боломжтой байх ёстой бөгөөд үүн дээр дарж энэ хайрцагт энэ IP дугаарыг оруулна уу.

Дараа нь CAMERA -г сонгоод RC машинаасаа дамжуулж буй камерыг үзэж эхлэх хэрэгтэй.

Алхам 12: Та дууссан

Та дууссан!
Та дууссан!

Та дууссан! Түүнтэй тоглож эхлээрэй

Ирээдүйн өөрчлөлтүүд: Би 9V батерейг лити-ион батерейгаар сольж, DC-DC хүчдэлийн тогтворжуулагчийг ашиглахын тулд аналог заалтыг тэгшлэх (дунджаар) оруулах замаар батерейны дэлгэцийг сайжруулахыг хүсч байна. A. I -ийг оруулахаар төлөвлөөгүй байна. хараахан …;-)

Би анхны заавар өгөх тэмцээндээ оролцлоо … саналаа өгөөрэй;-)

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