Knight Rider Lunchbox Robot: 8 steg (med bilder)
Knight Rider Lunchbox Robot: 8 steg (med bilder)
Anonim
Knight Rider Lunchbox Robot
Knight Rider Lunchbox Robot
Knight Rider Lunchbox Robot
Knight Rider Lunchbox Robot
Knight Rider Lunchbox Robot
Knight Rider Lunchbox Robot

Ok, det pratar inte, det är inte svart och har inte AI. Men den har de snygga röda lysdioderna fram.

Jag bygger en WiFi -styrbar robot som består av en Raspberry Pi med WiFi -adapter och en Arduino Uno. Du kan SSH in i Raspberry Pi och styra Arduino med ett Python Tkinter -skript över serie. Förutom körning kan du också styra fram-/bakljus, signalera vänster/höger och slå på de coola Knight Rider -lysdioderna!

Steg 1: Vad är för lunch? AKA Verktyg och material

Massor av material är tillgängliga på BangGood.com. De är billiga och har nästan allt. Resten hittar du på Ebay och några i din lokala järnaffär.

Material:

  • Raspberry Pi 2/B+

    • 8 GB (eller mer) micro SD -kort
    • mikro -USB -kabel
    • WiFi -adapter
    • Fall
  • Arduino Uno
  • 9v batteri med batteriklämma för Arduino
  • En cool lunchbo
  • 5v USB powerbank (12000mAh)
  • Brödbräda med tillräckligt med ledningar (hane till hane och hona till hane)
  • 5 mm LED (4 vita, 8 röda, 4 orange)
  • 10x 220ohm motstånd
  • 2x mikroservo TowerPro 9g (modifierad för kontinuerlig rotation)
  • 4x 42 mm robothjul
  • 24 mm Caster
  • Dubbelsidig tejp

Verktyg:

  • Het limpistol
  • superlim
  • Skruvmejsel

Viktigt: Jag använde modifierade servon för hjulen. Du kan också köpa vanliga motorer men då måste du ändra Arduino -koden.

Steg 2: Förbered din lunch

Förbereder din lunch
Förbereder din lunch
Förbereder din lunch
Förbereder din lunch
Förbereder din lunch
Förbereder din lunch

Så jag var tvungen att såga om de falska "hjulen" där matlådan vilar.

Efter det lade jag till servon och hjulen på matlådan (varmlimmade hjulen på servon). Jag använde popsicle -pinnar eftersom de var perfekta att vila servon på. Efter det lade jag till powerbanken. Ovanpå powerbanken lade jag till 2 popsicle -pinnar med en caster (superlimmade caster på popsicles sticks). På baksidan av powerbanken kommer Arduino Uno. Ovanpå powerbanken kommer Raspberry Pi (i ett fodral) och dessutom brödbrädan. Jag fixade allt med dubbelsidig tejp. Senast skruvade jag på 2 falska robothjul på framsidan.

Steg 3: Montering av lysdioderna

Montering av lysdioderna
Montering av lysdioderna
Montering av lysdioderna
Montering av lysdioderna
Montering av lysdioderna
Montering av lysdioderna

Jag borrade hål på 5 mm överallt där jag ville placera lysdioder. Lysdioderna jag använde har en diameter på 5 mm så de passade perfekt! Jag använde:

  • 2 röda för bakljusen
  • 2 vita för backljusen
  • 6 röda för Knight Rider -lysdioderna
  • 2 vita för de främre lamporna
  • 4 orange för signallamporna.

Steg 4: Ledningen

Ledningarna
Ledningarna
Ledningarna
Ledningarna
Ledningarna
Ledningarna

Den svåraste delen av projektet var att montera kablarna inuti lunchboxen. Det finns många ledningar speciellt för lysdioderna. För lysdioderna använde jag manliga till kvinnliga brödbrädetrådar, på så sätt behöver du inte lödda någonting. För resten använde jag man till man.

Raspberry Pi och Arduino är anslutna via USB. Jag gjorde ett Fritzing -exempel och gjorde mitt bästa för att göra det så tydligt som möjligt.

Steg 5: Förbereda Raspberry Pi

För alla som är lite bekanta med Raspberry Pi och Linux bör detta vara en ro i kakan. Jag använde Raspian för att driva Pi. Den har python3 med modulerna tkinter och pyserial förinstallerad (vi behöver detta för att styra Arduino)

  • Gå till den officiella Raspberry Pi -webbplatsen och ladda ner den senaste Raspbian.
  • Flasha den senaste Raspbian till dig micro sd (det finns en installationsguide på nedladdningssidan).
  • Anslut en internetkabel och WiFi -adapter och slå på Pi.

Nu måste vi konfigurera Pi för att automatiskt ansluta till WiFi i huvudlöst läge.

  • Ta reda på IP -adressen till din Raspberry Pi med en av dessa metoder.

    • Nmap, (det här fungerar bäst på linux).
    • Logga in på din router för att se de anslutna enheterna.
    • Använd en smartphone -app som "Fing" för att skanna ditt nätverk efter anslutna enheter.
    • Alternativ metod: anslut din Pi till en bildskärm och tangentbord och använd ifconfig -kommandot för att visa din IP.
  • Om du är på Linux kan du använda en terminal för att SSH i din pi, om du är på windows bör du ladda ner kitt.
  • En gång ansluten och inloggad (användarnamn: pi -lösenord: hallon). skriv in följande

sudo nano/etc/network/interfaces

Ta bort de befintliga raderna och klistra in följande rader i filen (ersätt SSID med ditt eget SSID och ersätt lösenord med ditt WiFi -lösenord, behåll citaten!)

auto lo

iface lo inet loopback iface eth0 inet dhcp allow-hotplug wlan0 auto wlan0 iface wlan0 inet dhcp wpa-ssid "SSID" wpa-psk "lösenord"

Starta om Raspberry Pi och förhoppningsvis kommer den automatiskt att ansluta till ditt WiFi -nätverk (kom ihåg att din IP -adress ändras när du är ansluten via WiFi istället för trådbundet)

Steg 6: Kodningen

Du kan få filerna från min github:

github.com/InfiniteFor/KnightRiderRobot

Ladda upp Wifi_BOT.ino -filen till din Arduino

  • anslut Arduino till din dator/bärbara dator.
  • öppna filen WiFi_BOT.ino med den officiella Arduino -programvaran och klicka på ladda upp.

Kopiera scriptet control.py till din Raspberry Pi.

  • Öppna control.py med en textredigerare.
  • SSH in you pi and type:

nano control.py

Förbi koden från control.py i ditt nyskapade python -skript och spara den

Steg 7: Vidarebefordran av X11 för fjärrkontroll

Du måste vidarebefordra X11 för att python -skriptet ska fungera från din bärbara dator/dator. Detta beror på att en normal SSH -session inte vidarebefordrar X11 som standard.

När du är på Linux är detta verkligen enkelt. Applicera bara -X eller -Y (beroende på vilket som fungerar) på kommandoraden. Till exempel:

ssh -X pi@

När du är på Windows måste du slutföra en vy andra steg. Förutom kitt måste du också ladda ner xming. Det finns en riktigt bra guide om hur man använder xming med kitt.

Steg 8: Lunch

  • Slå på din Arduino (9v batteri) och Raspberry Pi (powerbank).
  • Vänta tills Raspberry Pi startar.
  • SSH in i dig Raspberry Pi (glöm inte att vidarebefordra X11) och skriv in:

python3 control.py

Njut av!

Förutom knapparna kan du också trycka på tangenterna på tangentbordet. De kommer omedelbart att skickas till din Arduino.

Framtida idéer:

Jag hade så mycket inspiration för det här projektet men kunde inte göra allt. Så här är en kort lista över andra saker du kan göra:

  • Anslut en kamera till Raspberry Pi och titta på flödet från en webbsida.
  • Istället för ett python -tkinter -skript kan du skapa en http -sida som du kan komma åt för att styra roboten. Du kan till och med visa kameraflöden på samma sida! (ingen X11 -vidarebefordran behövs för denna metod)
  • Med port-forwarding kan du styra din robot var som helst i världen!
  • Istället för att ansluta Pi till ditt hemnätverk kan du skapa en hotspot på Pi. På så sätt är du inte begränsad till ditt hemnätverk.

Meddela mig om du gillar det här projektet. Ställ också gärna frågor du har!

Raspberry Pi Contest 2016
Raspberry Pi Contest 2016
Raspberry Pi Contest 2016
Raspberry Pi Contest 2016

Tvåa i Raspberry Pi -tävlingen 2016