Innehållsförteckning:
- Steg 1: Komponenter du behöver
- Steg 2: Anslut motorerna med motorskyddet L293D
- Steg 3: Arduino Uno, motorskyddsenhet
- Steg 4: Anslut strömmen till Banana Pi och Arduino
- Steg 5: Lägg Banana Pi i 3D -tryckt fodral, Montera resten av Rover
- Steg 6: Hårdvarumontering klar
- Steg 7: Systemkonfiguration
- Steg 8: Starta programvaran
- Steg 9: Poäng
Video: Banan/Raspberry Pi + Arduino Rover med webbkamera: 9 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:45
Ett projekt som jag har gjort på fritiden. Det är en fyrhjulsdriven robot med fyra hjul som styrs via ett webbgränssnitt. Om du har några kommentarer eller frågor är du välkommen att kontakta mig. Detta projekt använder sig av 3D -tryckta delar och vissa kodbitar som skapades av andra människor. Du kan hitta krediter och titta på originalbitarna i slutet av Instructuble.
Ska vi börja?
Steg 1: Komponenter du behöver
Här är listan över komponenter jag använde med länkarna och alternativen. Jag bor i Shenzhen, Kina och jag köpte delarna direkt på Taobao.
4-motor robotchassi Alternativ: Alla tillräckligt stora chassier kommer att göra. Den här har 4 motorer för extra vridmoment. Motorerna är vanliga billiga gula motorer
L293D Arduino Motor Shield rev.1 klon Alternativ: Bättre motorskydd klassad för mer ström
Arduino Uno -klon Alternativ: Du kan använda alla andra Arduino -kort utan betydande ändringar av koden.
6V 4,5Ah Pb -batteri Alternativ: Det är möjligt att experimentera med mindre LiPo -batterier om du vill ha lättare robot/bara använda två motorer.
Banana Pi -alternativ: Kan byta till Raspberry Pi 1/2/3 eller Orange Pi utan betydande kodändringar. Jag använde Banana Pi bara för att jag hade en liggande.
Webbkamera Alternativ: Använd CSI -kamera för Raspberry Pi/Banana Pi/Orange Pi
Kamera Pan/tilt mount med sg60 servos Alternativ: 3D Print tilt/pan mount kan till exempel använda den här.
3D -tryckta delar Alternativ: Låt din fantasi och 3D -designtalanger vägleda dig! Även Thingverse:)
Steg 2: Anslut motorerna med motorskyddet L293D
Anslut varje motor med motorskyddsskruvanslutningar. Här är kopplingsschemat. Om du bara har två motorer och inte vill ändra koden än bifoga dem till MOTOR 1 och MOTOR 3.
OBS: För dem som använder olika motorer med högre strömstyrka kan du behöva en annan motorförare. Alternativt är ett trevligt litet hack jag nyligen fick veta att du kan piggybacka ytterligare två L293D -drivrutiner ovanpå det befintliga (det är mittchipet på brädet)!
Steg 3: Arduino Uno, motorskyddsenhet
Sätt Arduino Uno i fodralet och installera motorskyddet ovanpå det. Det finns bara ett sätt att göra det, om det inte passar, gör du något-wong!
Arduino Uno snyggt fodral
Här är fallet jag använde, modell skapad av Esquilo.
Steg 4: Anslut strömmen till Banana Pi och Arduino
Jag använde SATA -gränssnittet för att ge ström till Banana Pi (6v). Om du har samma kort kan du också göra det, se bara till att spänningen är 5v-6v. Det är oreglerad strömförsörjning, så jag antar att det finns en skyddskrets för SATA -ström på Banana Pi M1.
OBSERVERA: För Raspberry Pi har du några alternativ: en säker (med USB-kontakt för att ge 5v) och inte så säker (med GPIO-stift). Här är länken för att läsa om anslutning av ström till Raspberry Pi GPIO -stift. Se till att du
1) Använd reglerad strömförsörjning
2) Ställ in spänningen på 5v
Det finns ingen skyddskrets för GPIO -stift! Om du gör något fel finns det en allvarlig chans att skada elektroniken på kortet.
För Arduino, koppla bara strömmen till ingångskruvanslutningarna på motorskyddet. Det kan ta upp till 12v.
Steg 5: Lägg Banana Pi i 3D -tryckt fodral, Montera resten av Rover
Jag använde detta fodral för Banana Pi från thingverse, skapat av GermanRobotics. Omslaget till det gjorde jag själv.
Sätt Banana Pi i fodralet, täck det med locket, använd limpistol för att fästa Arduino Uno ovanpå Banana Pi -fodralet.
Täck över batteriet med detta lock och fäst webbkampan/tiltfästet upptill.
Om du använder Banana Pi behöver du en USB -hubb, eftersom den bara har två USB -platser (Raspberry 2, 3 har fyra). Av estetiska oro bestämde jag mig för att använda en OTG 1-2 USB-hubb och gömma kablarna inuti Banana Pi-fodralet.
Steg 6: Hårdvarumontering klar
Låt oss snabbt sammanfatta vad vi har gjort hittills.
Vi har monterat robotplattformen, anslutit ström till Banana Pi, Arduino Uno, anslutit motorer och servon till motordrivrutinen och använt USB -nav för att ansluta USB -kamera och Arduino Uno till Banana Pi. Nu kan du testa och felsöka hårdvaran. Kopplingsschema som visar alla anslutningar finns på bilden för detta steg.
Steg 7: Systemkonfiguration
Jag använde Raspbian Lite -bild för system på min pi. Lite-versionen har inget GUI och kommer endast med grundläggande paket per installerade. Men det tar mycket mindre plats, vilket innebär att vi kan använda mindre SD -kort. Om du inte trivs utan GUI kan du också installera helbild.
Anslut din pi till Internet med Ethernet -kabeln. När det startar upp är det första steget att ansluta det till Wi-Fi.
Kör följande kommando i terminalen
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Redigera konfigurationsfilen till med dina WiFi -uppgifter
network = {ssid = "testing" psk = "testingPassword"}
Starta om pi. Voila! Du är nu ansluten till Wi-Fi.
Därefter måste vi installera pip (Python Package Manager)
sudo apt-get install python-setuptools
sudo easy_install pip
Nu använder vi pip för att installera Flask för att köra en webbserver och pyserial för pi för att kommunicera med Arduino via seriell anslutning.
sudo pip installera kolv
sudo pip installera pyserial
Det sista är att installera och konfigurera rörelsepaket, som vi använder för att strömma video från vår webbkamera.
Följ denna stora instruerbara att göra detta.
Nu är vi redo att mullra!
Steg 8: Starta programvaran
Kommer du ihåg hur jag sa att vi är redo att mullra?
Okej, lite mer slipning och sedan kan vi börja mullra:)
Låt oss ladda ner alla nödvändiga filer från mitt github -arkiv.
git -klon
Ladda upp rover.ino till Arduino Uno. Om du har gjort hårdvaruändringar (till exempel med olika motorskydd) måste du ändra skissen.
Om du använder en webbkamera ändrar du raden nära botten av index.html -filen i mallmappen. Ändra webbadressen på IFRAME -raden så att den matchar src -URL: en för din videoström.
Nu kan du starta webbservern. Kör följande kommando
sudo python pi_rover.py
Om du följde min byggnad mycket nära och har Arduino ansluten ser du följande (första bilden) i terminalen.
Skriv din robots ip -adress i webbläsaren (till exempel i mitt fall var det 192.168.1.104), du kan kontrollera ip -adressen med $ ifconfig -kommandot på Linux.
/dansa här!/
Om du har några frågor är du välkommen att fråga mig i kommentarerna. Denna handledning är avsedd för nybörjarnivå, men inte nollbörjare, det var därför jag var ganska kort om de saker du bara kan googla efter (t.ex. bränna systembild till SD-kort, ladda upp Arduino-skiss etc).
Steg 9: Poäng
Idén och webbserverkoden kommer från denna fantastiska instruerbara av jscottb. Jag modifierade den för att använda vanligare hårdvara, som Arduino Uno.
De 3D -tryckta delarna från Thingverse.
www.thingiverse.com/thing:994827
www.thingiverse.com/thing:2816536/files
www.thingiverse.com/thing:661220
Rekommenderad:
Akustisk levitation med Arduino Uno Steg-för-steg (8-steg): 8 steg
Akustisk levitation med Arduino Uno Steg-för-steg (8-steg): ultraljudsgivare L298N Dc kvinnlig adapter strömförsörjning med en manlig DC-pin Arduino UNOBreadboardHur det fungerar: Först laddar du upp kod till Arduino Uno (det är en mikrokontroller utrustad med digital och analoga portar för att konvertera kod (C ++)
Trådlös fjärrkontroll med 2,4 GHz NRF24L01 -modul med Arduino - Nrf24l01 4 -kanals / 6 -kanals sändarmottagare för Quadcopter - Rc helikopter - RC -plan med Arduino: 5 steg (med bilder)
Trådlös fjärrkontroll med 2,4 GHz NRF24L01 -modul med Arduino | Nrf24l01 4 -kanals / 6 -kanals sändarmottagare för Quadcopter | Rc helikopter | Rc -plan med Arduino: Att driva en Rc -bil | Quadcopter | Drone | RC -plan | RC -båt, vi behöver alltid en mottagare och sändare, antag att för RC QUADCOPTER behöver vi en 6 -kanals sändare och mottagare och den typen av TX och RX är för dyr, så vi kommer att göra en på vår
IOT Lunar Rover Raspberrypi+Arduino: 5 steg (med bilder)
IOT Lunar Rover Raspberrypi+Arduino: Detta projekt är inspirerat av det indiska månuppdraget Chandryaan-2 som kommer att äga rum i september 2019.Detta är ett speciellt uppdrag eftersom de kommer att landa på den plats där ingen har landat tidigare. för att visa mitt stöd bestämde jag mig för att köpa
Wi-fi-kontrollerad FPV Rover Robot (med Arduino, ESP8266 och Stepper Motors): 11 steg (med bilder)
Wi-fi-kontrollerad FPV Rover Robot (med Arduino, ESP8266 och Stepper Motors): Denna instruerbara visar hur man designar en fjärrstyrd tvåhjulig robotrover över ett wi-fi-nätverk med en Arduino Uno ansluten till en ESP8266 Wi-fi-modul och två stegmotorer. Roboten kan styras från vanliga webbläsare
Arduino RC Amphibious Rover: 39 steg (med bilder)
Arduino RC Amphibious Rover: Under de senaste månaderna har vi utvecklat en fjärrstyrd rover som kan röra sig både på land och på vatten. Även om ett fordon med liknande funktioner använder olika framdrivningsmekanismer försökte vi uppnå alla framdrivningsmedel