Innehållsförteckning:

Banan/Raspberry Pi + Arduino Rover med webbkamera: 9 steg
Banan/Raspberry Pi + Arduino Rover med webbkamera: 9 steg

Video: Banan/Raspberry Pi + Arduino Rover med webbkamera: 9 steg

Video: Banan/Raspberry Pi + Arduino Rover med webbkamera: 9 steg
Video: Amazing arduino project 2024, November
Anonim
Banan/Raspberry Pi + Arduino Rover med webbkamera
Banan/Raspberry Pi + Arduino Rover med webbkamera

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

Komponenter du behöver
Komponenter du behöver
Komponenter du behöver
Komponenter du behöver
Komponenter du behöver
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 motorerna med motorsköld L293D
Anslut motorerna med motorsköld L293D
Anslut motorerna med motorsköld L293D
Anslut motorerna med motorsköld 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

Arduino Uno, motorsköldenhet
Arduino Uno, motorsköldenhet

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

Anslut strömmen till Banana Pi och Arduino
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

Lägg Banana Pi i 3D -tryckt fodral, montera resten av Rover
Lägg Banana Pi i 3D -tryckt fodral, montera resten av Rover
Lägg Banana Pi i 3D -tryckt fodral, montera resten av rovern
Lägg Banana Pi i 3D -tryckt fodral, montera resten av rovern

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

Hårdvarumontering klar!
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

Systemkonfiguration
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

Starta programvaran
Starta programvaran
Starta programvaran
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: