Talaan ng mga Nilalaman:

Dog Bot: Lego Robot Rover Sa Webcam: 17 Hakbang (na may Mga Larawan)
Dog Bot: Lego Robot Rover Sa Webcam: 17 Hakbang (na may Mga Larawan)

Video: Dog Bot: Lego Robot Rover Sa Webcam: 17 Hakbang (na may Mga Larawan)

Video: Dog Bot: Lego Robot Rover Sa Webcam: 17 Hakbang (na may Mga Larawan)
Video: 7 Real Transforming Vehicles You Didn't Know Exist ▶ 1 2024, Nobyembre
Anonim
Image
Image

Narito kung paano gumawa ng isang Lego robot na makokontrol mo mula sa anumang screen sa pamamagitan ng wifi. Mayroon din itong webcam upang makita mo kung saan ang iyong pagpunta at mga LED light para sa mga mata! Ito ay isang mahusay na proyekto na gagawin sa iyong mga anak dahil maaari nilang gawin ang pagbuo ng logo at maaari mong isangkot ang mga ito sa mas maraming electronics ayon sa kasiyahan nila. Mayroong maraming kakayahang umangkop sa kung paano mo ipinatupad ang proyektong ito, at nangangahulugan ito sa iyo madaling dalhin ito sa mga piraso at muling idisenyo muli. Natagpuan ko itong kapaki-pakinabang, nang makaalis ako upang magsimulang muli muli. Kapag nagawa mo na ito ng ilang beses, medyo madali at mabilis itong muling itayo mula sa lupa. Ang dakilang bagay tungkol dito ay hindi mo kailangang mag-alala tungkol sa "pagsira" sa anumang bagay dahil malilinang mo ang mga kasanayan upang madaling maitayo.

Ang iyong kailangan

  • Raspberry Pi B +
  • Base at motor kit
  • Lego base plate
  • Ang lakas ng industriya ay sobrang pandikit
  • Drill
  • Craft kutsilyo
  • Kagamitan sa paghihinang
  • SD card
  • SD card reader
  • Motor controller kit
  • 2 LEDs
  • kalagitnaan ng presyo ng Webcam (maaari mong subukan ang isang murang isa)
  • PC at isang tablet / telepono
  • Wifi Router kung saan mayroon kang access sa admin
  • Maraming mga piraso ng Lego
  • Charger ng pang-emergency na telepono
  • 4 na jump wires bawat isa na may hindi bababa sa 1 babaeng terminal
  • 4 na baterya ng AA (ang rechargeable ay mabuti)

Hakbang 1: Ihanda ang Batayan

Nagsimula ako sa isang base at 2 motor tulad ng motor na ito na itinakda sa Amazon

Kunin ang base ng perspex at idikit ito sa isang manipis na plate ng Lego. Gumamit ako ng pang-industriya na sobrang pandikit para dito na dries sa minuto at napakalakas. Kapag naayos ang pandikit, gupitin ang labis na plate ng base ng Lego upang sundin ang linya ng plate ng base sa perspex. pagkatapos ay mag-drill ng mga butas sa pamamagitan ng plate ng Lego na tumutugma sa base ng perspex. Gin-drill ko ang mga butas at kung kailan ko kailangan ang mga ito. Mayroon ka nang pundasyon para sa pagbuo ng istraktura ng Lego.

Hakbang 2: Magtipon ng mga Gulong

Magtipon ng mga Gulong
Magtipon ng mga Gulong

Ipunin ngayon ang mga gulong. Sundin ang mga tagubilin ng mga tagagawa dito. Ang mga binili kong gulong ay mayroong lahat ng mga tagubilin sa Intsik, na hindi ko mabasa, ngunit madali itong malaman mula sa mga larawan. Sa sandaling naka-assemble ikabit ang mga wire sa mga motor na may isang maliit na patak ng panghinang.

Hakbang 3: Maglakip ng Mga Gulong sa Base

Maglakip ng Mga Gulong sa Base
Maglakip ng Mga Gulong sa Base

Susunod na ikabit ang mga gulong sa base plate, maaari kang mag-drill ng mga butas sa base kung kailangan mo. Marahil ay malalaman mo sa pagtatapos ng proyekto na nais mo ang mga wire na humantong sa base sa ibang lugar, ngunit maaari kang palaging mag-drill ng isang bagong butas at lumipat sa ibang pagkakataon.

Hakbang 4: Ihanda ang Pi

Ihanda ang Pi
Ihanda ang Pi

Ngayon ihanda ang PI. Gumamit ako ng modelong B + na may USB wifi dongle. Ginamit ko ang Buong imahe ng desktop batay sa Debian Jessie na maaari mong i-download mula sa Raspbian Pi site. Ito ay nagkakahalaga ng paglikha ng SD card mula sa simula, at panatilihing madaling gamitin ang imahe ng disk dahil madali kang magsisimulang muli. Maaaring kailanganin mong gumawa ng isang maliit na googling upang malaman kung paano lumikha ng imahe ng disk sa iyong PC. Nilikha ko ang aking imahe gamit ang Ubuntu tulad nito: Mag-right click sa imahe ng disk at piliin ang "buksan gamit ang disk image manunulat". Isulat ang imahe sa SD card. Ang imahe ng disk ay medyo maliit, kaya kung mayroon kang isang mas malaking SD card (hal: 30GB) maaari kang gumamit ng partitioning software tulad ng GParted upang magamit ang lahat ng magagamit na puwang. Sa sandaling nagawa mo kung paano ito gawin ay tumatagal ng halos 5 minuto, at sulit talaga ito na para bang ginulo mo ang software na maaari mo lamang muling mai-install muli.

Hakbang 5: I-mount ang Controller Board

I-mount ang Controller Board
I-mount ang Controller Board

Susunod na kailangan mo ng isang board ng motor controller. Ginamit ko ang kit mula sa RyanTek. Dumating ito sa isang mahusay na gabay sa paghihinang, ngunit sa palagay ko maaari mo ring makuha ito bago pa maghinang. Kung hindi ka pa nakakagawa ng anumang paghihinang dati, huwag magalala, dalhin lamang ito nang dahan-dahan at magsanay ng kaunti bago ka magsimula sa motor board.

Ngayon, ikabit ang pack ng baterya (na may 4 na baterya ng AA) at ang mga motor hanggang sa board ng controller pagkatapos ay ikabit ang board ng controller sa mga pin ng GPIO ng Pi. Muli ang board ng magbibigay sa iyo ng maraming mga detalye. Huwag mag-alala tungkol sa pagkuha ng tamang mga wire ng motor sa tamang mga puwang, hangga't hindi sila nakakonekta hanggang sa mga puwang ng kuryente ng DC. Hindi ko ididikit o i-tornilyo ang Pi o ang pack ng Baterya sa board ng Lego dahil bibigyan ka nito ng higit na kakayahang umangkop kapag nagdidisenyo ng Lego na katawan. Maaari mo ring baguhin ang iyong disenyo nang madali sa iyong pagsabay.

Hakbang 6: Simulang Buuin ang Katawang Lego

Simulang Buuin ang Katawang Lego
Simulang Buuin ang Katawang Lego
Simulang Buuin ang Katawang Lego
Simulang Buuin ang Katawang Lego

Ngayon na ang oras upang bumuo ng ilang Lego. Sa puntong ito maaari kang makakuha ng kasangkot talagang mga bata, hangga't maaari silang magkaroon ng isang piraso ng Lego! Nagsimula kami sa isang pangunahing parisukat na pabahay lamang hanggang sa gumana ang lahat at pagkatapos ay nakakuha ng higit na pakikipagsapalaran sa dog bot. Ang dakilang bagay dito ay maaari mong muling itayo ang katawan ng robot hangga't gusto mo. Magsimula sa pamamagitan ng paglikha ng isang bahay para sa Pi. Alalahaning mag-iwan ng lugar para sa mga USB port at mga power cable. Bumuo ng isang makatarungang halaga ng kaluwag sa anumang pabahay na iyong itinatayo. OK lang para sa mga bagay na gumagalaw nang kaunti at hindi ka masyadong tumpak sa Lego.

Gumamit kami ng mga Lego windows upang magbigay ng access sa mga USB port na kakailanganin mo sa paglaon.

Hakbang 7: Ihanda ang Pi

Magandang oras ngayon upang simulan ang Pi, at ilipat ang robot.

Binubuo ko ang code na gagamitin sa proyektong ito sa Git hub. Ang Basahin ako sa mga pahina ng git hub ay magdadala sa iyo sa mga tagubilin sa kung paano i-install ang lahat ng software sa Pi, ngunit dadalhin din kita sa mga hakbang dito

Simulan muna ang Pi, sa pamamagitan ng pag-plug sa power cable. Kakailanganin mong ikonekta ang HDMI cable sa isang TV at gumamit ng USB keyboard at mouse. Ang unang bagay ay upang kumonekta hanggang sa iyong Wifi. ginagawa mo ito sa pamamagitan ng pag-click sa icon sa kanang tuktok ng Raspian desktop at patunayan ang mga detalye. Kapag nakakonekta sa Wifi maaari mong gawin ang lahat mula sa linya ng utos, kaya kung mas gusto mo maaari kang kumonekta sa Pi gamit ang ssh, ngunit sa ngayon, dahil nakakonekta kami sa isang TV maaari naming buksan ang isang terminal mula sa Raspian desktop.

Hakbang 8: I-install ang Software sa Pi

Buksan ang terminal sa Pi at i-type ang mga sumusunod na utos.

sudo apt-get update

Ina-update nito ang Raspian gamit ang pinakabagong software.

Susunod, i-install ang webcam software

sudo apt-get install na paggalaw

Kailangan mo ring i-configure ang paggalaw sa puntong ito. Inilista ko kung ano ang kailangang i-update kung aling mga file sa mga pahina ng github. Mayroon ding isang itinuturo tungkol sa pagkuha ng isang webcam na gumagana sa iyong Pi. Alamin ang mga setting at maglaro kasama nila sa sandaling komportable ka sa pag-set up.

sudo apt-get install python-dev python-pip

Nag-i-install ito ng mga library ng Python at pati na rin ang python software manager ng packaging.

sudo pip install 'pubnub> = 4.1.2'

Ini-install nito ang Pubnub, ang software na namamahala sa pagmemensahe sa pagitan ng control panel at ng iyong wireless robot.

Tumatagal upang mai-install ang bahaging ito kaya't pumunta at gumawa ng isang tasa ng tsaa !!

Hakbang 9: I-install ang Robot Software

Ngayon ay na-install mo na ang lahat ng mga umaasa na mga piraso ng software, oras na upang mai-install ang code na kinakailangan upang patakbuhin ang robot.

git clone

lilikha ito ng isang folder ng lego-robot sa iyong direktoryo sa bahay.

Bago mo mapagana ang robot code, kailangan mong lumikha ng isang PubNub account at makakuha ng isang i-publish at mag-subscribe key. magagawa mo ito sa pamamagitan ng pagsunod sa pagsisimula ngayon ng mga tagubilin sa PubNub. Kapag na-set up mo na kailangan mong buksan ang dalawang mga file:

  • lego-robot / server / keys.py
  • lego-robot / client / keys.js

at palitan ang mga pub at sub key ng iyong mga susi na maaari mong makuha mula sa dashboard ng pubnub.

Tandaan na ang halaga ng channel ay maaaring maging anumang bagay, hangga't tumutugma ito sa client at server.

Hakbang 10: I-install ang Controller Software at Suriin ang Lahat ng Ito ay gumagana

I-install ang Controller Software at Suriin ang Lahat ng Ito ay gumagana
I-install ang Controller Software at Suriin ang Lahat ng Ito ay gumagana
I-install ang Controller Software at Suriin ang Lahat ng Ito ay gumagana
I-install ang Controller Software at Suriin ang Lahat ng Ito ay gumagana

Sa isang PC, i-clone ang git hub code sa parehong paraan tulad ng ginawa namin sa robot.

git clone

Maaaring wala kang naka-install na git sa iyong PC. Kung hindi mangyaring sundin ang mga tagubilin sa git hub.

Mayroon ka ring pagpipilian ng pag-download ng code bilang isang zip file, kahit na payuhan ko ang pag-install ng GIT at pagkopya ng mga file sa pamamagitan ng pag-clone ng repository.

kakailanganin mong i-date ang file na lego-robot / client / keys.js kasama ang iyong personal na mga pag-publish at pag-subscribe key.

Kapag tapos ka na, buksan ang lego-robot / client / button.html file sa isang web browser. Dapat mo nang makontrol ang iyong robot gamit ang mga control button.

Ipinapakita ng diagram sa itaas kung ano ang nangyayari:

  • Kapag nag-click ka sa isang pindutan isang mensahe ay ipinadala sa pubnub (gamit ang iyong publish key)
  • Ipinasa ang PubNub sa robot na…
  • Nakikinig ba (gamit ang susi sa pag-subscribe) para sa mga mensahe
  • Ang robot pagkatapos ay isinalin sa isang aksyon.

Ginamit ko ang pubNub bilang libre, mabilis (realtime) at lubos na pinapasimple ang pagpapadala at pagtanggap ng mga mensahe gamit ang isang talagang magandang API.

Maaari kang maghukay sa client at server code at makita ang mga mensahe na ipinapadala gamit ang mga simpleng key tulad ng "pasulong" at "paatras".

Mayroon ding isang taga-kontrol ng estilo ng Joystick sa lego-robot / client / joystick.html.

Mapapabuti ko ang mga kumokontrol na ito, at pagdaragdag ng mga bago sa lahat ng oras, kaya kung nais mong mag-update ng software, maaari mong gamitin ang utos na "git pull". Mangyaring huwag mag-atubiling magbigay ng kontribusyon sa git repository at lumikha ng higit pang mga kontrol ng user friendly.

Ngayon handa na kayong suriin ang paggalaw OK. Sa Pi terminal, palitan ang direktoryo sa lego-robot / server at i-type:

sudo python robot.py

nagsisimula ito ng isang script ng sawa upang makinig para sa mga papasok na mensahe mula sa Pubnub.

Ngayon subukang pindutin ang ilang mga pindutan sa controller, dapat mong makita ang mga tugong ito na natanggap sa Pi Terminal (tulad ng ipinakita sa larawan sa itaas) at isinalin ng robot.py ang mga mensaheng ito sa mga paggalaw sa pamamagitan ng pagmamapa sa mga ito sa mga signal sa Pi GPIO.

Dapat mong ilipat ang robot sa paligid.

Hakbang 11: Ihanda ang Webcam at LED Lights

Ihanda ang Webcam at LED Lights
Ihanda ang Webcam at LED Lights
Ihanda ang Webcam at LED Lights
Ihanda ang Webcam at LED Lights

Maaari mong gamitin ang anumang webcam na katugma sa linux (karamihan sa mga ito ay). Pupunta ako para sa isang kalagitnaan ng saklaw ng isa (mga £ 15) habang sinubukan ko ang isang talagang murang at hindi makakuha ng anumang uri ng isang malinaw na imahe mula rito. Ang unang hakbang ay upang i-disassemble ang webcam upang magkaroon ka lamang ng pangunahing board at camera.

Kung nais mong mag-install ng mga ilaw, pagkatapos ay kumuha ng isang ilaw na LED at ikonekta ang dalawang mga wire sa paglukso sa bawat terminal. Gumamit ako ng mga jump wires na mayroong isang babaeng terminal sa isang dulo upang madali mo itong mai-plug sa mga pin ng Pis GPIO sa paglaon. Ang iba pang dulo ng kawad na kailangan mong i-strip, upang alisin ang terminal. Maaari ka ring maghinang dito upang makagawa ng isang ligtas na koneksyon. Gumamit din ako ng kaunting pag-urong na pambalot ng init, na magagamit mo upang takpan ang bawat kawad, kahit na hindi ako mag-alala tungkol sa paggawa ng napakahusay na trabaho nito hanggang sa masaya ka na gumagana ang lahat, pagkatapos ay makatapos ka at mapabuti. Magandang ideya din na gumamit ng isang risistor upang ihinto ang iyong LED mula sa pagkasunog.

Mayroong isang detalyadong itinuturo dito na nagdedetalye kung paano mag-wire LEDs.

Tulad ng ipinapakita ng larawan, gumagamit ako ng isang Lego block na may butas dito bilang isang madaling paraan upang mai-mount ang LED papunta sa ulo ng mga robot.

Hakbang 12: Lumikha ng Ulo Gamit ang Nose-cam at Mga Ilaw

Lumikha ng Ulo Gamit ang Nose-cam at Mga Ilaw
Lumikha ng Ulo Gamit ang Nose-cam at Mga Ilaw
Lumikha ng Ulo Gamit ang Nose-cam at Mga Ilaw
Lumikha ng Ulo Gamit ang Nose-cam at Mga Ilaw
Lumikha ng Ulo Gamit ang Nose-cam at Mga Ilaw
Lumikha ng Ulo Gamit ang Nose-cam at Mga Ilaw

Lumikha ng isang pabahay sa ulo para sa camera. Hindi ako magiging masyadong tiyak dito bilang oras para sa iyo upang maging malikhain. Gayunpaman kailangan mong bumuo sa paligid ng camera. Isinasama ng Dog bot ang camera sa ilong nito at may mga mata bilang mga LED. Tiyaking nag-iiwan ka ng isang butas sa likod ng ulo upang maakay ang mga wire.

Hakbang 13: Kumpletuhin ang Katawan

Kumpletuhin ang Katawan
Kumpletuhin ang Katawan
Kumpletuhin ang Katawan
Kumpletuhin ang Katawan
Kumpletuhin ang Katawan
Kumpletuhin ang Katawan

Ngayon masaya ka na ang dog bot ay karaniwang gumagalaw maaari kang lumikha ng isang pabahay para sa mga pack ng baterya. Gumamit ako ng isang pakete ng 4 na baterya ng AA (na ibinigay kasama ang mga gulong at base) at isang emergency phone charger pack. Ang mga baterya ng AA ay para sa mga motor ng DC para sa mga gulong at ang pack ng mobile phone ay para sa Pi. Magandang ideya na gawing madaling ma-access ang mga baterya dahil kailangan mong i-access ang mga ito para sa recharging at pagpapalit.

Kapag ang iyong masaya, maglagay ng bubong sa ibabaw ng Pi. Hindi ako masyadong nag-aalala tungkol sa pagtatago ng mga wire at circuitry, dahil bahagi iyon ng imahe ng mga robot. Gayunpaman nasa iyo ang lahat sa puntong ito. Maaaring gusto mong isaalang-alang kung gaano kabigat ang nakakakuha ng iyong bot, mas mabibigat mas mabagal ang paggalaw nito.

Hakbang 14: I-mount ang Ulo

I-mount ang Ulo
I-mount ang Ulo
I-mount ang Ulo
I-mount ang Ulo
I-mount ang Ulo
I-mount ang Ulo

Oras nito upang makakonekta ang lahat.

Ikonekta ang Webcams USB lead sa harap ng bot, gamit ang mga butas sa pag-access na iyong nilikha. Maaari mong i-secure ang wire sa robot sa pamamagitan ng paglikha ng ilang pabahay sa Lego. Pinapaikli ko rin ang USB cord sa pamamagitan ng paggupit at muling paghihinang nito, ngunit gawin lamang ito kung talagang mayroon kang isang hangarin na maghinang ng 4 na maliliit na mga wire nang magkasama. Maaaring mas madaling bumili ng isang maikling USB lead at muling ikonekta ito sa likod ng camera.

Kailangan mo ring ikonekta ang mga LED light sa mga Pis GPIO pin na hindi kinuha ng motor board controller. Ito ang mga GPIO pin 20 at 21 at ang dalawang ekstrang ground pin na malapit. Gumamit ng mga ekstrang ground pin sa malapit. Kung hindi gumana ang ilaw pagkatapos ay subukang lumipat ng bilog na lupa sa output ng GPIO. Upang mag-ehersisyo kung aling mga pin ang makakonekta sa google isang magandang diagram ng GPIO.

Hakbang 15: Subukan ang mga LED at ang Nose Cam

Subukan ang mga LED at ang Nose Cam
Subukan ang mga LED at ang Nose Cam

Upang simulan ang uri ng software ng webcam:

paggalaw ng sudo

Tiyaking sinimulan mo rin ang script ng robot.py (tulad ng detalyado sa previuos na tagubilin):

sudo python robot.py

Dapat mo na ngayong magamit ang switch ng ilaw sa controller upang i-on at i-off ang mga ilaw.

Dapat mag-broadcast ang web cam sa iyong Pis IP address sa port 8080, kaya halimbawa i-type ang sumusunod sa iyong web browser.

192.168.1.2:8081

Natagpuan ko ang Pi IP address sa pamamagitan ng pag-log sa aking router bilang isang admin at pagtingin sa mga nakalakip na aparato. Ang mga tagubilin sa kung paano ito gawin ay karaniwang nasa likod ng router, o sumangguni sa iyong mga tagubilin sa mga router sa online.

maaari mong tuklasin ang mga setting ng pagsasaayos ng paggalaw ng software, tulad ng inilarawan sa nakaraang hakbang. Nalaman ko na kung minsan ang pag-streaming ay naka-pause, ngunit sa pangkalahatan ay gumagana itong OK.

Maaari mong ma-access ang stream ng video na ito mula sa anumang tumatakbo sa isang browser na konektado sa iyong Wifi network.

Hakbang 16: Pagtatapos

Pag-access sa online

Dapat mo nang makontrol ang robot mula sa isang browser sa isang PC. Gayunpaman magandang upang makontrol ang bot mula sa anumang ugnay na aparato tulad ng Ipad o telepono.

Upang magawa ito kailangan mong i-host ang mga file ng client (pindutan.html atbp) sa isang webserver.

Nagsimula ako sa pamamagitan ng pag-install ng isang webserver sa Pi, na gumagana nang OK. Gayunpaman mas madaling i-upload lamang ang HTML file sa anumang iba pang webserver. Pasimple kong kinopya ang HTML file sa aking pampublikong asul na host account. Maaaring gusto mong i-file ang protektahan ang pag-access sa mga file na ito dahil naglalaman ang mga ito ng mga sub sub key sa iyong pub nub channel. Kapag nagawa mo ito maaari mong ma-access ang controller mula sa anumang aparato, kahit na mula sa labas ng iyong bahay.

Awtomatikong pagsisimula

Ang isa pang kapaki-pakinabang na bagay na dapat gawin ay ang napapanahon ang / etc / rc.local script sa iyong raspberry Pi; pagdaragdag ng dalawang linya:

  • paggalaw ng sudo
  • nohup sudo python /home/pi/lego-robot/server/robot.py &

Tatakbo ang mga ito sa tuwing nagsisimula ang Pi, kaya't hindi mo kailangang patakbuhin ang utos nang manu-mano.

Hakbang 17: Magsaya

Magpakasaya!
Magpakasaya!

Iyon ang lahat.

Mangyaring huwag mag-atubiling mag-iwan ng mga komento kung natigil ka at kung nais mong pagbutihin ang alinman sa software mangyaring magbigay ng kontribusyon sa github repository. Magpatuloy akong magtrabaho sa proyektong ito at narito ang ilang mga ideya:

  • Ang isang "malaking trak" na style controller kung saan mo program ang isang pagkakasunud-sunod ng mga utos tulad ng "left 10, forward 6, back 2 …" at pagkatapos ay pindutin ang "run" at isinasagawa ng robot ang mga utos.
  • Isang Pagkiling ng leeg, upang maaari kang tumingin nang paitaas sa webcam
  • Isang nagsasalita na nagsasalin ng teksto mula sa controller hanggang sa pagsasalita
  • Pagkontrol sa boses

Cheers

Si Pedro

Inirerekumendang: