Indholdsfortegnelse:

Dog Bot: Lego Robot Rover With Webcam: 17 trin (med billeder)
Dog Bot: Lego Robot Rover With Webcam: 17 trin (med billeder)

Video: Dog Bot: Lego Robot Rover With Webcam: 17 trin (med billeder)

Video: Dog Bot: Lego Robot Rover With Webcam: 17 trin (med billeder)
Video: 20 MOMENTS YOU WOULDN'T BELIEVE IF NOT FILMED 2024, Juli
Anonim
Image
Image

Sådan laver du en Lego -robot, du kan styre fra enhver skærm via wifi. Det har også et webcam, så du kan se, hvor du skal hen, og LED -lys til øjnene! Dette er et fantastisk projekt at lave med dine børn, da de kan lave logoet, og du kan involvere dem i så meget elektronik, som de er glade for. Der er masser af fleksibilitet i, hvordan du implementerer dette projekt, og det betyder, at du kan let tage det i stykker og redesigne igen. Jeg fandt det nyttigt, da jeg sad fast for simpelthen at starte forfra. Når du har gjort dette et par gange, er det ret let og hurtigt at genopbygge fra bunden. Det gode ved dette er, at du ikke behøver at være bekymret for at "bryde" noget, da du udvikler færdighederne til let at genopbygge.

Hvad du har brug for

  • Hindbær Pi B+
  • Base og motorsæt
  • Lego bundplade
  • Industriel styrke superlim
  • Bore
  • Håndværkskniv
  • Loddeudstyr
  • SD kort
  • SD -kortlæser
  • Motor controller kit
  • 2 lysdioder
  • mellempris webcam (du kan prøve et billigt)
  • PC og en tablet / telefon
  • Wifi -router, som du har admin -adgang til
  • Mange stykker Lego
  • Nødtelefon oplader
  • 4 springtråde hver med mindst 1 hunterminal
  • 4 AA -batterier (genopladeligt er godt)

Trin 1: Forbered basen

Jeg startede med en base og 2 motorer som dette motorsæt på Amazon

Tag perspexbasen og lim en tynd Lego bundplade på den. Jeg brugte industriel styrke superlim til dette, som tørrer på få minutter og er super stærk. Når limen er fast, skæres den overskydende Lego bundplade væk, så den følger linjen på perspex bundpladen. bor derefter huller gennem Lego -pladen, der matcher perspex -basen. Jeg borede hullerne efterhånden som jeg havde brug for dem. Du har nu grundlaget for at bygge din Lego -struktur.

Trin 2: Saml hjulene

Saml hjulene
Saml hjulene

Saml nu hjulene. Følg producentens anvisninger her. Hjulene jeg købte havde alle instruktionerne på kinesisk, som jeg ikke kan læse, men det var ret let at finde ud af billederne. Når de er samlet, fastgør du ledningerne til motorerne med en lille klat loddetin.

Trin 3: Fastgør hjulene til basen

Fastgør hjulene til bunden
Fastgør hjulene til bunden

Monter derefter hjulene på bundpladen, du kan bore huller i basen, hvis du har brug for det. I slutningen af projektet finder du sandsynligvis ud af, at du vil have ledningerne ført gennem basen et andet sted, men du kan altid bore et nyt hul og flytte senere.

Trin 4: Forbered Pi

Forbered Pi
Forbered Pi

Gør nu PI klar. Jeg brugte en model B+ med en USB wifi -dongle. Jeg brugte Full desktop -billedet baseret på Debian Jessie, som du kan downloade fra Raspbian Pi -webstedet. Det er værd at oprette SD -kortet fra bunden, og behold diskbilledet praktisk, da du nemt kan starte igen. Du skal muligvis google lidt for at finde ud af, hvordan du opretter diskbilledet på din pc. Jeg oprettede mit billede ved hjælp af Ubuntu på denne måde: Højreklik på diskbilledet og vælg "Åbn med disk image writer". Skriv billedet til SD -kortet. Diskbilledet er ret lille, så hvis du har et større SD -kort (f.eks. 30 GB) kan du bruge partitionssoftware som GParted til at bruge al den ledige plads. Når du har fundet ud af, hvordan du gør dette, tager det cirka 5 minutter, og det er virkelig det værd, som om du ødelægger softwaren, kan du bare geninstallere det igen.

Trin 5: Monter controllerkortet

Monter kontrolkortet
Monter kontrolkortet

Dernæst har du brug for et motorkontrolkort. Jeg brugte sættet fra RyanTek. Den leveres med en glimrende loddevejledning, men jeg tror, at du også kan få den forud loddet. Hvis du ikke har foretaget lodning før, skal du ikke bekymre dig, bare tag det langsomt og øv dig lidt, før du starter på motorbrættet.

Sæt nu batteripakken (med 4 AA -batterier) og motorerne op på controller -kortet, og sæt derefter controller -kortet på GPIO -benene på Pi. Igen vil controller -kortet give dig flere detaljer. Du skal ikke bekymre dig om at få de rigtige motortråde ind i de rigtige slots, så længe de ikke er forbundet til DC -strømsporene. Jeg limer eller skruer ikke Pi eller batteripakken på Lego -brættet, da dette giver dig mere fleksibilitet, når du designer Lego -kroppen. Du kan også nemt ændre dit design undervejs.

Trin 6: Start med at bygge Lego Body

Start med at bygge Lego Body
Start med at bygge Lego Body
Start med at bygge Lego Body
Start med at bygge Lego Body

Nu er det tid til at bygge noget Lego. På dette tidspunkt kan du få virkelig unge børn med, så længe de kan holde et stykke Lego! Vi startede med bare et grundlæggende firkantet hus, indtil alt fungerede, og derefter blev mere eventyrligt med hundebotten. Det store her er, at du kan genopbygge robotkroppen, så meget du vil. Start med at oprette et hjem til Pi. Husk at give plads til USB -portene og strømkablerne. Bygg en hel del løshed ind i ethvert hus, du bygger. Det er OK, at tingene skramler lidt rundt, og du kan ikke være for præcis med Lego.

Vi brugte Lego -vinduer til at give adgang til de USB -porte, som du får brug for senere.

Trin 7: Forbered Pi

Det er et godt tidspunkt nu at starte Pi'en og få robotten i gang.

Jeg har udviklet den kode, der skal bruges med dette projekt på Git -hub. Læs mig på git -hub -siderne tager dig igennem instruktionerne om, hvordan du installerer al softwaren på Pi, men jeg tager dig også igennem trinene her.

Start først Pi'en ved at tilslutte strømkablet. Du skal slutte HDMI -kablet til et tv og bruge et USB -tastatur og en mus. Den første ting er at oprette forbindelse til din Wifi. du gør dette ved at klikke på ikonet øverst til højre på Raspian -skrivebordet og bevise detaljerne. Når du er tilsluttet Wifi, kan du gøre alt andet fra kommandolinjen, så hvis du foretrækker det, kan du oprette forbindelse til Pi ved hjælp af ssh, men for nu, da vi er tilsluttet et tv, kan vi åbne en terminal fra Raspian -skrivebordet.

Trin 8: Installer softwaren på Pi

Åbn terminalen på Pi og indtast følgende kommandoer.

sudo apt-get opdatering

Dette opdaterer Raspian med den nyeste software.

Installer derefter webcam -softwaren

sudo apt-get installere bevægelse

Du skal også konfigurere bevægelse på dette tidspunkt. Jeg har angivet, hvad der skal opdateres i hvilke filer på github -siderne. Der er også en instruktion om at få et webcam til at fungere på din Pi. Lær indstillingerne at kende, og leg med dem, når du er fortrolig med opsætningen.

sudo apt-get install python-dev python-pip

Dette installerer Python -biblioteker og også python -softwarepakningshåndteringen.

sudo pip install 'pubnub> = 4.1.2'

Dette installerer Pubnub, softwaren, der administrerer beskederne mellem kontrolpanelet og din trådløse robot.

Det tager et stykke tid at installere denne del, så gå og lav en kop te !!

Trin 9: Installer Robotsoftwaren

Nu har du installeret alle de afhængige softwarestykker, det er tid til at installere den kode, der kræves for at køre robotten.

git-klon

dette vil oprette en lego-robot-mappe i din hjemmekatalog.

Før du kan køre robotkoden, skal du oprette en PubNub -konto og få en udgivelses- og abonnementsnøgle. du kan gøre dette ved at følge instruktionerne i gang nu på PubNub. Når du er konfigureret, skal du åbne de to filer:

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

og udskift pub- og subnøglerne med dine nøgler, som du kan få fra pubnub -instrumentbrættet.

Bemærk, at kanalværdien kan være alt, så længe den matcher på klient og server.

Trin 10: Installer controllersoftwaren, og kontroller, at alt fungerer

Installer controllersoftwaren, og kontroller, at alt fungerer
Installer controllersoftwaren, og kontroller, at alt fungerer
Installer controllersoftwaren, og kontroller, at alt fungerer
Installer controllersoftwaren, og kontroller, at alt fungerer

På en pc skal du klone git -hub -koden på samme måde som vi gjorde på robotten.

git-klon

Du har muligvis ikke git installeret på din pc. Hvis ikke, følg venligst instruktionerne på git hub.

Du har også mulighed for at downloade koden som en zip -fil, selvom jeg vil råde dig til at installere GIT og kopiere filerne ved at klone depotet.

du skal opdatere filen lego-robot/client/keys.js med dine personlige udgivelses- og abonnementsnøgler.

Når du er færdig, skal du åbne filen lego-robot/client/buttons.html i en webbrowser. Du skal nu kunne styre din robot ved hjælp af kontrolknapperne.

Diagrammet ovenfor viser, hvad der sker:

  • Når du klikker på en knap, sendes en besked til pubnub (ved hjælp af din udgivelsesnøgle)
  • PubNub videresender derefter til robotten, der …
  • Lytter (ved hjælp af abonnementstasten) efter meddelelser
  • Robotten oversætter derefter til en handling.

Jeg brugte pubNub som sin gratis, hurtige (realtid) og forenkler i høj grad afsendelse og modtagelse af beskeder ved hjælp af en virkelig flot API.

Du kan grave ind i klient- og serverkoden og se beskederne blive sendt ved hjælp af enkle taster som "fremad" og "baglæns".

Der er også en joystick-stil controller på lego-robot/client/joystick.html.

Jeg vil forbedre disse controllere og tilføje nye hele tiden, så hvis du nogensinde vil opdatere software, kan du bruge kommandoen "git pull". Du er også velkommen til at bidrage til git -depotet og oprette mere brugervenlige kontroller.

Nu er du alle klar til at kontrollere, om bevægelsen fungerer OK. På Pi-terminalen skal du ændre bibliotek til lego-robot/server og skrive:

sudo python robot.py

dette starter et python -script til at lytte efter indgående meddelelser fra Pubnub.

Prøv nu at trykke på nogle knapper på controlleren, du skal se disse svar modtaget på Pi Terminal (som vist på billedet ovenfor) og robot.py oversætter disse meddelelser til bevægelser ved at kortlægge dem til signaler på Pi GPIO.

Du bør være i stand til at flytte robotten rundt.

Trin 11: Forbered webcam og LED -lamper

Forbered webcam og LED -lys
Forbered webcam og LED -lys
Forbered webcam og LED -lys
Forbered webcam og LED -lys

Du kan bruge ethvert webcam, der er linux -kompatibelt (de fleste af dem er). Jeg ville gå til en mellemklasse (ca. £ 15), da jeg prøvede en rigtig billig og ikke kunne få nogen form for et klart billede fra det. Første trin er at skille webcam ad, så du bare har det grundlæggende kort og kamera.

Hvis du vil installere lys, skal du tage et LED -lys og tilslutte to hoppetråde til hver terminal. Jeg brugte springtråde, der har en hunterminal i den ene ende, så du let kan tilslutte det til Pis GPIO -benene senere. Den anden ende af ledningen skal du fjerne for at fjerne terminalen. Du kan også lodde her for at oprette en sikker forbindelse. Jeg brugte også en varmekrympende indpakning, som du kan bruge til at dække hver ledning til, selvom jeg ikke ville bekymre mig om at lave et for godt stykke arbejde, før du er glad for, at alt fungerer, så kan du afslutte og forbedre. Det er også en god idé at bruge en modstand til at stoppe din LED fra at brænde put.

Der er en detaljeret instruerbar her, der beskriver, hvordan man tilslutter LED'er.

Som billedet viser, bruger jeg en legoklods med et hul i som en let måde at montere LED'en på robotternes hoved.

Trin 12: Opret hovedet med næse-cam og lys

Opret hovedet med næse-cam og lys
Opret hovedet med næse-cam og lys
Opret hovedet med næse-cam og lys
Opret hovedet med næse-cam og lys
Opret hovedet med næse-cam og lys
Opret hovedet med næse-cam og lys

Opret et hovedhus til kameraet. Jeg vil ikke være for specifik her, da det er tid til at du er kreativ. Du skal dog bygge omkring kameraet. Dog bot integrerer kameraet i næsen og har øjnene som LED'er. Sørg for at efterlade et hul bag på hovedet for at føre ledningerne ud.

Trin 13: Fuldfør kroppen

Fuldfør kroppen
Fuldfør kroppen
Fuldfør kroppen
Fuldfør kroppen
Fuldfør kroppen
Fuldfør kroppen

Nu er du glad for, at hundebotten stort set bevæger sig, du kan oprette et hus til batteripakkerne. Jeg brugte en pakke med 4 AA -batterier (følger med hjulene og basen) og en telefonopladerpakke. AA -batterierne er til DC -motorer til hjulene, og mobiltelefonpakken er til Pi. Det er en god idé at gøre batterierne let tilgængelige, da du skal have adgang til dem til genopladning og udskiftning.

Når du er glad, læg et tag over Pi. Jeg bekymrer mig ikke for meget om at skjule ledninger og kredsløb, da det er en del af robotternes image. Men det er helt op til dig på dette tidspunkt. Du vil måske overveje, hvor tung din bot bliver, jo tungere jo langsommere den bevæger sig.

Trin 14: Monter hovedet

Monter hovedet
Monter hovedet
Monter hovedet
Monter hovedet
Monter hovedet
Monter hovedet

Det er tid til at få alt forbundet.

Tilslut webkameraets USB -kabel til fronten af botten ved hjælp af de adgangshuller, du har oprettet. Du kan fastgøre ledningen til robotten ved at oprette et Lego -hus. Jeg forkortede også USB-kablet ved at klippe og lodde det igen, men gør det kun, hvis du virkelig har lyst til at lodde 4 bittesmå ledninger sammen. Det kan være lettere at købe en kort USB -ledning og slutte den til bagsiden af kameraet.

Du skal også tilslutte LED -lysene til Pis GPIO -benene, der ikke optages af motorkortets controller. Disse er GPIO ben 20 og 21 og de to ekstra jordstifter i nærheden. Brug de ekstra jordstifter i nærheden. Hvis lyset ikke virker, så prøv at skifte jord med GPIO -udgangen. FOR at finde ud af, hvilke pins der skal forbindes til google, et godt GPIO -diagram.

Trin 15: Test lysdioderne og Nose Cam

Test lysdioderne og Nose Cam
Test lysdioderne og Nose Cam

Sådan starter du webcam -softwaretypen:

sudo bevægelse

Sørg også for, at du har startet robot.py -scriptet (som beskrevet i tidligere instruktioner):

sudo python robot.py

Du skulle nu kunne bruge lyskontakten på controlleren til at tænde og slukke lyset.

Webkameraet skal sende på din Pis IP -adresse på port 8080, så indtast f.eks. Følgende i din webbrowser.

192.168.1.2:8081

Jeg fandt Pi IP -adressen ved at logge på min router som admin og se på de vedhæftede enheder. Instruktioner om, hvordan du gør dette, er normalt på bagsiden af routeren, eller se dine routers instruktioner online.

du kan undersøge konfigurationsindstillingerne for bevægelsessoftwaren, som beskrevet i det foregående trin. Jeg synes, at streaming nogle gange standser, men generelt fungerer det OK.

Du kan få adgang til denne videostream fra alt, hvad der kører en browser, der er forbundet til dit Wifi -netværk.

Trin 16: Afslutning

Online adgang

Du skal nu kunne styre robotten fra en browser på en pc. Det er dog rart at kunne styre botten fra enhver berøringsenhed som Ipad eller telefon.

For at gøre dette skal du være vært for klientfilerne (buttons.html osv.) På en webserver.

Jeg startede med at installere en webserver på Pi, som fungerer OK. Det er dog lettere at uploade HTML -filen til enhver anden webserver. Jeg kopierede simpelthen HTML -filen til min offentlige blå værtskonto. Du vil måske filbeskytte adgangen til disse filer, da de indeholder pub -subnøglerne til din pub -nub -kanal. Når du har gjort dette, kan du få adgang til controlleren fra enhver enhed, selv uden for dit hus.

Automatisk opstart

En anden nyttig ting at gøre er at opdatere / etc / rc.local scriptet på din hindbær Pi; tilføjer disse to linjer:

  • sudo bevægelse
  • nohup sudo python /home/pi/lego-robot/server/robot.py &

Disse kører hver gang Pi starter, så du behøver ikke at køre kommandoen manuelt.

Trin 17: God fornøjelse

Hav det sjovt !
Hav det sjovt !

Det er alt.

Du er velkommen til at efterlade kommentarer, hvis du sidder fast, og hvis du vil forbedre noget af softwaren, bedes du bidrage til github -depotet. Jeg vil fortsætte med at arbejde på dette projekt, og her er nogle ideer:

  • En "big trak" -controller, hvor du programmerer en række kommandoer som "venstre 10, fremad 6, bagud 2 …" og derefter rammer "run", og robotten udfører kommandoerne.
  • En vippehals, så du kan se opad med webkameraet
  • En højttaler, der oversætter tekst fra controlleren til tale
  • Stemmestyret kontrol

Skål

Peter

Anbefalede: