Innholdsfortegnelse:

Dog Bot: Lego Robot Rover With Webcam: 17 Steps (med bilder)
Dog Bot: Lego Robot Rover With Webcam: 17 Steps (med bilder)

Video: Dog Bot: Lego Robot Rover With Webcam: 17 Steps (med bilder)

Video: Dog Bot: Lego Robot Rover With Webcam: 17 Steps (med bilder)
Video: 10 Real Transforming Vehicles You Didn't Know Exist ▶ 2 2024, Juli
Anonim
Image
Image

Slik lager du en Lego -robot du kan kontrollere fra hvilken som helst skjerm via wifi. Den har også et webkamera slik at du kan se hvor du skal og LED -lys for øynene! Dette er et flott prosjekt å gjøre med barna dine, ettersom de kan gjøre logobyggingen, og du kan involvere dem i så mye elektronikk som de er fornøyd med. Det er mye fleksibilitet i hvordan du implementerer dette prosjektet, og dette betyr at du kan enkelt ta det i stykker og redesigne igjen. Jeg syntes det var nyttig, da jeg ble sittende fast for å bare begynne på nytt. Når du har gjort dette noen ganger, er det ganske enkelt og raskt å bygge om fra grunnen. Det flotte med dette er at du ikke trenger å være bekymret for å "bryte" noe da du utvikler ferdighetene for å enkelt bygge opp igjen.

Hva trenger du

  • Bringebær Pi B+
  • Base og motorsett
  • Lego bunnplate
  • Industriel styrke superlim
  • Bore
  • Håndverkskniv
  • Loddeutstyr
  • SD kort
  • SD -kortleser
  • Motorkontrollersett
  • 2 lysdioder
  • mellompriset webkamera (du kan prøve et billig)
  • PC og nettbrett / telefon
  • Wifi -ruter som du har administratortilgang til
  • Mange biter av Lego
  • Nødtelefonlader
  • 4 hoppetråder hver med minst 1 hunkontakt
  • 4 AA -batterier (oppladbart er bra)

Trinn 1: Forbered basen

Jeg startet med en base og 2 motorer som dette motorsettet på Amazon

Ta perspexbunnen og lim en tynn Lego bunnplate på den. Jeg brukte industriell styrke superlim til dette som tørker på få minutter og er supersterkt. Når limet er festet, kutter du bort den overflødige Lego -baseplaten slik at den følger linjen til perspex -grunnplaten. bor deretter hull gjennom Lego -platen som matcher perspex -basen. Jeg boret hullene etterhvert som jeg trengte dem. Du har nå grunnlaget for å bygge din Lego -struktur.

Trinn 2: Monter hjulene

Monter hjulene
Monter hjulene

Monter nå hjulene. Følg produsentens instruksjoner her. Hjulene jeg kjøpte hadde alle instruksjonene på kinesisk, som jeg ikke kan lese, men det var ganske enkelt å finne ut av bildene. Når de er montert, fest ledningene til motorene med en liten klatt loddetinn.

Trinn 3: Fest hjulene til basen

Fest hjulene til basen
Fest hjulene til basen

Fest deretter hjulene på bunnplaten, du kan bore hull i sokkelen hvis du trenger det. Du vil sannsynligvis finne ut mot slutten av prosjektet at du vil at ledningene skal ledes gjennom basen et annet sted, men du kan alltid bore et nytt hull og flytte senere.

Trinn 4: Forbered Pi

Forbered Pi
Forbered Pi

Gjør nå PI -en klar. Jeg brukte en modell B+ med en USB wifi -dongle. Jeg brukte Full desktop -bildet basert på Debian Jessie som du kan laste ned fra Raspbian Pi -nettstedet. Det er verdt å lage SD -kortet fra bunnen av, og ha diskbildet tilgjengelig, siden du enkelt kan starte på nytt. Du må kanskje google litt for å finne ut hvordan du lager diskbildet på PCen. Jeg opprettet bildet mitt ved hjelp av Ubuntu slik: Høyreklikk på diskbildet og velg "åpne med disk image writer". Skriv bildet til SD -kortet. Diskbildet er ganske lite, så hvis du har et større SD -kort (f.eks. 30 GB) kan du bruke partisjoneringsprogramvare som GParted til å bruke all ledig plass. Når du har funnet ut hvordan du gjør dette, tar det omtrent 5 minutter, og det er virkelig verdt det som om du ødelegger programvaren, kan du bare installere det på nytt.

Trinn 5: Monter kontrollerkortet

Monter kontrollpanelet
Monter kontrollpanelet

Deretter trenger du et motorkontrollkort. Jeg brukte settet fra RyanTek. Den kommer med en utmerket loddeguide, men jeg tror du også kan få den forhåndsloddet. Hvis du ikke har loddet før, ikke bekymre deg, bare ta det sakte og øv deg litt før du starter på motorbrettet.

Fest nå batteripakken (med 4 AA -batterier) og motorene opp til kontrollerkortet, og fest deretter kontrollkortet på GPIO -pinnene på Pi. Igjen vil kontrollerkortet gi deg flere detaljer. Ikke bekymre deg for å få de riktige motorkablene i de riktige sporene, så lenge de ikke er koblet til likestrømsporene. Jeg limer eller skruer ikke Pi eller batteripakken på Lego -brettet, da dette gir deg mer fleksibilitet når du designer Lego -karosseriet. Du kan også enkelt endre designet mens du går.

Trinn 6: Begynn å bygge legokroppen

Begynn å bygge legokroppen
Begynn å bygge legokroppen
Begynn å bygge legokroppen
Begynn å bygge legokroppen

Nå er det på tide å bygge litt Lego. På dette tidspunktet kan du få virkelig små barn involvert, så lenge de kan holde et stykke Lego! Vi startet med bare et grunnleggende firkantet hus til alt fungerte, og ble mer eventyrlystne med hundeboten. Det flotte her er at du kan bygge om robotkroppen så mye du vil. Start med å lage et hjem for Pi. Husk å la det være plass til USB -portene og strømkablene. Bygg en god del løshet i ethvert hus du bygger. Det er OK for ting å rasle litt, og du kan ikke være for nøyaktig med Lego.

Vi brukte Lego -vinduer for å gi tilgang til USB -portene som du trenger senere.

Trinn 7: Forbered Pi

Det er en god tid nå å starte Pi, og få roboten i gang.

Jeg har utviklet koden som skal brukes med dette prosjektet på Git hub. Les meg på git -hub -sidene tar deg gjennom instruksjonene for hvordan du installerer all programvare på Pi, men jeg tar deg også gjennom trinnene her.

Start først Pi, ved å koble til strømkabelen. Du må koble HDMI -kabelen til en TV og bruke et USB -tastatur og mus. Det første er å koble til Wifi. du gjør dette ved å klikke på ikonet øverst til høyre på Raspian -skrivebordet og bevise detaljene. Når du er koblet til Wifi, kan du gjøre alt annet fra kommandolinjen, så hvis du foretrekker det, kan du koble deg til Pi ved hjelp av ssh, men så lenge vi er koblet til en TV, kan vi åpne en terminal fra Raspian -skrivebordet.

Trinn 8: Installer programvaren på Pi

Åpne terminalen på Pi og skriv inn følgende kommandoer.

sudo apt-get oppdatering

Dette oppdaterer Raspian med den nyeste programvaren.

Deretter installerer du webkamera -programvaren

sudo apt-get install motion

Du må også konfigurere bevegelse på dette tidspunktet. Jeg har listet opp hva som må oppdateres i hvilke filer på github -sidene. Det er også en instruksjon om hvordan du får et webkamera til å fungere på din Pi. Bli kjent med innstillingene og lek med dem når du er komfortabel med oppsettet.

sudo apt-get install python-dev python-pip

Dette installerer Python -biblioteker og også pakkebehandleren for python -programvare.

sudo pip install 'pubnub> = 4.1.2'

Dette installerer Pubnub, programvaren som administrerer meldingen mellom kontrollpanelet og din trådløse robot.

Det tar en stund å installere denne delen, så gå og lag en kopp te!

Trinn 9: Installer robotprogramvaren

Nå har du installert alle de avhengige programvarebitene, det er på tide å installere koden som kreves for å kjøre roboten.

git-klon

Dette vil opprette en lego-robot-mappe i hjemmekatalogen.

Før du kan kjøre robotkoden, må du opprette en PubNub -konto og få en publiserings- og abonnementsnøkkel. du kan gjøre dette ved å følge instruksjonene for å komme i gang nå på PubNub. Når du er konfigurert må du åpne de to filene:

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

og erstatt pub- og subnøklene med nøklene dine som du kan få fra pubnub -dashbordet.

Vær oppmerksom på at kanalverdien kan være hva som helst, så lenge den samsvarer på klient og server.

Trinn 10: Installer kontrollerprogramvaren og kontroller at alt fungerer

Installer kontrollerprogramvaren og sjekk at alt fungerer
Installer kontrollerprogramvaren og sjekk at alt fungerer
Installer kontrollerprogramvaren og sjekk at alt fungerer
Installer kontrollerprogramvaren og sjekk at alt fungerer

På en PC, klon git -hub -koden på samme måte som vi gjorde på roboten.

git-klon

Du har kanskje ikke git installert på PCen. Hvis ikke, følg instruksjonene på git hub.

Du har også muligheten til å laste ned koden som en zip -fil, selv om jeg vil anbefale å installere GIT og kopiere filene ved å klone depotet.

du må oppdatere lego-robot/client/keys.js-filen med dine personlige publiserings- og abonnementsnøkler.

Når du er ferdig, åpner du filen lego-robot/client/buttons.html i en nettleser. Du bør nå kunne kontrollere roboten din ved hjelp av kontrollknappene.

Diagrammet ovenfor viser hva som skjer:

  • Når du klikker på en knapp, sendes en melding til pubnub (ved hjelp av publiseringsnøkkelen)
  • PubNub videresender deretter til roboten som …
  • Lytter (bruker abonnementstasten) for meldinger
  • Roboten oversettes deretter til en handling.

Jeg brukte pubNub som gratis, rask (sanntid) og forenkler sending og mottak av meldinger ved hjelp av en veldig fin API.

Du kan grave i klient- og serverkoden og se meldingene som sendes ved hjelp av enkle taster som "fremover" og "bakover".

Det er også en joystick-stilkontroller på lego-robot/client/joystick.html.

Jeg skal forbedre disse kontrollerne og legge til nye hele tiden, så hvis du noen gang vil oppdatere programvare, kan du bruke kommandoen "git pull". Du er også velkommen til å bidra til git -depotet og lage mer brukervennlige kontroller.

Nå er du klar til å kontrollere at bevegelsen fungerer OK. På Pi-terminalen, bytt katalog til lego-robot/server og skriv:

sudo python robot.py

dette starter opp et python -skript for å lytte etter innkommende meldinger fra Pubnub.

Prøv nå å trykke på noen knapper på kontrolleren. Du bør se disse svarene mottatt på Pi -terminalen (som vist på bildet ovenfor) og robot.py oversetter disse meldingene til bevegelser ved å kartlegge dem til signaler på Pi GPIO.

Du bør kunne flytte roboten rundt.

Trinn 11: Forbered webkameraet og LED -lysene

Forbered webkameraet og LED -lysene
Forbered webkameraet og LED -lysene
Forbered webkameraet og LED -lysene
Forbered webkameraet og LED -lysene

Du kan bruke et hvilket som helst webkamera som er linux -kompatibelt (de fleste er det). Jeg ville gå for en mellomstor en (ca. £ 15) da jeg prøvde en veldig billig og ikke kunne få noen form for et klart bilde av det. Første trinn er å demontere webkameraet slik at du bare har grunnkortet og kameraet.

Hvis du vil installere lys, tar du et LED -lys og kobler to hoppetråder til hver terminal. Jeg brukte hoppetråder som har en hunnterminal i den ene enden, slik at du enkelt kan koble den til Pis GPIO -pinnene senere. Den andre enden av ledningen må du fjerne for å fjerne terminalen. Du kan også lodde her for å opprette en sikker tilkobling. Jeg brukte også en varmekrympende innpakning, som du kan bruke til å dekke til hver ledning, selv om jeg ikke ville bekymre deg for å gjøre en altfor god jobb før du er glad for at alt fungerer, så kan du fullføre og forbedre deg. Det er også en god idé å bruke en motstand for å stoppe LED -en fra å brenne put.

Det er en detaljert instruerbar her som beskriver hvordan du kobler LED -er.

Som bildet viser, bruker jeg en legokloss med et hull i som en enkel måte å montere lysdioden på robothodet.

Trinn 12: Lag hodet med nesekamera og lys

Lag hodet med nesekamera og lys
Lag hodet med nesekamera og lys
Lag hodet med nesekamera og lys
Lag hodet med nesekamera og lys
Lag hodet med nesekamera og lys
Lag hodet med nesekamera og lys

Lag et hodehus for kameraet. Jeg vil ikke være for spesifikk her, da det er på tide at du er kreativ. Men du trenger å bygge rundt kameraet. Dog bot integrerer kameraet i nesen og har øynene som lysdioder. Sørg for at du etterlater et hull på baksiden av hodet for å føre ledningene ut.

Trinn 13: Fullfør kroppen

Fullfør kroppen
Fullfør kroppen
Fullfør kroppen
Fullfør kroppen
Fullfør kroppen
Fullfør kroppen

Nå er du glad for at hundeboten i utgangspunktet beveger seg, du kan lage et hus til batteripakkene. Jeg brukte en pakke med 4 AA -batterier (følger med hjulene og basen) og en nødtelefonlader. AA -batteriene er for DC -motorer for hjulene og mobiltelefonpakken er for Pi. Det er en god idé å gjøre batteriene lett tilgjengelige, da du må få tilgang til dem for lading og utskifting.

Når du er fornøyd, legg et tak over Pi. Jeg bekymrer meg ikke så mye for å skjule ledningene og kretsene, da det er en del av robotenes image. Men alt er opp til deg på dette tidspunktet. Du vil kanskje vurdere hvor tung boten din blir, jo tyngre jo saktere den beveger seg.

Trinn 14: Monter hodet

Monter hodet
Monter hodet
Monter hodet
Monter hodet
Monter hodet
Monter hodet

Det er på tide å få alt tilkoblet.

Koble webkameraets USB -kabel til forsiden av boten, ved hjelp av tilgangshullene du opprettet. Du kan sikre ledningen til roboten ved å lage noen Lego -boliger. Jeg forkortet også USB-kabelen ved å kutte og lodde den på nytt, men gjør dette bare hvis du virkelig har lyst til å lodde 4 bittesmå ledninger sammen. Det kan være lettere å kjøpe en kort USB -kabel og koble den til baksiden av kameraet.

Du må også koble LED -lysene til Pis GPIO -pinnene som ikke tas opp av hovedkortkontrolleren. Dette er GPIO -pinnene 20 og 21 og de to ekstra jordpinnene i nærheten. Bruk de ekstra jordpinnene i nærheten. Hvis lyset ikke fungerer, kan du prøve å bytte jord med GPIO -utgangen. FOR å finne ut hvilke pins som skal kobles til google, et godt GPIO -diagram.

Trinn 15: Test lysdiodene og Nose Cam

Test lysdiodene og Nose Cam
Test lysdiodene og Nose Cam

Slik starter du webkamera -programvaren:

sudo bevegelse

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

sudo python robot.py

Du bør nå kunne bruke lysbryteren på kontrolleren til å slå lysene på og av.

Nettkameraet skal kringkaste på din Pis IP -adresse på port 8080, så skriv for eksempel følgende i nettleseren din.

192.168.1.2:8081

Jeg fant Pi IP -adressen ved å logge på ruteren min som administrator og se på de tilkoblede enhetene. Instruksjoner om hvordan du gjør dette er vanligvis på baksiden av ruteren, eller se ruterenes instruksjoner online.

du kan utforske konfigurasjonsinnstillingene for bevegelsesprogramvaren, som beskrevet i forrige trinn. Jeg synes at strømmen noen ganger stopper, men generelt fungerer den OK.

Du kan få tilgang til denne videostrømmen fra alt som kjører en nettleser som er koblet til ditt Wifi -nettverk.

Trinn 16: Fullfør

Online tilgang

Du bør nå kunne kontrollere roboten fra en nettleser på en PC. Imidlertid er det hyggelig å kunne kontrollere boten fra en hvilken som helst berøringsenhet som Ipad eller telefon.

For å gjøre dette må du være vert for klientfilene (buttons.html etc) på en webserver.

Jeg begynte med å installere en webserver på Pi, som fungerer OK. Imidlertid er det lettere å laste opp HTML -filen til en hvilken som helst annen webserver. Jeg kopierte ganske enkelt HTML -filen til min offentlige blå vertskonto. Du vil kanskje filbeskytte tilgangen til disse filene ettersom de inneholder pubundernøkler til pub -nub -kanalen din. Når du har gjort dette kan du få tilgang til kontrolleren fra hvilken som helst enhet, selv fra hjemmet ditt.

Automatisk oppstart

En annen nyttig ting å gjøre er å oppdatere / etc / rc.local scriptet på din bringebær Pi; legge til disse to linjene:

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

Disse kjøres hver gang Pi starter, så du trenger ikke å kjøre kommandoen manuelt.

Trinn 17: Ha det gøy

Ha det gøy !
Ha det gøy !

Det er alt.

Legg gjerne igjen kommentarer hvis du blir sittende fast, og hvis du vil forbedre noe av programvaren, kan du bidra til github -depotet. Jeg vil fortsette å jobbe med dette prosjektet, og her er noen ideer:

  • En "big trak" stilkontroller der du programmerer en sekvens av kommandoer som "venstre 10, fremover 6, tilbake 2 …" og deretter trykker du på "run" og roboten utfører kommandoene.
  • En vippende nakke, slik at du kan se oppover med webkameraet
  • En høyttaler som oversetter tekst fra kontrolleren til tale
  • Stemmestyrt kontroll

Jubel

Peter

Anbefalt: