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

Raspberry Pi 3 FPV Lego танк: 5 алхам (зурагтай)
Raspberry Pi 3 FPV Lego танк: 5 алхам (зурагтай)

Видео: Raspberry Pi 3 FPV Lego танк: 5 алхам (зурагтай)

Видео: Raspberry Pi 3 FPV Lego танк: 5 алхам (зурагтай)
Видео: Lego Technic Automatic Candle snuffer #Shorts 2024, Долдугаар сарын
Anonim
Raspberry Pi 3 FPV Lego сав
Raspberry Pi 3 FPV Lego сав

Лего нь хүүхдүүдэд аливаа зүйлийг хэрхэн яаж хийхийг заахын зэрэгцээ зугаацуулах боломжийг олгодог. Би бага байхдаа леготой "тоглох" дуртай байснаа мэддэг. Энэхүү зааварчилгаа нь би хэрхэн lego, Raspberry Pi 3 (Raspi 3) -ээс FPV (First Person View) танк бүтээсэн тухай өгүүлнэ. Би үүнийг аль болох энгийн байлгахыг хичээсэн, зөвхөн моторыг леготой ажиллахад тохируулах алхам нь багаж хэрэгсэл, бага зэрэг ур чадвар шаарддаг.

Танк нь үндсэндээ хоёр мотор ашигладаг тул хэрэв та танк авахыг хүсэхгүй бол Romba маягийн робот хийж болно, хийц нь өөр байх боловч утас, програм нь яг ижил байх болно.

### Энэхүү төсөл нь үндсэндээ 1 -р хувилбар тул та үүнийг сайжруулахыг хүсч байвал (хийх зай ихтэй) сэтгэгдлээ үлдээнэ үү. Мөн бүх код бэлэн болно, миний Github хуудсан дээр холбоосууд алхам алхмаар байна

Танд хэрэгтэй зүйлс:

  • Зарим Лего, би хажуудаа хэвтэж байсан Lego Technic Arctic ачааны машин ашигласан. Төсөөллөө ашиглаарай, энэ багцад мөр, бүх зүйлийг ажиллуулах боломжтой байсан тул энэ төсөлд сайн байсан.
  • Raspberry Pi, би Raspberry Pi 3 -ийг ашигласан, учир нь энэ бол надад байсан зүйл юм, хэрэв танд өөр загвар байгаа бол үүнийг ажиллуулах боломжтой байж магадгүй ч GPIO тээглүүрүүд өөр байх болно.
  • Raspi 3 -т зориулсан Raspian суулгасан бичил SD карт.
  • Pi камер, Adafruit нь янз бүрийн урттай хэд хэдэн тууз кабелийг зардаг. Aliexpress -аас худалдаж авсан уурхай, загасны нүдний линзтэй, хямдхан байсан. Та вэбкамер ашиглах боломжтой байж магадгүй, гэхдээ Pi камер нь хайрцагнаас гадна ажилладаг.
  • Raspi 3 -ийг ажиллуулах USB Power Bank, миний бодлоор 8 долларын үнэтэй, 2000mah нь Raspi 3 -ийг хэсэг хугацаанд ажиллуулдаг.
  • Моторыг тэжээх зай, би хямд RC машинаас гаргаж авсан батерейг ашигласан, энэ нь 7.2 вольт, 500 мАч, цэнэглэдэг тул маш сайн ажилладаг. 9V батерей нь сайн байх болно, гэхдээ танд холбогч хэрэгтэй болно.
  • GPIO тээглүүрийг хооронд нь холбохын тулд холбогч кабель, дор хаяж 5 эмэгтэй, эмэгтэй.
  • L298N мотор жолоочийн самбар, эдгээр нь нэлээд хямд бөгөөд моторыг тусад нь удирдах боломжийг танд олгоно. Эдгээр нь мөн энэ төрлийн програмын хувьд нэлээд стандарт юм.
  • 2 x DC хурдны хайрцгийн мотор, Adafruit -ээс авсан эдгээр нь сайн, яг ижил хөдөлгүүрийг Aliexpress дээрээс худалдаж авч болно.

Төрөл бүрийн

  • Хоёр талт хөөс соронзон хальс
  • утас
  • дулаан багасах
  • соронзон хальс
  • резинэн тууз
  • микро USB кабель

Хэрэв та DC хурдны хайрцгийн моторыг миний хийсэн шиг тохируулах гэж байгаа бол танд дараахь зүйлс хэрэгтэй болно.

  • хайрцаг зүсэгч
  • дугуй харсан иртэй dremel
  • мини файлууд
  • 5 минутын эпокси

Raspi 3 -ийг хянах, програмчлахад танд өөрийн компьютер/зөөврийн компьютер хэрэгтэй болно.

Алхам 1: Танк барих

Танк барих
Танк барих
Танк барих
Танк барих
Танк барих
Танк барих

Энэ бол үнэхээр зааварчилгаа биш, учир нь энэ алхам нь таны өөрийнхөөрөө хийх ёстой. Би үүнийг бүтээхдээ анхаарах ёстой зарим зүйлийнхээ талаар ярих болно, гэхдээ жинхэнэ хөгжилтэй зүйл бол өөрөө өөрийгөө олж мэдэх явдал юм (жинхэнэ Lego шиг). Зургуудыг ашиг тустай бол ашиглаарай, энэ загварыг боловсруулахад хэдэн жил зарцуулсан, эцэст нь энгийн зам хамгийн сайн байсан.

  1. Эхлээд хойд тэнхлэгээ хий

    1. моторт хангалттай зай үлдээж, эд ангиудыг дотор нь багтахаар өргөн болгохыг анхаарна уу. Би тэнхлэг дотор суух бүх зүйлийг хүсч байсан шигээ миний өргөнийг өргөн байлгахыг хүсч байсан бөгөөд энэ нь танкны эд зүйлсийн доогуур байрлаж, муурыг хөөж гаргах боломжийг олгосон юм.
    2. Энд байгаа зам дээрх дугуйнууд нь Lego хөндлөн тэнхлэгт тохирсон нүхтэй тул таны мотор угсрах болно гэдгийг санаарай.
    3. Та арын болон урд талын замыг хангалттай цэвэрлэх хэрэгтэй. Та 2 -р зурагт "L" peices нь хагас хэмжигдэхүүн биш гэдгийг анзаарч болно. Би анх семетик хэлбэртэй байсан боловч зам үрж, нэг цагт гацаж, моторын адаптер эвдэрсэн.
  2. Тэнхлэгүүдийг барьсны дараа тэдгээрийг холбож болно

    1. хөндлөн тулгуур бүхий урт битүүдийг тогтмол давтамжтайгаар ашиглах. Бүрэлдэхүүн хэсгүүд хоорондоо таарч байхын тулд хөндлөн тулгуурыг байрлуулахаа мартуузай.
    2. хэр их замтай байснаар уртыг тодорхойлно. Энэ зам нь суналтгүй тул жаахан сулрах хэрэгтэй. Хэрэв та резинэн замтай бол түүнийг чангалж болно. Мөн гүйдэг дугуй бол сайхан санаа боловч ерөнхийдөө шаардлагагүй.
    3. Энэ алхам нь бага зэрэг урагшлах бөгөөд бага зэрэг туршилт, алдааг багтаасан болно.
  3. Моторууд нь үндсэндээ хоёр талт хөөс соронзон хальсаар бэхлэгдсэн байдаг тул наалдахад зориулж том гадаргуутай болгоно.
  4. Миний хийсэн камерын бэхэлгээ нь үнэхээр хог хаягдал тул та өөрөө хийж үзээрэй. Камераар хурдан явж байгаа юм шиг надад бага таалагдаж байна. Энэ нь камерыг хөдөлгөөнтэй болгохын тулд нэг эсвэл хоёр серво ашиглан сайжруулахад тохиромжтой газар байх болно.

Эдгээр тэмдэглэлүүд тустай гэж найдаж байна. Би энэ зүйлийг зааварлахын өмнө бичихээс өмнө бүтээсэн бөгөөд одоо явж байгаа тул үүнийг салгахад жаахан эргэлзэж байна. Илүү сайн дизайн хийх боломжтой гэдэгт би үнэхээр итгэдэг, тиймээс таны хөгжүүлэлт хамгийн сайн байх болно гэж бодож байна. Хэрэв та намайг бүрэн гарын авлага болгохыг хүсч байвал сэтгэгдлээ үлдээгээрэй, хэрэв хангалттай эрэлт байгаа бол би үүнийг хийх болно.

Алхам 2: DC хурдны хайрцгийн моторыг Lego адаптерт шилжүүлэх

DC хурдны хайрцгийн мотороос Lego адаптер руу
DC хурдны хайрцгийн мотороос Lego адаптер руу
DC хурдны хайрцгийн мотороос Lego адаптер руу
DC хурдны хайрцгийн мотороос Lego адаптер руу
DC хурдны хайрцгийн мотороос Lego адаптер руу
DC хурдны хайрцгийн мотороос Lego адаптер руу

Дахин хэлэхэд би үүнийг бичихээсээ өмнө хийсэн бөгөөд ямар ч зураг аваагүй. Үүнийг хийх олон янзын заавар байдаг гэж би бодож байна. Adafruit нь адаптер зардаг, энэ бол хамгийн сайн арга бөгөөд үүнээс гадна моторын бэхэлгээг устгах шаардлагагүй болно. Би NZ-д байгаа боловч Adafruit ашиглах боломжгүй, гэхдээ DIY бол:-). Энэ бол миний хийсэн зүйл (муу диаграмд уучлаарай):

  1. Бүх багаж хэрэгслээ бэлдээрэй, бид хуванцар хайчлах гэж байгаа тул энэ нь тийм ч хэцүү биш байх болно. Би нүднийхээ бүх хэсэгт хуванцар жижиг хэсгүүдийг үзэн яддаг тул би семинарын шил ашигладаг байсан. Би мөн ногоон хайчлах самбаруудын нэгийг ашигласан тул ширээгээ үймүүлээгүй.
  2. Тиймээс диаграм нь дээд ба хажуугийн үзэмжийг харуулав. Үндсэндээ саарал бол DC хурдны хайрцгийн мотор дээрх цагаан өнгийн жижиг хэсэг бөгөөд улаан нь бидний хайчилж буй хэсэг юм. Дээд талын улаан нь үнэндээ Lego хөндлөн тэнхлэгийн хөндлөн огтлол байх ёстой. Тэнхлэг нь дотроо эвтэйхэн таарах тул бид тэр материалыг зайлуулах гэж байна. Үүнийг төв рүү ойртуулж, бараг баруун тийш нь огтолж үзээрэй. Би эхлээд дремел дээрээ дугуй хөрөө зүсэж, дараа нь төгс тохирох хүртэл хайрцаг зүсэгчээр хусч эхлэв.
  3. Нэг хэсэг зүсээд, тэнхлэг нь бага зэрэг шулуун тохирсон байвал (энэ нь хагас салаагаар нугалсан хачин юм шиг харагдаж байна) та Lego хөндлөн тэнхлэгийг эпокси хийж болно. Эпокси түрхэхээсээ өмнө шар өнгийн хайрцаг дээр маск хийх соронзон хальс түрхсэн эсэхээ шалгаарай. моторын хувьд та босоо амыг хайрцагт наалдуулахгүй. 5 минутын эпокси сайн хольж, цагаан бит ба хөндлөн тэнхлэг дээр зузаан давхарга түрхээрэй, бид 1-2 мм зузаантай цув хайж байна. 5 минутын эпокси нь маш хурдан наалддаг тул ашиглах боломжгүй байдаг.
  4. Хэрэв та зохих цув өмсөж, эпокси асахгүй бол үүнийг хийх хэрэгтэй. Энэ нь бага зэрэг ажилладаг тул болгоомжтой байгаарай. Үүнийг резин шиг тууштай болгосны дараа илүүдэл эпоксид амархан тайрч авах боломжтой болно.
  5. Шөнийн турш хуурай байлгаарай, өглөө болтол та Lego DC хурдны хайрцгийн мотортой байх ёстой

Алхам 3: Цахилгааны утас холбох

Үүнийг холбож байна
Үүнийг холбож байна
Үүнийг холбож байна
Үүнийг холбож байна
Үүнийг холбож байна
Үүнийг холбож байна

Энэ төслийн утас холболт нь маш энгийн. Бид 4 эмэгтэй -эмэгтэй холбогч кабелийг ашиглан GPIO тээглүүрээ L298N моторын хянагчтай холбож, эрэгтэй -эмэгтэй холбогч кабелийг ашиглан Raspi 3 -ийн газардуулгыг L298N моторын удирдлагатай холбоно. Бид мөн моторыг L298N мотор хянагчтай холбохын тулд зарим утсыг ашиглах болно.

Би энэ хослолыг Raspi дээр хамтад нь байрлуулсан тул ашиглахыг сонгосон. Гэсэн хэдий ч GPIO зүү болон GND -ийн ямар ч багцыг ашиглахад чөлөөтэй байгаарай. Үүнийг кодоор солихоо мартуузай.

Та утсан холболтын схемийг ашиглах эсвэл доорх алхмуудыг дагана уу.

Raspi 3 L298N

GND (зүү 14) GND

GPIO27 (зүү 13) IN1

GPIO22 (зүү 15) IN2

GPIO23 (зүү 16) IN3

GPIO24 (зүү 18) IN4

Мотор болон угсрах аргын хувьд би тэднийг ийм утсаар холбосон.

Гарах2, Гарах3 сөрөг

Гарах1, Гарах4 эерэг

Үндсэндээ сөрөг нь ар тал руугаа, эерэг нь урагшаа байв. Хэрэв та тэдгээрийг нөгөө талаас нь авбал танк нь эсрэг чиглэлд хөдөлдөг бөгөөд үүнийг програм хангамжид засахад хялбар байдаг.

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

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

  • Распиан
  • Python 2 эсвэл 3
  • Гит
  • MJPG-дамжуулагч

Raspian програмыг суулгаж байна

Нэгдүгээрт, бид Raspian -ийг микро SD картанд суулгасан байх ёстой, тиймээс дор хаяж 8 ГБ хэмжээтэй форматтай SD бэлэн байх ёстой (хэрэв та зөвхөн 4GB карттай бол NOOBS lite суулгаж болно).

Raspian програмыг суулгахын тулд би NOOBS ашиглахыг зөвлөж байна. Албан ёсны линк энд байна. Зип файлыг компьютер дээрээ татаж аваад файлуудыг sd карт руу задлаарай. Файл, фолдерууд noobs фолдер дотор байгаа эсэхийг шалгаарай.

Үүнийг хийсний дараа SD картаа Raspi 3 -д залгаж, дэлгэцийг холбоно уу (хэрэв танд дэлгэц байхгүй бол HDMI -тэй ТВ сайн ажилладаг), гар, хулганаа холбоно уу.

Та суулгах дэлгэцийн ачааллыг харах, wifi -д холбогдох (энэ төсөл ажиллахад wifi шаардлагатай), суулгах хэрэгтэй, учир нь тэд сайн ажиллаж байгаа тул би анхдагч тохиргоог ашигладаг.

Толгойгүй горимд тохируулж байна

Тиймээс Raspian -ийг суулгаж, Raspi 3 -д нэвтэрсний дараа та Raspi 3 -ийг толгойгүй горимд ажиллахаар тохируулж эхлэх боломжтой (өөрөөр хэлбэл дэлгэц, гарны оронд SSH ашиглана уу). Зүгээр л танд sudo ашиглах хэрэгтэй болно, тиймээс та root нууц үгээ мэдэж байгаа эсэхээ шалгаарай.

Терминал нээгээд 'sudo raspi-config' гэж бичээрэй, та зураг дээрх шиг цэнхэр, саарал дэлгэцтэй байх ёстой. 'Interfacing options' руу ороод enter товчийг дараад 'P2 SSH' рүү шилжиж enter дараад 'тийм' гэж дахин оруулаад 'ok' гэж оруулна уу.

Одоо "интерфэйсийн сонголтууд" руу буцаж очоод камераа асаана уу.

Цэс рүү буцаж очоод "дуусгах" сонголтыг оруулна уу.

Дараа нь бид IP хаягаа олох хэрэгтэй бөгөөд үүнийг терминал руу 'ifconfig' гэж бичээд хийж болно. Wlan0 (ихэвчлэн сүүлчийнх) эхэлдэг блокыг олж, IP хаягаа тэмдэглэ. Энэ нь хоёр дахь мөрөнд байх ёстой бөгөөд хэрэв та гэрийн wifi ашиглаж байгаа бол 192.168.1. XX шиг харагдах ёстой.

Энэ бол тохиргооны төгсгөл юм

Нэмэлт програм суулгах

Тиймээс, надад байгаа скриптүүдийг ажиллуулахын тулд та python 2 эсвэл 3 -ийг суулгасан байх шаардлагатай болно. Хэрэв та питон сурахыг хүсч байвал би python 3 сурахыг зөвлөж байна, ялгаа нь бага боловч python 3 -ийг одоо илүү өргөн ашиглаж байна. Энэ нь Raspian -тай урьдчилан суулгагдсан байх ёстой, гэхдээ бид дахин шалгах хэрэгтэй.

'Python --version' гэж бичээд та 'Python 2.7.13' шиг гаралт авах ёстой бөгөөд энэ нь танд python 2 суулгасан гэсэн үг юм. Танд python 3 байгаа эсэхийг шалгахын тулд 'python3 --version' гэж бичээд ижил төстэй гаралтыг авах ёстой. Хэрэв танд python 2 эсвэл 3 байхгүй бол та 'sudo apt-get install python' эсвэл 'sudo apt-get install python3' гэж бичиж болно.

Кодыг авахын тулд танд Git хэрэгтэй болно, үүнийг дахин суулгасан байх ёстой. Хэрэв танд байхгүй бол 'sudo apt-get install git' -г шалгаж, ашиглахын тулд 'git --version' гэж бичнэ үү.

MJPG-Streamer суулгаж байна

MJPG-Streamer бол Picamera руу нэвтрэх аргуудын нэг юм. Энэ нь хөтөчөөр дамжуулан камер руу нэвтрэх, зургийг өөрчлөх боломжийг танд олгоно. Хэрэв танд код тааламжгүй байгаа бол энэ нь камер ашиглах хамгийн гоё бөгөөд хялбар арга байж магадгүй юм.

  1. Дахин хэлэхэд бид Git -ийг ашиглах болно. Raspi 3 терминал дээр 'git clone https://github.com/jacksonliam/mjpg-streamer.git' гэж бичнэ үү. Програмыг татаж авах болно, тийм ч их хугацаа шаардагдахгүй.
  2. Магадгүй энэ үед хийх ёстой хамгийн сайн зүйл бол 'README.md' файлыг хараад суулгах зааврыг дагах явдал юм. Тэд миний төлөө тасралтгүй ажилласан. Хэрэв танд асуулт байгаа бол тэдгээрийг сэтгэгдэл дээр үлдээгээрэй, би туслахыг хичээх болно

Суулгасны дараа та үүнийг ажиллуулж болно. Би үүнийг хэрхэн яаж хийхийг доороос нь авч үзэх болно.

Энэ бүгдийг нэгтгэж байна

Гайхалтай, одоо бид явахад бэлэн байх ёстой. Таны Raspi 3 асаалттай байгаа эсэхийг шалгаарай. Компьютер/зөөврийн компьютер дээрээ терминал нээнэ үү (хэрэв та линукс эсвэл Mac ашиглаж байгаа гэж бодож байна, хэрэв Windows ашиглаж байгаа бол шаваасыг татаж авах шаардлагатай болно. Үүнийг хэрхэн ашиглах талаар онлайн хичээлүүд маш их байдаг, санаа зовох хэрэггүй, энэ нь амархан) мөн 'ssh [email protected]. XX (хэрэв та анхдагч хэрэглэгчийн нэрийг өөрчилөөгүй гэж бодож байгаа бол) эсвэл таны өмнө нь олж байсан IP хаягийг оруулна уу. Нууц үгээ оруулна уу (энэ нь анхдагч биш байх ёстой). Гайхалтай, одоо та Raspi 3 дээр компьютер/зөөврийн компьютерээр дамжуулж дуусах болно.

Тиймээс "git clone" терминалын төрөлд https://github.com/astrobenhart/Raspi-3-FPV-Lego-T… Файлууд үнэхээр жижиг тул үүнд хэдхэн секунд л шаардагдах болно. Та дараа нь 'cd Raspi-3-FPV-Lego-Tank' ашиглан лавлах руу орж болно, одоо 'ls' гэж бичээд 'demo.py', 'drive.py', 'Picamera_tank гэсэн 5 файлыг харсан эсэхээ шалгаарай. py, 'дууссан.jpg' болон 'README.md'. Аливаа шинэчлэлтийг уншихыг уншихаа мартуузай.

demo.py

Энэхүү py скрипт нь таны утсыг туршиж үзэхэд маш тохиромжтой бөгөөд бүгд ажиллаж байна. Энэ нь моторыг урагш, урагш жолоодох янз бүрийн хослолоор дамждаг.

ажиллуулахын тулд 'python demo.py' ашиглана уу. Үүнийг дуусгахад хагас минут орчим болно.

drive.py

Энэ бол танкийг удирдахын тулд таны ажиллуулах py скрипт юм. Энэ нь GPIO зүү зураглалыг тохируулж, шилжих defs үүсгэдэг. Энэ нь танкийг удирдах түлхүүрүүдийг дардаг.

Ажиллуулахын тулд 'python drive.py' ашиглана уу. Түр хүлээгээрэй, таны терминал хоосон байх ёстой.

шилжихийн тулд 'w, a, s, d' товчлуурыг дарж, хоосон орон зайг зогсоох. Хөтөлбөрийг хаахад бэлэн болсны дараа 'n' товчийг дарна уу.

Picamera_tank.py

Энэ бол камерын дамжуулагчийн миний хувилбар юм. Энэ нь зөвхөн python 3 -тэй ажилладаг (өөрөөр хэлбэл ажиллуулахын тулд 'python3 Picamera_tank.py' ашиглана уу). Үүнийг терминалын хоёрдахь цонхонд ажиллуулж болно, эсвэл ctrl-z товчлуурыг дарж bg гэж бичээд нэг терминал дээр цаана нь ажиллуулж болно. Би хувьдаа тусдаа терминал ашиглах дуртай.

Та нэмэлт зүйл суулгах шаардлагагүй, гэхдээ хэрэв та pip ашигладаг бол. Хэрэв танд ямар нэгэн асуудал тулгарвал сэтгэгдлээ үлдээнэ үү.

Үүнийг Raspi 3 дээр ажиллуулсны дараа компьютер/зөөврийн компьютерын хөтөч рүүгээ ороод 192.168.1. XX: 8000 руу очно уу (бидний өмнө олж байсан IP). Та камерын гаралтыг харах ёстой. Хэрэв зургийг эргүүлэх шаардлагатай бол py скриптийг засах шаардлагатай болно. Доод талд нь тайлбар байгаа бөгөөд доор нь танд хэрэгтэй эргэлтийн түвшинг оруулна уу. Миний хувьд камер нь дээшээ харсан болохоор 180 байсан.

MJPG-Streamer-ийг ажиллуулах

-j.webp

Үүнийг ажиллуулсны дараа 192.168.1. XX: 8080 (бидний өмнө олж байсан IP) руу очоод урсгал дээр дарна уу. Бусад сонголтуудтай хамт тоглоорой, энэ нь танд ашигтай байж магадгүй юм.

Тэгээд л боллоо. Та одоо өөрийн FPV танкийг хаанаас ч хамаагүй wifi авах боломжтой газар жолоодох боломжтой байх ёстой. Хөгжилтэй байгаарай.

Алхам 5: Бэлэн бүтээгдэхүүн

Мөн энэ бүхэн хэрхэн ажилладаг тухай видео бичлэгийг энд оруулав.

Зарим туршилтын явцад тэжээлийн банк дууссан тул би Raspi 3 -ийг зөөврийн компьютер дээрээ залгаад видеог асаах болно. Энэ нь бараг нэг цаг үргэлжилсэн бөгөөд үүнд би маш их баяртай байсан.

Хэрэв танд байгаа бол сэтгэгдлээ үлдээнэ үү, хэрэв та үүнийг зөвшөөрвөл Raspberry Pi 3 FPV Lego танк хийх нь танд таалагдах болно гэж найдаж байна.

Баярлалаа, Бен

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