Talaan ng mga Nilalaman:

Raspberry Pi 3 FPV Lego Tank: 5 Hakbang (na may Mga Larawan)
Raspberry Pi 3 FPV Lego Tank: 5 Hakbang (na may Mga Larawan)

Video: Raspberry Pi 3 FPV Lego Tank: 5 Hakbang (na may Mga Larawan)

Video: Raspberry Pi 3 FPV Lego Tank: 5 Hakbang (na may Mga Larawan)
Video: Raspberry Pi FPV Lego tank demo 2024, Hulyo
Anonim
Raspberry Pi 3 FPV Lego Tank
Raspberry Pi 3 FPV Lego Tank

Ang Lego ay mahusay para sa pagtuturo sa mga bata tungkol sa kung paano gumagana ang mga bagay habang pinapayagan silang magsaya sa parehong oras. Alam kong palaging nasisiyahan ako sa "paglalaro" ng lego noong bata pa ako. Inilalarawan ng itinuturo na ito kung paano ako nagtayo ng isang tanke ng FPV (First Person View) na walang lego at isang Raspberry Pi 3 (Raspi 3). Sinubukan kong panatilihin itong kasing simple hangga't maaari, ang hakbang lamang kung saan mo iakma ang mga motor upang gumana sa lego ay nangangailangan ng mga tool at kaunting kasanayan.

Ang tangke ay karaniwang gumagamit ng dalawang mga motor kaya kung hindi mo nais ang isang tangke maaari kang gumawa ng isang robot na uri ng Romba, ang pagbuo ay magkakaiba ngunit ang mga kable at mga programa ay eksaktong pareho.

### Ang proyektong ito ay karaniwang isang bersyon 1, kaya kung nais mong pagbutihin ito (kung saan maraming silid na gawin) mangyaring mag-iwan ng komento. Magagamit din ang lahat ng code, sa aking pahina ng Github, ang mga link ay nasa mga hakbang

Mga bagay na kakailanganin mo:

  • Ang ilang Lego, gumamit ako ng Lego Technic Arctic Truck na nakahiga ako. Gayunpaman, gamitin ang iyong imahinasyon, ang set na ito ay may mga track at lahat upang magawa ang mga iyon kaya't mabuti para sa proyektong ito.
  • Isang Raspberry Pi, gumamit ako ng Raspberry Pi 3 sapagkat iyon ang mayroon ako, kung mayroon kang ibang modelo maaari mo itong paganahin ngunit magkakaiba ang mga GPIO pin.
  • Isang micro SD card na naka-install ang Raspian, para sa Raspi 3.
  • Isang Pi camera, nagbebenta ang Adafruit ng ilan pati na rin ang iba't ibang mga ribbon cable na may iba't ibang haba. Isang biniling minahan mula sa Aliexpress, mayroon itong isang lens ng fisheye at mura. Maaari kang gumamit ng isang webcam, ngunit gumagana ang isang Pi camera sa labas ng kahon.
  • Ang isang USB Power Bank upang mapagana ang Raspi 3, sa palagay ko nagkakahalaga ng $ 8, ang 2000mah nito kaya pinapatakbo ang Raspi 3 nang ilang sandali.
  • Isang baterya upang mapagana ang mga motor, gumamit ako ng baterya na hinugot ko mula sa isang murang kotse sa RC, ito ay 7.2 volts, 500mah, at rechargeable kaya't gumana ito nang maayos. Ang isang 9V na baterya ay magiging mabuti ngunit kakailanganin mo rin ng isang konektor.
  • Mga jumper cable, upang ikonekta ang mga pin ng GPIO nang magkasama, hindi bababa sa 5 babae hanggang babae.
  • L298N Motor Driver Board, ang mga ito ay medyo mura at pinapayagan kang kontrolin ang mga motor nang hiwalay. Ang mga ito ay medyo pamantayan din para sa ganitong uri ng application.
  • 2 x DC gearbox motor, ang mga ito mula sa Adafruit ay mabuti, ang eksaktong pareho ay mabibili din mula sa Aliexpress

Miscellaneous

  • Double sided foam tape
  • kawad
  • pag-urong ng init
  • tape
  • goma
  • micro USB cable

Kung iakma mo ang mga motor na gearbox ng DC tulad ng ginawa ko kakailanganin mo:

  • pamutol ng kahon
  • dremel na may pabilog na talim ng gulong
  • mini file
  • 5 minutong epoxy

Kakailanganin mo rin ang iyong sariling PC / laptop upang makontrol at mai-program ang Raspi 3.

Hakbang 1: Buuin ang Tangke

Buuin ang Tangke
Buuin ang Tangke
Buuin ang Tangke
Buuin ang Tangke
Buuin ang Tangke
Buuin ang Tangke

Kaya't hindi talaga ito mga tagubilin sapagkat ang hakbang na ito ay dapat na iyong sariling disenyo. Pag-uusapan ko ang ilan sa mga bagay na dapat kong isaalang-alang kapag itinatayo ito, ngunit ang tunay na kasiyahan ay nakasalalay sa paghanap para sa iyong sarili (tulad ng aktwal na Lego). Gamitin ang mga larawan kung kapaki-pakinabang ang mga ito, tumagal ako ng edad upang mabuo ang disenyo na ito, sa huli, ang simpleng kalsada ang pinakamahusay.

  1. Buuin muna ang mga hulihan na axle

    1. at tiyaking mag-iiwan ng sapat na silid para sa mga motor at gawin silang sapat na malawak para sa iyo ang mga sangkap na magkakasya sa loob ng. Nais kong maging malapad ang minahan dahil nais ko ang lahat na nakaupo sa loob ng mga ehe, pinapayagan ang tangke na maging mababa ang sukat sa ilalim ng mga bagay at habulin ang pusa.
    2. Ang mga gulong sa mga track dito ay may isang butas na umaangkop sa isang Lego cross axle, kaya tandaan na dito mag-i-mount ang iyong mga motor.
    3. Kailangan mo ng sapat na clearance para sa track sa likod at harap. Maaari mong mapansin sa larawan 2 na ang mga "L" na peice ay hindi semetric, ito ay upang payagan ang track room. Orihinal na nagkaroon ako sa kanila ng semetric ngunit ang track ay patuloy na hadhad at ginawa sa isang punto ay naging jammed at masira ang motor adapter.
  2. Kapag nakagawa ka ng mga ehe maaari mo nang ikonekta ang mga ito

    1. gamit ang mahabang piraso na may mga suporta sa krus sa regular na agwat. Tiyaking i-space mo ang mga sinusuportahan ng krus upang magkasya ang mga bahagi sa pagitan ng mga ito, makakatulong ito na mapanatili ang isang mababang profile.
    2. ang haba ay matutukoy sa pamamagitan ng kung magkano ang track na mayroon ka. Ang track na ito ay walang kahabaan kaya kailangan ng kaunting slack. Kung mayroon kang isang track ng goma maaari mo itong gawing mas mahigpit. Gayundin ang isang tumatakbo na gulong ay isang magandang ideya ngunit sa pangkalahatan ay hindi kinakailangan.
    3. Ang hakbang na ito ay maliit na tuwid pasulong at nagsasangkot lamang ng kaunting pagsubok at error.
  3. Mahalaga na natigil ang mga motor na may dobleng panig na foam tape kaya't magbigay ng isang malaking ibabaw upang sila ay mapagmataas.
  4. Ang camera mount na ginawa ko ay medyo basura, dapat mong tiyakin na subukan at gumawa ng iyong sarili. Gusto ko itong mababa dahil mukhang mabilis kang naglalakbay sa camera. Ito ay magiging isang cool na lugar upang mag-upgrade sa isang servo o dalawa upang magawa ang camera na ilipat.

Inaasahan kong ang mga tala na ito ay kapaki-pakinabang. Itinayo ko ang bagay na ito bago isulat ang itinuturo at medyo nag-aalangan akong hilahin ito ngayon sa pagpunta nito. Talagang naniniwala ako na ang isang mas mahusay na disenyo ay maaaring gawin kaya sa palagay ko ang iyong sariling pag-unlad ay magiging pinakamahusay. Mag-iwan ng komento kung nais mong gawin ko ito sa isang buong gabay, kung may sapat na pangangailangan ay gagawin ko ito.

Hakbang 2: DC Gearbox Motor sa Lego Adapter

DC Gearbox Motor sa Lego Adapter
DC Gearbox Motor sa Lego Adapter
DC Gearbox Motor sa Lego Adapter
DC Gearbox Motor sa Lego Adapter
DC Gearbox Motor sa Lego Adapter
DC Gearbox Motor sa Lego Adapter

Muli, ginawa ko ito bago magsulat at hindi kumuha ng anumang larawan. Sa palagay ko mayroong isang iba't ibang mga iba't ibang mga tutorial doon na ginagawa ito. Talagang nagbebenta ng adapter ang isang adapter, ito ang pinakamahusay na paraan, kasama ang hindi mo kailangang sirain ang iyong mga motor mount. Nasa NZ ako bagaman kaya ang Adafruit ay hindi magagamit, ngunit ang DIY ay:-). Ito ang ginawa ko (paumanhin tungkol sa mga hindi magandang diagram):

  1. Ihanda ang lahat ng iyong mga tool, gagawa kami ng plastic, kaya't hindi ito magiging mahirap. Gumamit ako ng isang pares ng mga baso sa pagawaan dahil personal na kinamumuhian ko ang mga maliliit na peice ng plastik sa buong aking mga eyeballs. Gumamit din ako ng isa sa mga berdeng cutting board na iyon kaya hindi ko ginulo ang aking mesa.
  2. Kaya't ang diagram ay nagpapakita ng isang tuktok at pananaw sa gilid. Talaga, ang kulay-abo ay ang maliit na puting bahagi sa DC gearbox motor at ang pula ay kung saan namin pinutol. Ang pula sa tuktok na pagtingin ay talagang dapat na isang seksyon ng cross para sa isang Lego cross axle. Aalisin namin ang materyal na iyon kaya't ang axle ay umaangkop sa loob. Subukan at gupitin ito nang malapit sa gitna ng posible at halos pakanan hanggang sa ibaba. Nagsimula ako sa pamamagitan ng unang paggupit ng maliit na bilog na nakita sa aking dremel, pagkatapos ay nagsimulang mag-ahit ng mga piraso na may isang pamutol ng kahon hanggang sa magkaroon ako ng isang perpektong akma.
  3. Sa sandaling naputol mo ang bit na iyon at ang ehe ay umaangkop nang higit pa o mas mababa nang tuwid (dapat itong hitsura ng isang kakatwang nakatiklop sa kalahating tinidor) maaari mong epoxy ang Lego cross axle. Bago ka mag-apply ng anumang epoxy siguraduhing naglalapat ka ng masking tape sa dilaw na kaso ng motor upang hindi ka magkasabay na idikit ang baras sa kaso. Paghaluin nang mabuti ang 5 minutong epoxy at maglagay ng isang makapal na layer sa puting bit at ang cross axle, naghahanap kami ng isang 1-2mm na makapal na amerikana. Ang 5 minutong epoxy ay napupunta at madaling magamit nang mabilis kaya mabilis na gumana dito.
  4. Kapag mayroon ka ng desent coat at hindi tumatakbo ang epoxy dapat mong gawin. Tumatakbo ito nang kaunti kaya mag-ingat lamang. Kapag naitakda ito sa isang goma tulad ng pagkakapare-pareho madali mong mapuputol ang anumang labis na epoxy, na kung paano nakuha ko ang isang magandang flat end sa minahan.
  5. Iwanan ito upang matuyo sa gabi at dapat kang magkaroon ng motor gearbox ng Lego DC sa umaga

Hakbang 3: Pag-kable Nito

Kable It Up
Kable It Up
Kable It Up
Kable It Up
Kable It Up
Kable It Up

Ang mga kable para sa proyektong ito ay medyo simple. Gagamitin namin ang 4 babae hanggang babae na jumper cables upang ikonekta ang aming mga pin ng GPIO sa L298N motor controller at isang lalaki sa babaeng jumper cable upang ikonekta ang lupa ng Raspi 3 sa lupa ng L298N motor controller. Gumagamit din kami ng ilang kawad upang ikonekta ang mga motor sa motor control na L298N.

Pinili kong gamitin ang kombinasyong ito ng mga pin sa Raspi dahil magkakasama ang mga ito. Huwag mag-atubiling gumamit ng anumang hanay ng mga GPIO pin at GND bagaman. Tandaan lamang na baguhin ito sa code.

Maaari mong gamitin ang diagram ng mga kable o sundin ang mga hakbang sa ibaba:

Raspi 3 L298N

GND (pin 14) GND

GPIO27 (pin 13) IN1

GPIO22 (pin 15) IN2

GPIO23 (pin 16) IN3

GPIO24 (pin 18) IN4

Para sa mga motor at sa paraan ng kanilang pag-mount ay wired ko sila sa ganitong paraan.

Out2, Out3 negatibo

Out1, Out4 positibo

Mahalagang negatibo ay patungo sa likuran at ang positibo ay pasulong. Kung makuha mo ang mga ito sa ibang paraan, ang tangke ay nagdadala lamang sa kabaligtaran na direksyon na madaling ayusin sa software.

Hakbang 4: Ang Programming

Kaya para sa hakbang na ito kakailanganin naming magtakda ng ilang mga bagay kung hindi mo pa nagagawa.

  • Raspian
  • Python 2 o 3
  • Git
  • MJPG-Streamer

Pag-install ng Raspian

Una kailangan naming magkaroon ng Raspian sa isang micro SD card, kaya magkaroon ng isang naka-format na SD na hindi bababa sa 8GB handa na (Maaari mo ring mai-install ang NOOBS lite kung mayroon ka lamang isang 4GB card).

Upang mai-install ang Raspian inirerekumenda ko ang paggamit ng NOOBS. Narito na ang opisyal na link. I-download ang zip file sa iyong PC, at i-extract ang mga file sa sd card. Tiyaking nariyan ang mga file at folder at hindi sa loob ng isang folder ng noobs.

Kapag nagawa mo ito, i-plug ang SD card sa Raspi 3, ikonekta ang isang screen (Ang isang TV na may HDMI ay gumagana nang maayos kung wala kang isang monitor) at isang keyboard at mouse.

Dapat mong makita ang pag-install ng screen load, kumonekta sa wifi (kinakailangan ang wifi para gumana ang proyektong ito) at mai-install, ginagamit ko lang ang mga default na setting habang gumagana ito ng maayos.

Ang pag-configure para sa mode na walang ulo

Kaya't sa sandaling naka-install ang Raspian at naka-log in ka sa Raspi 3, maaari mong simulang i-configure ang Raspi 3 upang tumakbo sa mode na walang ulo (ibig sabihin, gumamit ng SSH sa halip na isang screen at keyboard). Tandaan lamang na kakailanganin mong gumamit ng sudo kaya tiyaking alam mo ang root password.

Magbukas ng isang terminal at i-type ang 'sudo raspi-config', dapat kang magkaroon ng isang asul at kulay-abo na screen tulad ng sa mga imahe. Lumipat sa 'Mga pagpipilian sa pagitan ng interface', pindutin ang enter, pagkatapos ay lumipat sa 'P2 SSH' pindutin ang enter at ipasok muli para sa 'oo', muli para sa 'ok'.

Bumalik ngayon sa 'mga pagpipilian sa interfacing' at paganahin ang camera.

Bumalik sa menu pindutin pakanan at ipasok upang piliin ang 'tapusin'.

Susunod na kailangan naming hanapin ang aming IP address, magagawa mo ito sa pamamagitan ng pag-type ng 'ifconfig' sa terminal. Hanapin ang bloke na nagsisimula sa wlan0 (karaniwang ang huli) at tandaan ang iyong IP address. Dapat nasa pangalawang linya ito at magmukhang katulad nito 192.168.1. XX kung ginagamit mo ang iyong wifi sa bahay.

Mahusay na katapusan na ng pagsasaayos

Pag-install ng karagdagang software

Kaya, upang patakbuhin ang mga script na mayroon ako, kakailanganin mong magkaroon ng naka-install na sawa 2 o 3. Kung nais mong malaman ang sawa, inirerekumenda ko ang pag-aaral ng python 3, ang mga pagkakaiba ay menor de edad ngunit ang python 3 ay mas malawak na ginagamit ngayon. Dapat itong naka-preinstall na may Raspian ngunit dapat lamang kaming i-double check.

I-type ang 'python --version', dapat kang makakuha ng isang output tulad ng 'Python 2.7.13' na nangangahulugang mayroon kang naka-install na python 2. Upang suriin kung mayroon kang python 3 i-type lamang ang 'python3 --version' at dapat kang makakuha ng isang katulad na output. Kung wala kang python 2 o 3, maaari mong i-type ang 'sudo apt-get install python' o 'sudo apt-get install python3', magalang.

Kakailanganin mo rin ang Git upang makuha ang code, muli, dapat itong i-preinstall. I-type ang 'git --version' upang suriin at gamitin ang 'sudo apt-get install git' kung wala ka nito.

Pag-install ng MJPG-Streamer

Ang MJPG-Streamer ay isa sa mga paraan na nakakuha ako ng access sa Picamera. Pinapayagan kang i-access ang camera sa pamamagitan ng isang browser at manipulahin ang imahe. Marahil ito ang mas mahusay at madaling paraan upang magamit ang camera kung hindi ka komportable sa code.

  1. Muli ay gagamitin namin ang Git. I-type ang 'git clone https://github.com/jacksonliam/m.jpg-streamer.git' sa Raspi 3 terminal. Maida-download ang software, hindi ito nagtatagal.
  2. Marahil ang pinakamahusay na bagay na dapat gawin sa puntong ito ay upang tingnan ang file na 'README.md' at sundin ang mga tagubilin sa pag-install. Gumawa sila ng maayos para sa akin. Kung mayroon kang anumang mga katanungan, iwanan ang mga ito sa mga komento at susubukan ko at tumulong

Kapag na-install na maaari mo itong patakbuhin. Dadaanan ko kung paano ko ginagawa iyon sa ibaba.

Pinagsasama ang lahat

Mahusay, ngayon handa na tayong umalis. Tiyaking napagana ang iyong Raspi 3. Sa iyong PC / laptop, magbukas ng isang terminal (Ipinapalagay kong gumagamit ka ng linux o Mac, kung gumagamit ng Windows kakailanganin mong mag-download ng masilya. Maraming mga tutorial sa online tungkol sa kung paano ito gamitin, huwag mag-alala, madali ito) at i-type ang ssh [email protected]. XX (ipinapalagay na hindi mo binago ang default na username) o kung ano ang iyong IP address na nakita namin nang mas maaga. I-type ang iyong password (dapat itong tiyak na hindi ang default). Mahusay, ngayon ikaw ay nasa isang sesyon ng terminal sa Raspi 3 sa pamamagitan ng iyong PC / laptop.

Kaya, sa uri ng terminal 'git clone https://github.com/astrobenhart/Raspi-3-FPV-Lego-T… Ito ay dapat tumagal lamang ng ilang segundo dahil ang mga file ay talagang maliit. Maaari kang mag-navigate sa direktoryo gamit ang 'cd Raspi-3-FPV-Lego-Tank', i-type ngayon ang 'ls' at tiyaking nakikita mo ang 5 mga file na ito: 'demo.py', 'drive.py', 'Picamera_tank. py, 'tapos.jpg', at 'README.md'. Tiyaking titingnan mo ang readme para sa anumang mga update.

demo.py

Ang py script na ito ay mahusay para sa pagsubok ang iyong mga kable ay gumagana lahat. Dumadaan lamang ito sa iba't ibang mga kumbinasyon ng pagmamaneho ng mga motor paatras at pasulong.

gumamit ng 'python demo.py' upang tumakbo. Tumatagal ng kalahating minuto o higit pa upang makumpleto.

drive.py

Ito ang py script na tatakbo upang makontrol ang tangke. Itinatakda nito ang pag-map ng GPIO pin at lumilikha ng mga def para sa paglipat. Kinukuha rin nito ang mga pangunahing pagpindot upang makontrol ang tangke.

Gumamit ng 'python drive.py' upang tumakbo. Bigyan ito ng isang segundo, ang iyong terminal ay dapat na blangko.

gamitin ang 'w, a, s, d' upang ilipat at spacebar upang ihinto. Kapag handa ka nang isara ang programa pindutin ang 'n'.

Picamera_tank.py

Ito ang aking bersyon ng isang streamer para sa camera. Tumatakbo lamang ito sa python 3 (ibig sabihin, gumamit ng 'python3 Picamera_tank.py' upang tumakbo). Maaari itong patakbuhin sa isang pangalawang window ng terminal o maaari mong pindutin ang ctrl-z at i-type ang bg upang patakbuhin ito sa background sa parehong terminal. Sa personal na gusto kong gumamit ng isang hiwalay na terminal.

Hindi mo dapat na mai-install ang anumang labis, ngunit kung gumamit ka ng pip. Kung nagkakaroon ka ng anumang mga problema, mag-iwan ng isang komento.

Kapag tumatakbo ito sa Raspi 3, mag-log in sa brower ng iyong PC / laptop at pumunta sa 192.168.1. XX: 8000 (ang IP na nakita namin nang mas maaga). Dapat mong makita ang output ng camera. Kung ang imahe ay kailangang paikutin, kakailanganin mong i-edit ang py script. Malapit sa ilalim ay isang komento, sa ibaba ipasok ang mga degree ng pag-ikot na kailangan mo. Para sa akin ito ay 180 dahil ang aking camera ay nakabaligtad.

Upang patakbuhin ang MJPG-Streamer

Upang patakbuhin ang MJPG-Streamer, mag-navigate ako sa 'm.jpg-streamer / m.jpg-streamer-eksperimentong' at patakbuhin ang './m.jpg_streamer -o "output_http.so -w./www" -i "input_raspicam.so -hf"'.

Kapag tumatakbo na, pumunta sa 192.168.1. XX: 8080 (ang IP na nakita namin nang mas maaga) at mag-click sa streaming. Maglaro kasama ang iba pang mga pagpipilian, maaaring maging kapaki-pakinabang sa iyo ang mga ito.

At yun lang. Dapat mo na ngayong magmaneho ng pagmamay-ari mo ng FPV tank sa paligid kung saan ka makakakuha ng iyong wifi. Magsaya ka

Hakbang 5: Tapos na Produkto

At narito ang isang video na gumagana ang lahat.

Tandaan lamang na mayroon akong Raspi 3 na naka-plug sa aking laptop upang mapatakbo ito sa video habang naubos ang power bank sa ilang pagsubok. Ito ay tumagal ng halos isang oras kung saan ako ay medyo masaya tungkol sa.

Mangyaring mag-iwan ng mga komento kung mayroon ka at inaasahan kong nasisiyahan ka sa paggawa ng ito ng Raspberry Pi 3 FPV Lego Tank kung bibigyan mo ito.

Salamat, Ben

Inirerekumendang: