Indholdsfortegnelse:

Banan/Raspberry Pi + Arduino Rover Med Webcam: 9 trin
Banan/Raspberry Pi + Arduino Rover Med Webcam: 9 trin

Video: Banan/Raspberry Pi + Arduino Rover Med Webcam: 9 trin

Video: Banan/Raspberry Pi + Arduino Rover Med Webcam: 9 trin
Video: DIY Radar With Ultrasonic Sensor And Chat-GPT Generated Arduino Code | Coders Cafe 2024, Juli
Anonim
Banan/Raspberry Pi + Arduino Rover Med Webcam
Banan/Raspberry Pi + Arduino Rover Med Webcam

Et projekt jeg har lavet i min fritid. Det er en firehjulet robot med fire hjul, der styres via en webgrænseflade. Hvis du har kommentarer eller spørgsmål, er du velkommen til at kontakte mig. Dette projekt bruger selv 3D -udskrevne dele og visse stykker kode, der blev oprettet af andre mennesker. Du kan finde kreditter og se på de originale stykker i slutningen af Instructuble.

Skal vi begynde?

Trin 1: Komponenter, du har brug for

Komponenter, du har brug for
Komponenter, du har brug for
Komponenter, du har brug for
Komponenter, du har brug for
Komponenter, du har brug for
Komponenter, du har brug for

Her er listen over komponenter, jeg brugte med linkene og alternativerne. Jeg bor i Shenzhen, Kina, og jeg købte delene direkte på Taobao.

4-motoret robotchassis Alternativ: Ethvert tilstrækkeligt stort chassis kan klare sig. Denne har 4 motorer til noget ekstra drejningsmoment. Motorerne er almindelige billige gule motorer, rater for

L293D Arduino Motor Shield rev.1 klon Alternativ: Bedre motorafskærmning bedømt til mere strøm

Arduino Uno -klon Alternativ: Du kan bruge ethvert andet Arduino -kort uden væsentlige ændringer af koden.

6V 4,5Ah Pb batteri Alternativ: Det er muligt at eksperimentere med mindre LiPo batterier, hvis du vil have lettere robot/kun bruge to motorer.

Banana Pi -alternativ: Kan bytte til Raspberry Pi 1/2/3 eller Orange Pi uden væsentlige kodeændringer. Jeg brugte Banana Pi kun fordi jeg havde en liggende.

Webkamera Alternativ: Brug CSI -kamera til Raspberry Pi/Banana Pi/Orange Pi

Kamera Pan/tilt mount med sg60 servoer Alternativ: 3D Print tilt/pan mount kan f.eks. Bruge denne.

3D -printede dele Alternativ: Lad din fantasi og 3D -designtalenter guide dig! Også Thingverse:)

Trin 2: Tilslut motorerne med L293D -motorskærm

Tilslut motorerne med L293D -motorskærm
Tilslut motorerne med L293D -motorskærm
Tilslut motorerne med L293D -motorskærm
Tilslut motorerne med L293D -motorskærm

Tilslut hver motor med motorskærmskrueterminaler. Her er ledningsdiagram. Hvis du kun har to motorer og ikke vil ændre koden, skal du vedhæfte dem til MOTOR 1 og MOTOR 3.

BEMÆRK: For dem, der bruger forskellige motorer med højere strømstyrke, har du muligvis brug for en anden motordriver. Alternativt er et godt lille hack, jeg lærte for nylig, at du kan piggyback yderligere to L293D -drivere oven på den eksisterende (det er den midterste chip på brættet)!

Trin 3: Arduino Uno, motorskærmsamling

Arduino Uno, motorskærmsamling
Arduino Uno, motorskærmsamling

Læg Arduino Uno i sagen, og installer Motor Shield oven på den. Der er kun en måde at gøre det på, hvis det ikke passer, laver du noget-wong!

Arduino Uno tæt taske

Her er sagen jeg brugte, model skabt af Esquilo.

Trin 4: Tilslut strømmen til Banana Pi og Arduino

Tilslut strømmen til Banana Pi og Arduino
Tilslut strømmen til Banana Pi og Arduino

Jeg brugte SATA -interface til at levere strøm til Banana Pi (6v). Hvis du har det samme kort, kan du også gøre det, bare sørg for, at spændingen er 5v-6v. Det er ureguleret strømforsyning, så jeg går ud fra, at der er et beskyttelseskredsløb for SATA -strøm på Banana Pi M1.

BEMÆRK: Til Raspberry Pi har du et par muligheder: en sikker (ved hjælp af USB-stik til at levere 5v) og ikke så sikker (ved hjælp af GPIO-ben). Her er linket for at læse om tilslutning af strøm til Raspberry Pi GPIO -ben. Vær sikker på at du

1) Brug reguleret strømforsyning

2) Indstil spændingen til 5v

Der er intet beskyttelseskredsløb til GPIO -ben! Hvis du gør noget forkert, er der en alvorlig chance for at beskadige elektronikken på tavlen.

For Arduino skal du blot koble strømmen til inputskrueterminalerne på motorskærmen. Det kan tage op til 12v.

Trin 5: Læg Banana Pi i 3D -printet kasse, saml resten af roveren

Læg Banana Pi i 3D -trykt kasse, saml resten af roveren
Læg Banana Pi i 3D -trykt kasse, saml resten af roveren
Læg Banana Pi i 3D -trykt kasse, saml resten af roveren
Læg Banana Pi i 3D -trykt kasse, saml resten af roveren

Jeg brugte denne sag til Banana Pi fra thingverse, skabt af GermanRobotics. Omslaget til det lavede jeg selv.

Læg Banana Pi i sagen, dæk den til med låget, brug limpistol til at fastgøre Arduino Uno oven på Banana Pi -kassen.

Dæk batteriet med dette dæksel, og fastgør webkampanel/vippemontering til toppen.

Hvis du bruger Banana Pi, skal du bruge en USB -hub, da den kun har to USB -stik (Raspberry 2, 3 har fire). Rent af æstetiske bekymringer besluttede jeg at bruge en OTG 1-2 USB-hub og skjule ledningerne inde i Banana Pi-kabinettet.

Trin 6: Hardware -montering udført

Hardware -samling færdig!
Hardware -samling færdig!

Lad os hurtigt opsummere, hvad vi har gjort indtil nu.

Vi har samlet robotplatformen, tilsluttet strøm til Banana Pi, Arduino Uno, tilsluttet motorer og servoer til motordriveren og brugt USB -hub til at forbinde USB -kamera og Arduino Uno til Banana Pi. Nu kan du teste og fejlfinde hardwaren. Ledningsdiagram, der viser alle forbindelser, er på billedet til dette trin.

Trin 7: Systemkonfiguration

System konfiguration
System konfiguration

Jeg brugte Raspbian Lite image til system på min pi. Lite-versionen har ingen GUI og leveres kun med grundlæggende pakker pr. Men det tager meget mindre plads, hvilket betyder, at vi kan bruge mindre SD -kort. Hvis du ikke er komfortabel uden GUI, kan du også installere fuldt billede.

Tilslut din pi til internettet med Ethernet -kablet. Når den er startet, ville det første trin være at forbinde den til Wi-Fi.

Kør følgende kommando i terminalen

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Rediger konfigurationsfilen til med dine WiFi -legitimationsoplysninger

netværk = {ssid = "test" psk = "testingPassword"}

Genstart pi'en. Voila! Du er nu forbundet til Wi-Fi.

Dernæst skal vi installere pip (Python Package Manager)

sudo apt-get install python-setuptools

sudo easy_install pip

Nu bruger vi pip til at installere Flask til at køre en webserver og pyserial til pi til at kommunikere med Arduino via seriel forbindelse.

sudo pip installere kolbe

sudo pip installer pyserial

Den sidste ting vil være at installere og konfigurere bevægelsespakke, som vi bruger til streaming af video fra vores webcam.

Følg denne store instruerbare for at gøre dette.

Nu er vi klar til at rumle!

Trin 8: Start af softwaren

Start af softwaren
Start af softwaren
Start af softwaren
Start af softwaren

Kan du huske, hvordan jeg sagde, at vi er klar til at rumle?

Okay, lidt mere slibning, og så kan vi begynde at rumle:)

Lad os downloade alle de nødvendige filer fra mit github -lager.

git -klon

Upload rover.ino til Arduino Uno. Hvis du har foretaget hardwareændringer (f.eks. Ved hjælp af et andet motorskærm), skal du ændre skitsen.

Hvis du bruger et webkamera, skal du ændre linjen nær bunden af index.html -filen i skabelonmappen. Skift webadressen i IFRAME -linjen, så den matcher src -webadressen til din videostream.

Nu kan du starte webserveren. Kør følgende kommando

sudo python pi_rover.py

Hvis du fulgte min build meget tæt og har Arduino tilsluttet, vil du se følgende (første billede) i terminalen.

Indtast din robots ip -adresse i webbrowseren (for eksempel i mit tilfælde var det 192.168.1.104), du kan kontrollere ip -adressen med $ ifconfig -kommandoen på Linux.

/lav den festlige dans her!/

Hvis du har spørgsmål, er du velkommen til at spørge mig i kommentarerne. Denne vejledning er beregnet til begynderniveau, men ikke nul-begynder, derfor var jeg ganske kort om de ting, du bare kan google efter (f.eks. Brænd systembillede til SD-kort, upload Arduino-skitse osv.).

Trin 9: Kreditter

Ideen og webserverkoden kommer fra denne fantastiske instruerbare af jscottb. Jeg ændrede det til at bruge mere almindelig hardware, som Arduino Uno.

3D -printede dele fra Thingverse.

www.thingiverse.com/thing:994827

www.thingiverse.com/thing:2816536/files

www.thingiverse.com/thing:661220

Anbefalede: