Innehållsförteckning:

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

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

Video: Dog Bot: Lego Robot Rover With Webcam: 17 Steg (med bilder)
Video: SPOT - the robot dog - Mould King 15067 2024, December
Anonim
Image
Image

Så här gör du en Lego -robot som du kan styra från vilken skärm som helst via wifi. Den har också en webbkamera så att du kan se vart du är på väg och LED -lampor för ögonen! Detta är ett fantastiskt projekt att göra med dina barn eftersom de kan göra logotypen och du kan involvera dem i så mycket elektronik som de är nöjda med. Det finns mycket flexibilitet i hur du genomför detta projekt, och det betyder att du kan enkelt ta sönder det och designa om igen. Jag tyckte att det var användbart när jag fastnade för att helt enkelt börja om. När du väl har gjort detta några gånger är det ganska enkelt och snabbt att bygga om från grunden. Det fina med det här är att du inte behöver oroa dig för att "bryta" någonting eftersom du utvecklar färdigheterna för att enkelt bygga om.

Vad du behöver

  • Hallon Pi B+
  • Bas och motorsats
  • Lego bottenplatta
  • Industriell styrka superlim
  • Borra
  • Hantverkskniv
  • Lödutrustning
  • SD-kort
  • SD -kortläsare
  • Motorstyrsats
  • 2 lysdioder
  • mellanklass webbkamera (du kan prova en billig)
  • PC och surfplatta / telefon
  • Wifi -router som du har administratörsåtkomst till
  • Massor av lego
  • Nödtelefonladdare
  • 4 hoppkablar vardera med minst 1 honkontakt
  • 4 AA -batterier (laddningsbart är bra)

Steg 1: Förbered basen

Jag började med en bas och 2 motorer som den här motorsatsen på Amazon

Ta perspexbasen och limma en tunn Lego bottenplatta på den. Jag använde industriell styrka superlim för detta som torkar på några minuter och är superstark. När limmet är fixerat skär du bort den överflödiga Lego -basplattan så att den följer linjen på perspex -basplattan. borra sedan hål genom Lego -plattan som matchar perspexbasen. Jag borrade hålen när och när jag behövde dem. Du har nu grunden för att bygga din Lego -struktur.

Steg 2: Montera hjulen

Montera hjulen
Montera hjulen

Montera nu hjulen. Följ tillverkarens instruktioner här. Hjulen jag köpte hade alla instruktioner på kinesiska, som jag inte kan läsa, men det var ganska lätt att räkna ut från bilderna. När de är monterade fäst ledningarna till motorerna med en liten klick löd.

Steg 3: Fäst hjulen på basen

Fäst hjulen på basen
Fäst hjulen på basen

Fäst sedan hjulen på bottenplattan, du kan borra hål i basen om du behöver. Du kommer förmodligen att få reda på i slutet av projektet att du vill att ledningarna ska ledas genom basen någon annanstans, men du kan alltid borra ett nytt hål och flytta senare.

Steg 4: Förbered Pi

Förbered Pi
Förbered Pi

Gör nu PI redo. Jag använde en modell B+ med en USB wifi -dongel. Jag använde hela skrivbordsbilden baserad på Debian Jessie som du kan ladda ner från Raspbian Pi -webbplatsen. Det är värt att skapa SD -kortet från grunden och behåll skivavbilden till hands, eftersom du enkelt kan börja om. Du kan behöva googla lite för att ta reda på hur du skapar diskavbildningen på din dator. Jag skapade min bild med Ubuntu så här: Högerklicka på diskavbildningen och välj "öppna med diskavbildningsskrivare". Skriv bilden till SD -kortet. Diskavbildningen är ganska liten, så om du har ett större SD -kort (t.ex.: 30 GB) kan du använda partitioneringsprogram som GParted för att använda allt tillgängligt utrymme. När du väl har bestämt dig för hur du gör det tar det cirka 5 minuter och är verkligen värt det som om du förstör programvaran kan du bara installera om det igen.

Steg 5: Montera styrkortet

Montera styrkortet
Montera styrkortet

Därefter behöver du ett motorstyrkort. Jag använde satsen från RyanTek. Den levereras med en utmärkt lödguide, men jag tror att du också kan få den förlödd. Om du inte har gjort någon lödning tidigare, oroa dig inte, bara ta det långsamt och träna lite innan du börjar på motorbrädet.

Fäst nu batteripaketet (med 4 AA -batterier) och motorerna upp till styrkortet och fäst sedan styrkortet på GPIO -stiften på Pi. Återigen kommer styrkortet att ge dig mer information. Oroa dig inte för att få rätt motorkablar i rätt fack, så länge de inte är anslutna till likströmsslitsarna. Jag klistrar inte fast eller skruvar Pi eller batteripaketet på Lego -kortet eftersom detta ger dig mer flexibilitet när du designar Lego -kroppen. Du kan också enkelt ändra din design när du går.

Steg 6: Börja bygga legokroppen

Börja bygga legokroppen
Börja bygga legokroppen
Börja bygga Lego Body
Börja bygga Lego Body

Nu är det dags att bygga lite Lego. Vid denna tidpunkt kan du få riktigt unga barn inblandade, så länge de kan hålla en bit Lego! Vi började med bara ett grundläggande fyrkantigt hus tills allt fungerade och blev mer äventyrligt med hundboten. Det fantastiska här är att du kan bygga om robotkroppen så mycket du vill. Börja med att skapa ett hem för Pi. Kom ihåg att lämna plats för USB -portarna och strömkablarna. Bygg in en hel del löshet i alla bostäder du bygger. Det är OK för saker och ting att skramla runt lite och du kan inte vara för exakt med Lego.

Vi använde Lego -fönster för att ge åtkomst till USB -portarna som du behöver senare.

Steg 7: Förbered Pi

Det är en bra tid nu att starta Pi och få roboten att röra sig.

Jag har utvecklat koden för att använda det här projektet på Git -hubben. Läs mig på git -hubbsidorna tar dig igenom instruktionerna om hur du installerar all programvara på Pi, men jag tar dig också igenom stegen här.

Starta först Pi genom att ansluta strömkabeln. Du måste ansluta HDMI -kabeln till en TV och använda ett USB -tangentbord och en mus. Det första är att ansluta till din Wifi. du gör detta genom att klicka på ikonen längst upp till höger på Raspian -skrivbordet och bevisa detaljerna. När du väl är ansluten till Wifi kan du göra allt annat från kommandoraden, så om du föredrar kan du ansluta till Pi med ssh, men för närvarande, eftersom vi är anslutna till en TV kan vi öppna en terminal från Raspian -skrivbordet.

Steg 8: Installera programvaran på Pi

Öppna terminalen på Pi och skriv följande kommandon.

sudo apt-get uppdatering

Detta uppdaterar Raspian med den senaste programvaran.

Installera sedan webbkameraprogramvaran

sudo apt-get installera rörelse

Du måste också konfigurera rörelse vid denna tidpunkt. Jag har listat vad som behöver uppdateras i vilka filer på github -sidorna. Det finns också en instruktion om hur du får en webbkamera att fungera på din Pi. Lär känna inställningarna och leka med dem när du är bekväm med installationen.

sudo apt-get install python-dev python-pip

Detta installerar Python -bibliotek och även pakethanteraren för python -programvara.

sudo pip install 'pubnub> = 4.1.2'

Detta installerar Pubnub, programvaran som hanterar meddelandet mellan kontrollpanelen och din trådlösa robot.

Det tar ett tag att installera den här delen så gå och gör en kopp te !!

Steg 9: Installera robotprogramvaran

Nu har du installerat alla beroende mjukvarubitar, det är dags att installera koden som krävs för att köra roboten.

git-klon

detta skapar en lego-robot-mapp i din hemkatalog.

Innan du kan köra robotkoden måste du skapa ett PubNub -konto och få en publicerings- och prenumerationsnyckel. du kan göra detta genom att följa instruktionerna för att komma igång nu på PubNub. När du har konfigurerat måste du öppna de två filerna:

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

och ersätt pub- och subnycklarna med dina nycklar som du kan få från pubnub -instrumentpanelen.

Observera att kanalvärdet kan vara vad som helst, så länge det matchar på klient och server.

Steg 10: Installera kontrollprogramvaran och kontrollera att allt fungerar

Installera kontrollprogramvaran och kontrollera att allt fungerar
Installera kontrollprogramvaran och kontrollera att allt fungerar
Installera kontrollprogramvaran och kontrollera att allt fungerar
Installera kontrollprogramvaran och kontrollera att allt fungerar

På en dator, klona git -hubbkoden på samma sätt som vi gjorde på roboten.

git-klon

Du kanske inte har git installerat på din dator. Om inte, följ instruktionerna på git hub.

Du har också möjlighet att ladda ner koden som en zip -fil, även om jag skulle rekommendera att installera GIT och kopiera filerna genom att klona förvaret.

du måste uppdatera filen lego-robot/client/keys.js med dina personliga publicerings- och prenumerationsnycklar.

När du är klar öppnar du filen lego-robot/client/buttons.html i en webbläsare. Du bör nu kunna styra din robot med kontrollknapparna.

Diagrammet ovan visar vad som händer:

  • När du klickar på en knapp skickas ett meddelande till pubnub (med din publiceringsnyckel)
  • PubNub skickar sedan vidare till roboten som …
  • Lyssnar (med prenumerationsnyckeln) för meddelanden
  • Roboten översätter sedan till en handling.

Jag använde pubNub som dess gratis, snabba (realtid) och förenklar avsevärt sändning och mottagning av meddelanden med ett riktigt trevligt API.

Du kan gräva i klient- och serverkoden och se meddelandena som skickas med enkla tangenter som "framåt" och "bakåt".

Det finns också en joystick-stilkontroll på lego-robot/client/joystick.html.

Jag kommer att förbättra dessa kontroller och lägga till nya hela tiden, så om du någonsin vill uppdatera programvara kan du använda kommandot "git pull". Du är också välkommen att bidra till git -förvaret och skapa mer användarvänliga kontroller.

Nu är du redo att kontrollera att rörelsen fungerar OK. På Pi-terminalen, byt katalog till lego-robot/server och skriv:

sudo python robot.py

detta startar ett python -skript för att lyssna på inkommande meddelanden från Pubnub.

Försök nu trycka på några knappar på styrenheten, du bör se dessa svar mottagna på Pi -terminalen (som visas på bilden ovan) och robot.py översätter dessa meddelanden till rörelser genom att mappa dem till signaler på Pi GPIO.

Du borde kunna flytta roboten.

Steg 11: Förbered webbkameran och LED -lamporna

Förbered webbkameran och LED -lamporna
Förbered webbkameran och LED -lamporna
Förbered webbkameran och LED -lamporna
Förbered webbkameran och LED -lamporna

Du kan använda vilken webbkamera som helst som är kompatibel med Linux (de flesta är). Jag skulle gå för en mellanklass en (ca £ 15) eftersom jag försökte en riktigt billig och kunde inte få någon form av en tydlig bild från det. Första steget är att demontera webbkameran så att du bara har grundkortet och kameran.

Om du vill installera lampor, ta en LED -lampa och anslut två hoppkablar till varje terminal. Jag använde hopptrådar som har en honkontakt i ena änden så att du enkelt kan ansluta den till Pis GPIO -stiften senare. Den andra änden av tråden måste du ta bort för att ta bort terminalen. Du kan även löda här för att skapa en säker anslutning. Jag använde också en värmekrympande omslag, som du kan använda för att täcka varje tråd, även om jag inte skulle oroa mig för att göra ett för bra jobb förrän du är glad att allt fungerar, så kan du slutföra och förbättra. Det är också en bra idé att använda ett motstånd för att stoppa din LED från att brinna.

Det finns en detaljerad instruerbar här som beskriver hur man kopplar lysdioder.

Som bilden visar använder jag ett Lego -block med ett hål i som ett enkelt sätt att montera lysdioden på robothuvudet.

Steg 12: Skapa huvudet med näskam och lampor

Skapa huvudet med Nose-cam och lampor
Skapa huvudet med Nose-cam och lampor
Skapa huvudet med Nose-cam och lampor
Skapa huvudet med Nose-cam och lampor
Skapa huvudet med Nose-cam och lampor
Skapa huvudet med Nose-cam och lampor

Skapa ett huvudhus för kameran. Jag kommer inte att vara för specifik här eftersom det är dags för dig att vara kreativ. Men du behöver bygga runt kameran. Dog bot integrerar kameran i näsan och har ögonen som lysdioder. Se till att du lämnar ett hål på baksidan av huvudet för att leda ut ledningarna.

Steg 13: Slutför kroppen

Komplettera kroppen
Komplettera kroppen
Komplettera kroppen
Komplettera kroppen
Komplettera kroppen
Komplettera kroppen

Nu är du glad att hundboten i princip rör sig, du kan skapa ett hölje för batteripaketet. Jag använde ett paket med 4 AA -batterier (medföljer hjulen och basen) och ett nödladdningspaket. AA -batterierna är för DC -motorer för hjulen och mobiltelefonpaketet är för Pi. Det är en bra idé att göra batterierna lättillgängliga eftersom du måste komma åt dem för laddning och byte.

När du är lycklig sätter du ett tak över Pi. Jag oroar mig inte för mycket för att dölja ledningarna och kretsarna, eftersom det är en del av robotens bild. Men allt är upp till dig just nu. Du kanske vill överväga hur tung din bot blir, ju tyngre ju långsammare den rör sig.

Steg 14: Montera huvudet

Montera huvudet
Montera huvudet
Montera huvudet
Montera huvudet
Montera huvudet
Montera huvudet

Det är dags att ansluta allt.

Anslut webbkamerans USB -kabel till botens framsida med hjälp av åtkomsthålen du skapade. Du kan fästa tråd till roboten genom att skapa några Lego -hus. Jag förkortade också USB-kabeln genom att klippa och återlödda den, men gör det bara om du verkligen har lust att lödda 4 små trådar tillsammans. Det kan vara lättare att köpa en kort USB -kabel och återansluta den till kamerans baksida.

Du måste också ansluta LED -lamporna till Pis GPIO -stiften som inte tas upp av motorkortets styrenhet. Det här är GPIO -stift 20 och 21 och de två reservjordstiften i närheten. Använd de extra marknålarna i närheten. Om lampan inte fungerar, försök att växla runt marken med GPIO -utgången. ATT räkna ut vilka stift som ska anslutas till google ett bra GPIO -diagram.

Steg 15: Testa lysdioderna och Nose Cam

Testa lysdioderna och Nose Cam
Testa lysdioderna och Nose Cam

Så här startar du webbkameraprogramvaran:

sudo -rörelse

Se också till att du har startat robot.py -skriptet (som beskrivs i föregående instruktion):

sudo python robot.py

Du bör nu kunna använda lampans strömbrytare på styrenheten för att slå på och av lamporna.

Webbkameran ska sända på din Pis IP -adress på port 8080, så skriv till exempel följande i din webbläsare.

192.168.1.2:8081

Jag hittade Pi IP -adressen genom att logga in på min router som admin och titta på de anslutna enheterna. Instruktioner om hur du gör detta finns vanligtvis på baksidan av routern, eller hänvisa till dina routers instruktioner online.

du kan utforska konfigurationsinställningarna för rörelseprogramvaran, enligt beskrivningen i föregående steg. Jag tycker att streaming pausar ibland, men i allmänhet fungerar det OK.

Du kan komma åt den här videoströmmen från allt som kör en webbläsare som är ansluten till ditt Wifi -nätverk.

Steg 16: Avsluta

Tillgång online

Du bör nu kunna styra roboten från en webbläsare på en dator. Men det är trevligt att kunna styra boten från valfri pekdon som Ipad eller telefon.

För att göra detta måste du vara värd för klientfilerna (buttons.html etc) på en webbserver.

Jag började med att installera en webbserver på Pi, som fungerar OK. Det är dock lättare att bara ladda upp HTML -filen till någon annan webbserver. Jag kopierade helt enkelt HTML -filen till mitt offentliga blå värdkonto. Du kanske vill filskydda åtkomsten till dessa filer eftersom de innehåller pub -subnycklarna till din pub -nub -kanal. När du har gjort detta kan du komma åt kontrollen från vilken enhet som helst, även från ditt hus.

Automatisk start

En annan användbar sak att göra är att uppdatera / etc / rc.local scriptet på din hallon Pi; lägga till dessa två rader:

  • sudo -rörelse
  • nohup sudo python /home/pi/lego-robot/server/robot.py &

Dessa körs varje gång Pi startar, så du behöver inte köra kommandot manuellt.

Steg 17: Ha kul

Ha så kul !
Ha så kul !

Det är allt.

Lämna gärna kommentarer om du fastnar och om du vill förbättra någon av programvarorna kan du bidra till github -förvaret. Jag kommer att fortsätta arbeta med detta projekt och här är några idéer:

  • En "big trak" -kontroll där du programmerar en sekvens av kommandon som "vänster 10, framåt 6, bakåt 2 …" och sedan slår "kör" och roboten utför kommandona.
  • En lutande nacke, så att du kan titta uppåt med webbkameran
  • En högtalare som översätter text från handkontrollen till tal
  • Röststyrd kontroll

Skål

Peter

Rekommenderad: