Satura rādītājs:

Suņu robots: Lego Robot Rover ar tīmekļa kameru: 17 soļi (ar attēliem)
Suņu robots: Lego Robot Rover ar tīmekļa kameru: 17 soļi (ar attēliem)

Video: Suņu robots: Lego Robot Rover ar tīmekļa kameru: 17 soļi (ar attēliem)

Video: Suņu robots: Lego Robot Rover ar tīmekļa kameru: 17 soļi (ar attēliem)
Video: LEGO 42158: NASA Mars Perseverance Rover - HANDS-ON REVIEW 2024, Jūlijs
Anonim
Image
Image

Lūk, kā izveidot Lego robotu, kuru varat kontrolēt no jebkura ekrāna, izmantojot Wi -Fi. Tam ir arī tīmekļa kamera, lai jūs varētu redzēt, kurp dodaties, un LED gaismas acīm! Šis ir lielisks projekts, ko darīt kopā ar saviem bērniem, jo viņi var veidot logotipu, un jūs varat iesaistīt viņus tik daudz elektronikas, cik viņi ir apmierināti. Šī projekta īstenošanā ir daudz elastības, un tas nozīmē, ka jūs var viegli to sagriezt gabalos un atkal pārveidot. Man šķita noderīgi, kad iestrēdzu vienkārši sākt no jauna. Kad esat to izdarījis dažas reizes, to ir viegli un ātri atjaunot no paša sākuma. Lieliskākais ir tas, ka jums nav jāuztraucas par kaut ko “salaušanu”, jo jūs attīstīsit prasmes viegli atjaunot.

Ko tev vajag

  • Raspberry Pi B+
  • Bāzes un motora komplekts
  • Lego pamatplāksne
  • Rūpnieciskās izturības super līme
  • Urbis
  • Amatniecības nazis
  • Lodēšanas iekārtas
  • SD karte
  • SD karšu lasītājs
  • Motora kontrollera komplekts
  • 2 gaismas diodes
  • vidējās cenas tīmekļa kamera (varat izmēģināt lētu)
  • Dators un planšetdators / tālrunis
  • Wifi maršrutētājs, kuram jums ir administratora piekļuve
  • Daudz Lego gabalu
  • Avārijas tālruņa lādētājs
  • 4 lēciena vadi ar vismaz vienu sieviešu spaili
  • 4 AA baterijas (labi uzlādējamas)

1. darbība: sagatavojiet pamatni

Es sāku ar bāzi un 2 motoriem, piemēram, šo motoru komplektu Amazon

Paņemiet perspex pamatni un pielīmējiet tai plānu Lego pamatplāksni. Šim nolūkam es izmantoju rūpnieciski izturīgu super līmi, kas izžūst dažu minūšu laikā un ir ļoti spēcīga. Kad līme ir nostiprināta, nogrieziet lieko Lego pamatplāksni tā, lai tā sekotu perspex pamatplāksnes līnijai. tad caur Lego plāksni izurbiet caurumus, kas atbilst perspex pamatnei. Es urbju caurumus, kad un kad man tie bija nepieciešami. Tagad jums ir pamats Lego struktūras veidošanai.

2. solis: salieciet riteņus

Salieciet riteņus
Salieciet riteņus

Tagad salieciet riteņus. Izpildiet ražotāja norādījumus šeit. Riteņiem, kurus es nopirku, bija visi norādījumi ķīniešu valodā, kurus es nevaru izlasīt, bet pēc attēliem to bija diezgan viegli saprast. Pēc montāžas pievienojiet vadus motoriem ar nelielu lodēšanas lāpstiņu.

3. solis: piestipriniet riteņus pie pamatnes

Piestipriniet riteņus pie pamatnes
Piestipriniet riteņus pie pamatnes

Pēc tam piestipriniet riteņus pie pamatnes plāksnes, ja nepieciešams, varat urbt pamatnē caurumus. Jūs, iespējams, projekta beigās uzzināsit, ka vēlaties, lai vadi tiktu izvesti caur pamatni kaut kur citur, taču jūs vienmēr varat izurbt jaunu caurumu un vēlāk pārvietot.

4. solis: sagatavojiet Pi

Sagatavojiet Pi
Sagatavojiet Pi

Tagad sagatavojiet PI. Es izmantoju modeli B+ ar USB wifi dongle. Es izmantoju pilnu darbvirsmas attēlu, kura pamatā ir Debian Jessie, kuru varat lejupielādēt no Raspbian Pi vietnes. Ir vērts izveidot SD karti no nulles un saglabāt diska attēlu pa rokai, jo to var viegli sākt no jauna. Jums, iespējams, būs nedaudz jāmeklē googlē, lai noskaidrotu, kā datorā izveidot diska attēlu. Es izveidoju savu attēlu, izmantojot Ubuntu šādi: ar peles labo pogu noklikšķiniet uz diska attēla un atlasiet “atvērt ar diska attēlu rakstītāju”. Ierakstiet attēlu SD kartē. Diska attēls ir diezgan mazs, tādēļ, ja jums ir lielāka SD karte (piemēram, 30 GB), varat izmantot nodalīšanas programmatūru, piemēram, GParted, lai izmantotu visu pieejamo vietu. Kad esat izdomājis, kā to izdarīt, tas aizņem apmēram 5 minūtes, un tas tiešām ir tā vērts, it kā jūs izjauktu programmatūru, kuru varat vienkārši atkārtoti instalēt.

5. darbība. Uzstādiet vadības paneli

Uzstādiet vadības paneli
Uzstādiet vadības paneli

Tālāk jums ir nepieciešama motora vadības pults. Es izmantoju RyanTek komplektu. Tam ir lielisks lodēšanas ceļvedis, taču, manuprāt, jūs to varat arī iepriekš pielodēt. Ja iepriekš neesat veicis lodēšanu, neuztraucieties, vienkārši paņemiet to lēnām un nedaudz praktizējiet, pirms sākat strādāt ar motoru.

Tagad pievienojiet akumulatoru komplektu (ar 4 AA baterijām) un motorus līdz kontrollera panelim, pēc tam pievienojiet kontrollera paneli uz Pi GPIO tapām. Atkal vadības panelis sniegs jums sīkāku informāciju. Neuztraucieties par pareizo motora vadu nokļūšanu pareizajos slotos, ja vien tie nav savienoti ar līdzstrāvas barošanas spraugām. Es nelīmēju un neskrūvēju Pi vai akumulatoru uz Lego tāfeles, jo tas dod jums lielāku elastību, izstrādājot Lego korpusu. Jūs varat arī viegli mainīt savu dizainu, ejot garām.

6. darbība: sāciet veidot Lego korpusu

Sāciet veidot Lego korpusu
Sāciet veidot Lego korpusu
Sāciet veidot Lego korpusu
Sāciet veidot Lego korpusu

Tagad ir pienācis laiks izveidot Lego. Šajā brīdī jūs varat iesaistīt patiešām mazus bērnus, ja vien viņi var turēt gabaliņu Lego! Mēs sākām ar vienkāršu kvadrātveida mājokli, līdz viss strādāja, pēc tam piedzīvojām vairāk ar suņu botu. Lieliski šeit ir tas, ka jūs varat atjaunot robota korpusu, cik vēlaties. Sāciet, izveidojot mājas Pi. Atcerieties atstāt vietu USB portiem un barošanas kabeļiem. Jebkurā būvētajā mājoklī izveidojiet pietiekami daudz brīvības. Ir labi, ja lietas mazliet grabo, un jūs nevarat būt pārāk precīzs ar Lego.

Mēs izmantojām Lego logus, lai nodrošinātu piekļuvi vēlāk nepieciešamajiem USB portiem.

7. solis: sagatavojiet Pi

Ir pienācis īstais laiks sākt Pi un iedarbināt robotu.

Esmu izstrādājis kodu, ko izmantot šajā projektā Git centrmezglā. Lasot mani git hub lapās, jūs atradīsit instrukcijas, kā instalēt visu programmatūru Pi, bet es arī jūs iepazīstināšu ar soļiem šeit.

Vispirms palaidiet Pi, pievienojot strāvas kabeli. Jums būs jāpievieno HDMI kabelis televizoram un jāizmanto USB tastatūra un pele. Pirmā lieta ir izveidot savienojumu ar Wifi. jūs to darāt, noklikšķinot uz ikonas Raspian darbvirsmas augšējā labajā stūrī un pierādot informāciju. Kad esat izveidojis savienojumu ar Wifi, jūs varat darīt visu pārējo no komandrindas, tādēļ, ja vēlaties, varat izveidot savienojumu ar Pi, izmantojot ssh, bet pagaidām, kad esam izveidojuši savienojumu ar televizoru, mēs varam atvērt termināli no Raspian darbvirsmas.

8. solis: instalējiet programmatūru Pi

Atveriet termināli Pi un ierakstiet šādas komandas.

sudo apt-get update

Tas atjaunina Raspian ar jaunāko programmatūru.

Pēc tam instalējiet tīmekļa kameras programmatūru

sudo apt-get install motion

Šajā brīdī jums arī jākonfigurē kustība. Esmu uzskaitījis, kuri faili Github lapās ir jāatjaunina. Ir arī pamācība par tīmekļa kameras izmantošanu jūsu Pi. Iepazīstieties ar iestatījumiem un spēlējiet ar tiem, kad esat apmierināts ar iestatīšanu.

sudo apt-get instalēt python-dev python-pip

Tas instalē Python bibliotēkas un arī python programmatūras iepakojuma pārvaldnieku.

sudo pip instalēt 'pubnub> = 4.1.2'

Tas instalē programmatūru Pubnub, kas pārvalda ziņojumapmaiņu starp vadības paneli un bezvadu robotu.

Šīs daļas uzstādīšana prasa kādu laiku, tāpēc ejiet un pagatavojiet tasi tējas !!

9. darbība: instalējiet robota programmatūru

Tagad esat instalējis visus atkarīgos programmatūras fragmentus, ir pienācis laiks instalēt kodu, kas nepieciešams robota palaišanai.

git klons

tas jūsu mājas direktorijā izveidos mapi lego-robot.

Pirms robota koda palaišanas jums ir jāizveido PubNub konts un jāsaņem publicēšanas un abonēšanas atslēga. to var izdarīt, izpildot PubNub vietnē sniegtos norādījumus par darba sākšanu tūlīt. Kad esat iestatījis, jums ir jāatver divi faili:

  • lego-robots/serveris/atslēgas.py
  • lego-robots/klients/keys.js

un nomainiet kroga un apakšatslēgas ar atslēgām, kuras varat iegūt no pubnub informācijas paneļa.

Ņemiet vērā, ka kanāla vērtība var būt jebkas, ja vien tā atbilst klientam un serverim.

10. solis: instalējiet kontroliera programmatūru un pārbaudiet, vai viss darbojas

Instalējiet kontroliera programmatūru un pārbaudiet, vai viss darbojas
Instalējiet kontroliera programmatūru un pārbaudiet, vai viss darbojas
Instalējiet kontroliera programmatūru un pārbaudiet, vai viss darbojas
Instalējiet kontroliera programmatūru un pārbaudiet, vai viss darbojas

Datorā klonējiet git hub kodu tādā pašā veidā, kā mēs to darījām robotam.

git klons

Iespējams, jūsu datorā nav instalēta git. Ja nē, lūdzu, izpildiet norādījumus vietnē git hub.

Jums ir arī iespēja lejupielādēt kodu kā zip failu, lai gan es ieteiktu instalēt GIT un kopēt failus, klonējot krātuvi.

jums būs jāatjaunina lego-robot/client/keys.js fails, izmantojot personīgās publicēšanas un abonēšanas atslēgas.

Kad esat pabeidzis, tīmekļa pārlūkprogrammā atveriet failu lego-robot/client/buttons.html. Tagad jums vajadzētu būt iespējai vadīt savu robotu, izmantojot vadības pogas.

Iepriekš redzamā diagramma parāda, kas notiek:

  • Noklikšķinot uz pogas, uz pubnub tiek nosūtīts ziņojums (izmantojot publicēšanas atslēgu)
  • Pēc tam PubNub pārsūta robotam, kurš…
  • Ziņojumi tiek klausīti (izmantojot abonēšanas taustiņu)
  • Pēc tam robots pārvēršas par darbību.

Es izmantoju pubNub kā bezmaksas, ātru (reāllaika) un ievērojami vienkāršo ziņojumu sūtīšanu un saņemšanu, izmantojot patiešām jauku API.

Jūs varat iedziļināties klienta un servera kodā un redzēt, kā tiek sūtīti ziņojumi, izmantojot vienkāršus taustiņus, piemēram, "uz priekšu" un "atpakaļ".

Vietnē lego-robot/client/joystick.html ir arī kursorsviras stila kontrolieris.

Es uzlabošu šos kontrolierus un visu laiku pievienosim jaunus, tādēļ, ja vēlaties atjaunināt programmatūru, varat izmantot komandu "git pull". Lūdzu, nekautrējieties arī palīdzēt git krātuvē un izveidot lietotājam draudzīgākas vadīklas.

Tagad jūs visi esat gatavi pārbaudīt, vai kustība darbojas labi. Pi terminālī mainiet direktoriju uz lego-robotu/serveri un ierakstiet:

sudo python robot.py

tas palaiž python skriptu, lai uzklausītu ienākošos ziņojumus no Pubnub.

Tagad mēģiniet nospiest dažas kontroliera pogas, jums vajadzētu redzēt šīs atbildes, kas saņemtas Pi terminālī (kā parādīts attēlā iepriekš), un robot.py pārvērš šos ziņojumus kustībās, kartējot tos uz Pi GPIO signāliem.

Jums vajadzētu būt iespējai pārvietot robotu.

11. darbība. Sagatavojiet tīmekļa kameru un LED gaismas

Sagatavojiet tīmekļa kameru un LED gaismas
Sagatavojiet tīmekļa kameru un LED gaismas
Sagatavojiet tīmekļa kameru un LED gaismas
Sagatavojiet tīmekļa kameru un LED gaismas

Varat izmantot jebkuru tīmekļa kameru, kas ir saderīga ar Linux (lielākā daļa no tām ir). Es gribētu izvēlēties vidēja diapazona vienu (apmēram £ 15), jo izmēģināju patiešām lētu un nevarēju no tā iegūt skaidru attēlu. Pirmais solis ir izjaukt tīmekļa kameru, lai jums būtu tikai pamata dēlis un kamera.

Ja vēlaties uzstādīt gaismas, tad paņemiet LED gaismu un pievienojiet divus lēcu vadus katram terminālim. Es izmantoju lēcienu vadus, kuru vienā galā ir sietiņa, lai vēlāk varētu to viegli pieslēgt Pis GPIO tapām. Otru stieples galu nepieciešams noņemt, lai noņemtu spaili. Šeit varat arī lodēt, lai izveidotu drošu savienojumu. Es arī izmantoju kādu termiski saraucošu apvalku, ko varat izmantot, lai aizsegtu katru vadu, lai gan es neuztraucos par pārāk labu darbu, kamēr neesat apmierināts, ka viss darbojas, tad varat pabeigt un uzlabot. Tā ir arī laba ideja izmantot rezistoru, lai apturētu gaismas diodes dedzināšanu.

Šeit ir detalizēta instrukcija, kurā sīki aprakstīts, kā savienot gaismas diodes.

Kā redzams attēlā, es izmantoju Lego klucīti ar caurumu, lai vienkārši uzstādītu gaismas diodi uz robota galvas.

12. solis: izveidojiet galvu ar deguna izciļņiem un gaismām

Izveidojiet galvu ar deguna izciļņiem un gaismām
Izveidojiet galvu ar deguna izciļņiem un gaismām
Izveidojiet galvu ar deguna izciļņiem un gaismām
Izveidojiet galvu ar deguna izciļņiem un gaismām
Izveidojiet galvu ar deguna izciļņiem un gaismām
Izveidojiet galvu ar deguna izciļņiem un gaismām

Izveidojiet kamerai galvas korpusu. Es šeit nebūšu pārāk konkrēts, jo ir pienācis laiks jums būt radošam. Tomēr jums ir jāveido ap kameru. Suņu bots integrē kameru degunā, un acis ir kā gaismas diodes. Noteikti atstājiet caurumu galvas aizmugurē, lai izvadītu vadus.

13. solis: aizpildiet ķermeni

Pabeigt ķermeni
Pabeigt ķermeni
Pabeigt ķermeni
Pabeigt ķermeni
Pabeigt ķermeni
Pabeigt ķermeni

Tagad jūs esat laimīgs, ka suņu robots būtībā pārvietojas, jūs varat izveidot akumulatoru korpusu. Es izmantoju 4 AA bateriju komplektu (komplektā ar riteņiem un pamatni) un ārkārtas tālruņa lādētāja komplektu. AA baterijas ir paredzētas riteņu līdzstrāvas motoriem, un mobilā tālruņa komplekts ir paredzēts Pi. Ieteicams padarīt baterijas viegli pieejamas, jo tām būs jāpiekļūst uzlādēšanai un nomaiņai.

Kad esat laimīgs, uzlieciet jumtu virs Pi. Es pārāk neuztraucos par vadu un shēmu slēpšanu, jo tā ir daļa no robotu attēla. Tomēr šajā brīdī viss ir atkarīgs no jums. Jūs varētu vēlēties apsvērt, cik smags kļūst jūsu robots, jo smagāks, jo lēnāk tas pārvietojas.

14. solis: uzstādiet galvu

Uzstādiet galvu
Uzstādiet galvu
Uzstādiet galvu
Uzstādiet galvu
Uzstādiet galvu
Uzstādiet galvu

Ir pienācis laiks visu savienot.

Pievienojiet tīmekļa kameru USB vadu robota priekšpusei, izmantojot izveidotos piekļuves caurumus. Jūs varat nostiprināt vadu pie robota, izveidojot kādu Lego korpusu. Es arī saīsināju USB vadu, pārgriežot un atkārtoti lodējot, bet dariet to tikai tad, ja jums patiešām ir vēlme kopā lodēt 4 mazus vadus. Varētu būt vieglāk iegādāties īsu USB vadu un atkal pievienot to kameras aizmugurē.

Jums arī jāpieslēdz LED gaismas pie Pis GPIO tapām, kuras neizmanto motora plates kontrolieris. Tās ir GPIO tapas 20 un 21 un divas rezerves zemējuma tapas tuvumā. Izmantojiet tuvumā esošās rezerves zemes tapas. Ja gaisma nedarbojas, mēģiniet pārslēgt apaļo zemi ar GPIO izeju. Lai noskaidrotu, kuras tapas savienot ar Google, laba GPIO diagramma.

15. darbība: pārbaudiet gaismas diodes un deguna kameru

Pārbaudiet gaismas diodes un deguna kameru
Pārbaudiet gaismas diodes un deguna kameru

Lai palaistu tīmekļa kameras programmatūras veidu:

sudo kustība

Pārliecinieties arī, vai esat palaidis skriptu robot.py (kā aprakstīts iepriekšējā instrukcijā):

sudo python robot.py

Tagad jums vajadzētu būt iespējai izmantot kontrollera gaismas slēdzi, lai ieslēgtu un izslēgtu gaismas.

Tīmekļa kamerai vajadzētu pārraidīt jūsu Pis IP adresē portā 8080, tāpēc, piemēram, ierakstiet šādu informāciju savā tīmekļa pārlūkprogrammā.

192.168.1.2:8081

Es atradu Pi IP adresi, piesakoties savā maršrutētājā kā administrators un apskatot pievienotās ierīces. Norādījumi par to, kā to izdarīt, parasti atrodas maršrutētāja aizmugurē, vai arī skatiet maršrutētāja norādījumus tiešsaistē.

varat izpētīt kustības programmatūras konfigurācijas iestatījumus, kā aprakstīts iepriekšējā solī. Es uzskatu, ka dažreiz straumēšana tiek pārtraukta, bet kopumā tā darbojas labi.

Šai video straumei varat piekļūt no jebkuras vietas, kurā darbojas pārlūks, kas ir savienots ar jūsu Wifi tīklu.

16. solis: pabeigšana

Piekļuve tiešsaistē

Tagad jums vajadzētu būt iespējai vadīt robotu no datora pārlūkprogrammas. Tomēr ir jauki, ka robotu var vadīt no jebkuras skārienierīces, piemēram, iPad vai tālruņa.

Lai to izdarītu, tīmekļa serverī ir jāmitina klienta faili (buttons.html utt.).

Es sāku, instalējot tīmekļa serveri Pi, kas darbojas labi. Tomēr ir vieglāk vienkārši augšupielādēt HTML failu jebkurā citā tīmekļa serverī. Es vienkārši nokopēju HTML failu savā publiskajā zilajā saimniekdatora kontā. Iespējams, vēlēsities aizsargāt piekļuvi šiem failiem, jo tajos ir jūsu pub nub kanāla kroga apakšatslēgas. Kad esat to izdarījis, varat piekļūt kontrolierim no jebkuras ierīces, pat no savas mājas.

Automātiska palaišana

Vēl viena noderīga lieta ir atjaunināt vietējo skriptu savā aveņu Pi; pievienojot šīs divas rindas:

  • sudo kustība
  • nohup sudo python /home/pi/lego-robot/server/robot.py &

Tie tiks palaisti katru reizi, kad tiks palaists Pi, tāpēc jums nav manuāli jāizpilda komanda.

17. solis: izklaidējieties

Izklaidējieties!
Izklaidējieties!

Tas ir viss.

Lūdzu, nekautrējieties atstāt komentārus, ja esat iestrēdzis un ja vēlaties uzlabot kādu no programmatūrām, lūdzu, dodiet ieguldījumu github krātuvē. Es turpināšu strādāt pie šī projekta, un šeit ir dažas idejas:

  • "Lielā trak" stila kontrolieris, kurā jūs ieprogrammējat komandu secību, piemēram, "pa kreisi 10, uz priekšu 6, atpakaļ 2 …" un pēc tam nospiediet "palaist", un robots izpilda komandas.
  • Noliekts kakls, lai ar tīmekļa kameru varētu skatīties uz augšu
  • Skaļrunis, kas tulko tekstu no kontroliera uz runu
  • Vadība ar balsi

Priekā

Pēteris

Ieteicams: