Inhoudsopgave:

Knight Rider Lunchbox Robot - Ajarnpa
Knight Rider Lunchbox Robot - Ajarnpa

Video: Knight Rider Lunchbox Robot - Ajarnpa

Video: Knight Rider Lunchbox Robot - Ajarnpa
Video: Real Life Voodoo Doll Walks... 2024, November
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, hij praat niet, hij is niet zwart en heeft geen AI. Maar het heeft wel van die mooie rode LED's aan de voorkant.

Ik bouw een WiFi bestuurbare robot die bestaat uit een Raspberry Pi met WiFi adapter en een Arduino Uno. Je kunt SSH naar de Raspberry Pi sturen en de Arduino besturen met een Python Tkinter-script via serieel. Naast het rijden kun je ook de voor-/achterlichten bedienen, links/rechts signaleren en die coole Knight Rider LED's aanzetten!

Stap 1: Wat is er voor de lunch? AKA-gereedschappen en materialen

Veel van het materiaal is beschikbaar op BangGood.com. Ze zijn goedkoop en hebben bijna alles. U kunt de rest vinden op Ebay en sommige in uw plaatselijke ijzerhandel.

Materialen:

  • Raspberry Pi 2/B+

    • 8 GB (of meer) micro SD-kaart
    • micro-USB-kabel
    • WiFi-adapter
    • Geval
  • Arduino Uno
  • 9v batterij met batterijclip voor Arduino
  • Een coole lunchbo
  • 5v USB-powerbank (12000mAh)
  • Breadboard met voldoende draden (man naar man en vrouw naar man)
  • 5 mm LED's (4 wit, 8 rood, 4 oranje)
  • 10x 220ohm weerstanden
  • 2x micro servo TowerPro 9g (aangepast voor continue rotatie)
  • 4x 42 mm robotwielen
  • 24 mm zwenkwiel
  • Dubbelzijdige tape

Gereedschap:

  • Heet lijmpistool
  • superlijm
  • Schroevendraaier

Belangrijk: ik heb aangepaste servo's gebruikt voor de wielen. Je kunt ook normale motoren kopen, maar dan moet je de Arduino-code aanpassen.

Stap 2: Uw lunch bereiden

Je lunch bereiden
Je lunch bereiden
Je lunch bereiden
Je lunch bereiden
Je lunch bereiden
Je lunch bereiden

Dus ik moest de nep "wielen" zien waar de lunchbox op rust.

Daarna heb ik de servo's en wielen op de lunchbox toegevoegd (heet gelijmd de wielen op de servo's). Ik gebruikte ijslollystokjes omdat ze perfect waren om de servo's op te laten rusten. Daarna heb ik de powerbank toegevoegd. Bovenop de powerbank heb ik 2 ijslollystokjes met een zwenkwiel toegevoegd (de zwenkwiel op de ijslollystokjes supergelijmd). Op de achterkant van de powerbank komt de Arduino Uno. Bovenop de powerbank komt de Raspberry Pi (in een hoesje) en daarbovenop het breadboard. Ik heb alles met dubbelzijdig plakband vastgezet. Als laatste heb ik aan de voorkant 2 nep-robotwielen vastgeschroefd.

Stap 3: Montage van de LED's

De LED's monteren
De LED's monteren
De LED's monteren
De LED's monteren
De LED's monteren
De LED's monteren

Overal waar ik LED's wilde plaatsen heb ik gaten geboord van 5mm. De LED's die ik gebruikte hebben een diameter van 5mm dus ze pasten perfect! Ik gebruikte:

  • 2 rood voor de achterlichten
  • 2 witte voor de achteruitrijlichten
  • 6 rood voor de Knight Rider LED's
  • 2 witte voor de koplampen
  • 4 oranje voor de signaallampen.

Stap 4: De bedrading

de bedrading
de bedrading
de bedrading
de bedrading
de bedrading
de bedrading

Nou, het moeilijkste deel van het project was het monteren van de bedrading in de lunchbox. Er zijn veel draden speciaal voor de LED's. Voor de LED's heb ik male naar female breadboard draden gebruikt, zo hoef je niets te solderen. Voor de rest gebruikte ik man naar man.

De Raspberry Pi en Arduino zijn verbonden via USB. Ik maakte een Fritzing-voorbeeld en deed mijn best om het zo duidelijk mogelijk te maken.

Stap 5: De Raspberry Pi voorbereiden

Voor iedereen die een beetje bekend is met de Raspberry Pi en Linux zou dit een makkie moeten zijn. Ik heb Raspian gebruikt om de Pi van stroom te voorzien. Het heeft python3 met de modules tkinter en pyserial vooraf geïnstalleerd (we hebben dit nodig om de Arduino te besturen)

  • Ga naar de officiële Raspberry Pi-site en download de nieuwste Raspbian.
  • Flash de nieuwste Raspbian naar je micro-sd (er is een installatiehandleiding op de downloadsite).
  • Sluit een internetkabel en wifi-adapter aan en zet de Pi aan.

Nu moeten we de Pi configureren om automatisch verbinding te maken met wifi in de headless-modus.

  • Ontdek het IP-adres van uw Raspberry Pi met een van deze methoden.

    • Nmap, (dit werkt het beste op linux).
    • Log in op uw router om de aangesloten apparaten te zien.
    • Gebruik een smartphone-app zoals "Fing" om uw netwerk te scannen op aangesloten apparaten.
    • Alternatieve methode: sluit je Pi aan op een monitor en toetsenbord en gebruik de opdracht ifconfig om je IP te tonen.
  • Als je Linux gebruikt, kun je een terminal gebruiken om SSH naar je pi te sturen, als je Windows gebruikt, moet je putty downloaden.
  • Eenmaal verbonden en ingelogd (gebruikersnaam: pi wachtwoord: raspberry). typ het volgende in:

sudo nano /etc/network/interfaces

Verwijder de bestaande regels en plak de volgende regels in het bestand (vervang SSID door uw eigen SSID en vervang wachtwoord door uw WiFi-wachtwoord, bewaar de aanhalingstekens!)

automatisch uitschakelen

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

Start de Raspberry Pi opnieuw op en hopelijk zal deze automatisch verbinding maken met je wifi-netwerk (onthoud dat je IP-adres zal veranderen zodra je verbonden bent via wifi in plaats van bedraad)

Stap 6: De codering

Je kunt de bestanden van mijn github krijgen:

github.com/InfiniteFor/KnightRiderRobot

Upload het Wifi_BOT.ino-bestand naar uw Arduino

  • sluit de Arduino aan op je pc/laptop.
  • open het WiFi_BOT.ino-bestand met de officiële Arduino-software en klik op uploaden.

Kopieer het control.py-script naar je Raspberry Pi.

  • Open de control.py met een teksteditor.
  • SSH in je pi en typ:

nano control.py

Plak de code van de control.py in uw nieuw gemaakte python-script en sla het op

Stap 7: X11 doorsturen voor afstandsbediening

U moet X11 doorsturen om het python-script te laten werken vanaf uw laptop/pc. Dit komt omdat een normale SSH-sessie X11 niet standaard doorstuurt.

Als je Linux gebruikt, is dit heel eenvoudig. Pas gewoon de -X of -Y (welke werkt) toe in uw opdrachtregel. Bijvoorbeeld:

ssh -X pi@

Wanneer u op Windows bent, moet u andere stappen bekijken. Naast putty moet je ook xming downloaden. Er is een geweldige handleiding over het gebruik van xming met stopverf.

Stap 8: Lunchtijd

  • Zet je Arduino (9v batterij) en Raspberry Pi (powerbank) aan.
  • Wacht tot de Raspberry Pi is opgestart.
  • SSH in je Raspberry Pi (vergeet niet om X11 door te sturen) en typ in:

python3 control.py

Genieten van!

Naast de knoppen kun je ook de toetsen op je toetsenbord indrukken. Die worden direct naar je Arduino gestuurd.

Toekomstige ideeën:

Ik had zoveel inspiratie voor dit project, maar kon ze niet allemaal doen. Dus hier is een korte lijst van andere dingen die je zou kunnen doen:

  • Sluit een camera aan op de Raspberry Pi en bekijk de feed vanaf een webpagina.
  • In plaats van een python tkinter-script zou je een http-pagina kunnen maken waar je toegang toe hebt om de robot te besturen. U kunt zelfs de camerafeed op dezelfde pagina weergeven! (geen X11 forwarding nodig voor deze methode)
  • Met port-forwarding kun je je robot overal ter wereld besturen!
  • In plaats van de Pi met je thuisnetwerk te verbinden, kun je een hotspot op de Pi maken. Zo ben je niet beperkt tot je thuisnetwerk.

Laat het me weten als je dit project leuk vindt. Stel ook gerust al je vragen!

Raspberry Pi-wedstrijd 2016
Raspberry Pi-wedstrijd 2016
Raspberry Pi-wedstrijd 2016
Raspberry Pi-wedstrijd 2016

Tweede plaats in de Raspberry Pi-wedstrijd 2016

Aanbevolen: