Turinys:

„Banana/Raspberry Pi“+ „Arduino Rover“su kamera: 9 žingsniai
„Banana/Raspberry Pi“+ „Arduino Rover“su kamera: 9 žingsniai

Video: „Banana/Raspberry Pi“+ „Arduino Rover“su kamera: 9 žingsniai

Video: „Banana/Raspberry Pi“+ „Arduino Rover“su kamera: 9 žingsniai
Video: DIY Radar With Ultrasonic Sensor And Chat-GPT Generated Arduino Code | Coders Cafe 2024, Liepa
Anonim
Bananas/Raspberry Pi + „Arduino Rover“su kamera
Bananas/Raspberry Pi + „Arduino Rover“su kamera

Projektas, kurį dariau laisvalaikiu. Tai keturių ratų pilnas varomasis robotas, valdomas per žiniatinklio sąsają. Jei turite komentarų ar klausimų, nedvejodami susisiekite su manimi. Šiame projekte naudojamos 3D spausdintos dalys ir tam tikri kodo fragmentai, kuriuos sukūrė kiti žmonės. „Instructuble“pabaigoje galite rasti kreditų ir pažvelgti į originalius kūrinius.

Pradėkime?

1 žingsnis: reikalingi komponentai

Jums reikalingi komponentai
Jums reikalingi komponentai
Jums reikalingi komponentai
Jums reikalingi komponentai
Jums reikalingi komponentai
Jums reikalingi komponentai

Čia yra komponentų, kuriuos naudoju su nuorodomis, sąrašas ir alternatyvos. Aš gyvenu Šendžene, Kinijoje, ir aš nusipirkau dalis tiesiai Taobao.

4 variklių roboto važiuoklė Alternatyva: tinka bet kokia pakankamai didelė važiuoklė. Šiame modelyje yra 4 varikliai, skirti papildomam sukimo momentui. Varikliai yra įprasti pigūs geltoni varikliai

L293D „Arduino Motor Shield rev.1“klonas Alternatyva: geresnis variklio skydas, skirtas daugiau srovės

„Arduino Uno“klonas Alternatyva: galite naudoti bet kurią kitą „Arduino“plokštę be reikšmingų kodo pakeitimų.

6V 4,5 Ah Pb baterija Alternatyva: Galima eksperimentuoti su mažesnėmis LiPo baterijomis, jei norite lengvesnio roboto/naudoti tik du variklius.

„Banana Pi“alternatyva: galima pakeisti „Raspberry Pi 1/2/3“arba „Orange Pi“be reikšmingų kodo pakeitimų. „Banana Pi“naudojau tik todėl, kad turėjau vieną.

Interneto kamera Alternatyva: naudokite CSI kamerą Raspberry Pi/Banana Pi/Orange Pi

Fotoaparato pasukimo/pakreipimo laikiklis su „sg60“servo parinktimis. Pavyzdžiui, galima naudoti 3D spausdinimo pakreipimo/panoraminį laikiklį.

3D spausdintos dalys Alternatyva: leiskite savo vaizduotei ir 3D dizaino talentams jums padėti! Taip pat viskas:)

2 veiksmas: prijunkite variklius prie „L293D“variklio skydo

Prijunkite variklius su L293D variklio skydu
Prijunkite variklius su L293D variklio skydu
Prijunkite variklius su L293D variklio skydu
Prijunkite variklius su L293D variklio skydu

Prijunkite kiekvieną variklį prie variklio apsauginių varžtų gnybtų. Čia yra prijungimo schema. Jei turite tik du variklius ir nenorite keisti kodo, pridėkite juos prie MOTOR 1 ir MOTOR 3.

PASTABA: Tiems, kurie naudoja skirtingus variklius, kurių srovės stipris yra didesnis, gali prireikti kito variklio tvarkyklės. Arba neseniai sužinojau gražų įsilaužimą, kad galite sujungti dar du L293D tvarkykles ant esamos (tai yra vidurinė plokštės plokštė)!

3 žingsnis: „Arduino Uno“, variklio skydo surinkimas

„Arduino Uno“, variklio skydo mazgas
„Arduino Uno“, variklio skydo mazgas

Įdėkite „Arduino Uno“į dėklą ir ant jo uždėkite „Motor Shield“. Yra tik vienas būdas tai padaryti, jei netinka, darai ką nors!

„Arduino Uno“patogus dėklas

Štai mano naudojamas atvejis, Esquilo sukurtas modelis.

4 veiksmas: prijunkite maitinimą prie „Banana Pi“ir „Arduino“

Prijunkite maitinimą prie „Banana Pi“ir „Arduino“
Prijunkite maitinimą prie „Banana Pi“ir „Arduino“

Aš naudoju SATA sąsają, kad galėčiau tiekti „Banana Pi“(6v). Jei turite tą pačią plokštę, galite tai padaryti, tiesiog įsitikinkite, kad įtampa yra 5–6 V. Tai nereguliuojamas maitinimo šaltinis, todėl darau prielaidą, kad „Banana Pi M1“yra SATA maitinimo apsaugos grandinė.

DĖMESIO: „Raspberry Pi“turite keletą variantų: saugų (naudojant USB jungtį, kad būtų tiekiama 5 V įtampa) ir nelabai saugų (naudojant GPIO kaiščius). Čia rasite nuorodą apie maitinimo prijungimą prie „Raspberry Pi GPIO“kaiščių. Įsitikinkite, kad jums

1) Naudokite reguliuojamą maitinimo šaltinį

2) Nustatykite 5 V įtampą

Nėra GPIO kaiščių apsaugos grandinės! Jei padarysite kažką ne taip, yra didelė tikimybė sugadinti plokštėje esančią elektroniką.

„Arduino“tiesiog prijunkite maitinimą prie variklio skydo įvesties varžtų gnybtų. Tai gali užtrukti iki 12v.

5 veiksmas: įdėkite „Banana Pi“į 3D spausdintą dėklą, surinkite likusį „Rover“

Įdėkite „Banana Pi“į 3D spausdintą dėklą, surinkite likusį „Rover“
Įdėkite „Banana Pi“į 3D spausdintą dėklą, surinkite likusį „Rover“
Įdėkite „Banana Pi“į 3D spausdintą dėklą, surinkite likusį „Rover“
Įdėkite „Banana Pi“į 3D spausdintą dėklą, surinkite likusį „Rover“

Aš naudoju šį dėklą „Banana Pi“iš „thingverse“, sukurtą „GermanRobotics“. Viršelį tam pasigaminau pats.

Įdėkite „Banana Pi“į dėklą, uždenkite dangčiu, klijų pistoletu pritvirtinkite „Arduino Uno“ant „Banana Pi“dėklo.

Uždenkite akumuliatorių šiuo dangteliu ir pritvirtinkite kameros dangtelį/pakreipimo laikiklį prie viršaus.

Jei naudojate „Banana Pi“, jums reikės USB šakotuvo, nes jame yra tik du USB lizdai („Raspberry 2, 3“turi keturis). Vien dėl estetinių priežasčių nusprendžiau naudoti OTG 1-2 USB šakotuvą ir paslėpti laidus „Banana Pi“korpuse.

6 žingsnis: Aparatūros surinkimas baigtas

Aparatūros surinkimas baigtas!
Aparatūros surinkimas baigtas!

Greitai apibendrinkime, ką nuveikėme iki šiol.

Mes surinkome roboto platformą, prijungėme maitinimą prie „Banana Pi“, „Arduino Uno“, prijungėme variklius ir servo prie variklio tvarkyklės ir naudojome USB šakotuvą, norėdami prijungti USB kamerą ir „Arduino Uno“prie „Banana Pi“. Dabar galite išbandyti ir pašalinti techninę įrangą. Elektros instaliacijos schema, rodanti visas jungtis, yra šio veiksmo paveikslėlyje.

7 veiksmas: sistemos konfigūravimas

Sistemos konfigūracija
Sistemos konfigūracija

Aš naudoju „Raspbian Lite“vaizdą sistemai savo pi. „Lite“versija neturi GUI ir yra tik pagrindiniai paketai, įdiegti. Tačiau tai užima daug mažiau vietos, o tai reiškia, kad galime naudoti mažesnę SD kortelę. Jei jums nepatinka be GUI, taip pat galite įdiegti visą vaizdą.

Prijunkite „pi“prie interneto naudodami „Ethernet“kabelį. Po to, kai jis įsijungs, pirmas žingsnis bus prijungti jį prie „Wi-Fi“.

Terminale paleiskite šią komandą

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Redaguokite konfigūracijos failą naudodami „WiFi“prisijungimo duomenis

tinklas = {ssid = "testavimas" psk = "testingPassword"}

Perkraukite pi. Voila! Dabar esate prisijungę prie „Wi-Fi“.

Toliau turėsime įdiegti „pip“(„Python“paketų tvarkyklę)

sudo apt-get install python-setuptools

sudo easy_install pip

Dabar mes naudojame pip, kad įdiegtume kolbą, kad paleistume žiniatinklio serverį, ir pyserial, kad pi galėtų bendrauti su „Arduino“per nuoseklųjį ryšį.

sudo pip instaliavimo kolba

sudo pip įdiegti pyserial

Paskutinis dalykas bus įdiegti ir sukonfigūruoti judesio paketą, kurį naudojame vaizdo transliacijai iš savo internetinės kameros.

Vykdykite šį puikų nurodymą tai padaryti.

Dabar mes pasiruošę šurmuliuoti!

8 veiksmas: paleiskite programinę įrangą

Programinės įrangos paleidimas
Programinės įrangos paleidimas
Programinės įrangos paleidimas
Programinės įrangos paleidimas

Prisimeni, kaip sakiau, kad esame pasiruošę dundėti?

Gerai, dar truputį sumalti ir tada galime pradėti dundėti:)

Atsisiųskime visus reikiamus failus iš mano „github“saugyklos.

git klonas

Įkelkite „rover.ino“į „Arduino Uno“. Jei atlikote techninės įrangos pakeitimus (pvz., Naudodami skirtingą variklio skydą), turite pakeisti eskizą.

Jei naudojate žiniatinklio kamerą, šablonų aplanke pakeiskite eilutę šalia failo index.html apačios. Pakeiskite IFRAME eilutės URL, kad jis atitiktų jūsų vaizdo įrašo srauto src URL.

Dabar galite paleisti žiniatinklio serverį. Vykdykite šią komandą

sudo python pi_rover.py

Jei labai arti sekėte mano kūrinį ir prijungėte „Arduino“, terminale pamatysite šį (pirmąjį paveikslėlį).

Įveskite savo roboto IP adresą žiniatinklio naršyklėje (pavyzdžiui, mano atveju tai buvo 192.168.1.104), galite patikrinti ip adresą naudodami komandą $ ifconfig „Linux“.

/šok šventinį šokį čia!/

Jei turite klausimų, nedvejodami klauskite manęs komentaruose. Ši pamoka skirta pradedantiesiems, bet ne pradedantiesiems, todėl aš trumpai kalbėjau apie dalykus, kurių galite tiesiog ieškoti „Google“(pvz., Įrašyti sistemos vaizdą į SD kortelę, įkelti „Arduino“eskizą ir pan.).

9 žingsnis: kreditai

Idėja ir žiniatinklio serverio kodas kilę iš šios puikios instrukcijos, kurią pateikė „jscottb“. Aš jį pakeičiau, kad galėčiau naudoti daugiau įprastos aparatūros, pvz., „Arduino Uno“.

3D spausdintos dalys iš „Thingverse“.

www.thingiverse.com/thing:994827

www.thingiverse.com/thing:2816536/files

www.thingiverse.com/thing:661220

Rekomenduojamas: