INHOUDSOPGAWE:

Banana/Raspberry Pi + Arduino Rover Met Webcam: 9 stappe
Banana/Raspberry Pi + Arduino Rover Met Webcam: 9 stappe

Video: Banana/Raspberry Pi + Arduino Rover Met Webcam: 9 stappe

Video: Banana/Raspberry Pi + Arduino Rover Met Webcam: 9 stappe
Video: Flipper Zero Alternative? - m5stickC plus 🤯 #shorts 2024, November
Anonim
Piesang/Framboos Pi + Arduino Rover Met Webcam
Piesang/Framboos Pi + Arduino Rover Met Webcam

'N Projek wat ek in my vrye tyd gedoen het. Dit is 'n 4-wiel-robot met volle dryf wat deur 'n webkoppelvlak bestuur word. As u kommentaar of vrae het, kontak my gerus. Hierdie projek gebruik self 3D -gedrukte dele en sekere stukke kode wat deur ander mense geskep is. U kan krediete vind en na die oorspronklike stukke aan die einde van Instructuble kyk.

Sal ons begin?

Stap 1: Komponente wat u benodig

Komponente wat u benodig
Komponente wat u benodig
Komponente wat u benodig
Komponente wat u benodig
Komponente wat u benodig
Komponente wat u benodig

Hier is die lys van komponente wat ek met die skakels en die alternatiewe gebruik het. Ek woon in Shenzhen, China, en ek het die onderdele direk op Taobao gekoop.

Robot-onderstel met vier motors Alternatief: enige onderstel wat voldoende groot is, sal goed wees. Hierdie een het 4 motors vir 'n ekstra wringkrag. Die motors is gereeld goedkoop geelmotors, wat die beste is vir

L293D Arduino Motor Shield rev.1 kloon Alternatief: Beter motorskerm vir meer stroom

Arduino Uno kloon Alternatief: U kan enige ander Arduino -bord gebruik sonder om die kode te verander.

6V 4.5Ah Pb -battery Alternatief: dit is moontlik om met kleiner LiPo -batterye te eksperimenteer as u 'n ligter robot wil hê/slegs twee motors wil gebruik.

Banana Pi Alternative: Kan ruil vir Raspberry Pi 1/2/3 of Orange Pi sonder noemenswaardige kodeveranderings. Ek het Banana Pi gebruik net omdat ek een gehad het.

Alternatiewe webkamera: Gebruik CSI -kamera vir Raspberry Pi/Banana Pi/Orange Pi

Kamera Pan/tilt mount met sg60 servo's Alternatief: 3D Print tilt/pan mount kan byvoorbeeld hierdie een gebruik.

3D -gedrukte onderdele Alternatief: laat u verbeelding en talent vir 3D -ontwerp u lei! Ook Thingverse:)

Stap 2: Koppel die motors met die L293D -motorskerm

Koppel die motors met die L293D -motorskerm
Koppel die motors met die L293D -motorskerm
Koppel die motors met die L293D -motorskerm
Koppel die motors met die L293D -motorskerm

Koppel elke motor met motorskermskroefklemme. Hier is die bedradingsdiagram. As u slegs twee motors het en nie die kode wil verander nie, koppel dit dan aan MOTOR 1 en MOTOR 3.

LET WEL: Vir diegene wat verskillende motors met 'n hoër stroomwaarde gebruik, benodig u moontlik 'n ander motorbestuurder. Alternatiewelik, 'n lekker klein hack wat ek onlangs geleer het, is dat u nog twee L293D -bestuurders kan bo -op die bestaande een (dit is die middelste chip op die bord)!

Stap 3: Arduino Uno, motorskermversameling

Arduino Uno, motorskermversameling
Arduino Uno, motorskermversameling

Sit Arduino Uno in die kas en installeer Motor Shield daarop. Daar is net een manier om dit te doen, as dit nie pas nie, doen u 'n paar dinge!

Arduino Uno stewige tas

Hier is die geval wat ek gebruik het, model geskep deur Esquilo.

Stap 4: Koppel die krag aan Banana Pi en Arduino

Koppel die krag aan Banana Pi en Arduino
Koppel die krag aan Banana Pi en Arduino

Ek het die SATA -koppelvlak gebruik om Banana Pi (6v) van krag te voorsien. As u dieselfde bord het, kan u dit ook doen; maak seker dat die spanning 5v-6v is. Dit is 'n ongereguleerde kragtoevoer, so ek neem aan dat daar 'n beskermingskring is vir SATA -krag op Banana Pi M1.

AANDAG: Vir Raspberry Pi het u 'n paar opsies: 'n veilige een (met 'n USB-aansluiting om 5v te voorsien) en 'n nie-veilige (met behulp van GPIO-penne). Hier is die skakel om te lees oor die aansluiting van krag op Raspberry Pi GPIO -penne. Maak seker jy

1) Gebruik gereguleerde kragtoevoer

2) Stel die spanning op 5v

Daar is geen beskermingskring vir GPIO -penne nie! As u iets verkeerd doen, is daar 'n ernstige kans dat die elektronika op die bord beskadig kan word.

Vir Arduino moet u net die ingangskroefaansluitings op die motorskerm aansluit. Dit kan tot 12v neem.

Stap 5: Sit Banana Pi in die 3D -gedrukte omhulsel, monteer die res van die Rover

Plaas Banana Pi in die 3D -gedrukte omhulsel, monteer die res van die Rover
Plaas Banana Pi in die 3D -gedrukte omhulsel, monteer die res van die Rover
Plaas Banana Pi in die 3D -gedrukte omhulsel, monteer die res van die Rover
Plaas Banana Pi in die 3D -gedrukte omhulsel, monteer die res van die Rover

Ek het hierdie saak vir Banana Pi gebruik van thingverse, geskep deur GermanRobotics. Die voorblad daarvoor het ek self gemaak.

Sit Banana Pi in die omhulsel, bedek dit met die deksel, gebruik 'n lijmpistool om die Arduino Uno bo -op die Banana Pi -houer vas te maak.

Bedek die battery met hierdie deksel en bevestig die webkampan/kantelhouer aan die bokant.

As u Banana Pi gebruik, benodig u 'n USB -hub, aangesien dit slegs twee USB -gleuwe het (Raspberry 2, 3 het vier). Uit estetiese besorgdheid het ek besluit om 'n OTG 1-2 USB-hub te gebruik en die drade in die Banana Pi-omhulsel te verberg.

Stap 6: Hardeware -montering gedoen

Hardeware -montering klaar!
Hardeware -montering klaar!

Kom ons som vinnig op wat ons tot dusver gedoen het.

Ons het die robotplatform bymekaargemaak, krag gekoppel aan Banana Pi, Arduino Uno, motors en servo's aan die motorbestuurder gekoppel en 'n USB -hub gebruik om 'n USB -kamera en Arduino Uno aan die Banana Pi te koppel. Nou kan u die hardeware toets en oplos. Bedrading diagram wat al die verbindings toon, is in die prentjie vir hierdie stap.

Stap 7: Stelselkonfigurasie

Stelselkonfigurasie
Stelselkonfigurasie

Ek het Raspbian Lite -beeld vir stelsel op my pi gebruik. Die Lite-weergawe het geen GUI nie en bevat slegs basiese pakkette per geïnstalleerde pakket. Maar dit neem baie minder ruimte, wat beteken dat ons 'n kleiner SD -kaart kan gebruik. As u nie gemaklik is sonder GUI nie, kan u ook die volledige prent installeer.

Koppel jou pi aan die internet met die Ethernet -kabel. Nadat dit begin het, sou die eerste stap wees om dit aan Wi-Fi te koppel.

Voer die volgende opdrag in die terminale uit

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Wysig die konfigurasielêer met u WiFi -geloofsbriewe

netwerk = {ssid = "testing" psk = "testingPassword"}

Herlaai die pi. Voila! U is nou aan Wi-Fi gekoppel.

Vervolgens moet ons pip installeer (Python Package Manager)

sudo apt-get install python-setuptools

sudo easy_install pip

Nou gebruik ons pip om Flask te installeer vir die bestuur van 'n webserver en pyserial for pi om met Arduino te kommunikeer oor seriële verbinding.

sudo pip installeer fles

sudo pip installeer pyserial

Die laaste ding is om die bewegingspakket te installeer en op te stel, wat ons gebruik om video vanaf ons webcam te stroom.

Volg hierdie wonderlike instruksies om dit te doen.

Nou is ons gereed om te dreun!

Stap 8: Begin die sagteware

Begin die sagteware
Begin die sagteware
Begin die sagteware
Begin die sagteware

Onthou jy hoe ek gesê het dat ons gereed is om te dreun?

Goed, nog 'n bietjie maal en dan kan ons begin dreun:)

Laat ons al die nodige lêers aflaai van my github -bewaarplek.

git -kloon

Laai rover.ino op na Arduino Uno. As u hardeware verander het (byvoorbeeld met 'n ander motorskerm), moet u die skets verander.

As u 'n webkamera gebruik, verander die reël naby die onderkant van die index.html -lêer in die sjabloonmap. Verander die URL in die IFRAME -reël sodat dit ooreenstem met die src -URL vir u videostroom.

Nou kan u die webbediener begin. Voer die volgende opdrag uit

sudo python pi_rover.py

As u my build baie noukeurig gevolg het en Arduino gekoppel het, sien u die volgende (eerste prentjie) in die terminale.

Tik die IP -adres van u robot in die webblaaier (byvoorbeeld, in my geval was dit 192.168.1.104). U kan die IP -adres met die $ ifconfig -opdrag op Linux kontroleer.

/dans die feestelike dans hier!/

Vra my gerus in die kommentaar as u enige vrae het. Hierdie handleiding is bedoel vir beginnersvlak, maar nie vir beginners nie, daarom was ek baie kort oor die dinge waarvoor u net kan google (bv. 'N stelselbeeld op 'n SD-kaart verbrand, 'n Arduino-skets oplaai, ens.).

Stap 9: Krediete

Die idee en die webbedienerkode kom van hierdie wonderlike instruksie van jscottb. Ek het dit aangepas om meer algemene hardeware te gebruik, soos Arduino Uno.

Die 3D -gedrukte dele van Thingverse.

www.thingiverse.com/thing:994827

www.thingiverse.com/thing:2816536/files

www.thingiverse.com/thing:661220

Aanbeveel: