Obsah:

Banán/Raspberry Pi + Arduino Rover s webovou kamerou: 9 krokov
Banán/Raspberry Pi + Arduino Rover s webovou kamerou: 9 krokov

Video: Banán/Raspberry Pi + Arduino Rover s webovou kamerou: 9 krokov

Video: Banán/Raspberry Pi + Arduino Rover s webovou kamerou: 9 krokov
Video: How Drone insect was CAUGHT Spying on Africa #shorts #youtubeshorts 2024, November
Anonim
Banán/Raspberry Pi + Arduino Rover s webovou kamerou
Banán/Raspberry Pi + Arduino Rover s webovou kamerou

Projekt, ktorý som robil vo svojom voľnom čase. Jedná sa o 4-kolesový robot s plným pohonom ovládaný prostredníctvom webového rozhrania. Ak máte akékoľvek otázky alebo pripomienky, neváhajte ma kontaktovať. Tento samotný projekt používa 3D tlačené diely a určité časti kódu, ktoré vytvorili iní ľudia. Kredity nájdete a pozrite sa na pôvodné diely na konci Instructuble.

Môžme začať?

Krok 1: Komponenty, ktoré potrebujete

Komponenty, ktoré potrebujete
Komponenty, ktoré potrebujete
Komponenty, ktoré potrebujete
Komponenty, ktoré potrebujete
Komponenty, ktoré potrebujete
Komponenty, ktoré potrebujete

Tu je zoznam komponentov, ktoré som použil s odkazmi a alternatívami. Žijem v čínskom Šen -čene a diely som kúpil priamo na Taobao.

Šasi 4-motorového robota Alternatíva: Postačí akýkoľvek dostatočne veľký podvozok. Tento má 4 motory na zvýšenie krútiaceho momentu. Motory sú bežné lacné žlté motory, hodnotiace

Klon L293D Arduino Motor Shield rev.1 alternatíva: Lepší štít motora dimenzovaný na vyšší prúd

Alternatíva klonu Arduino Uno: Môžete použiť akúkoľvek inú dosku Arduino bez výrazných zmien v kóde.

Batéria 6V 4,5 Ah Pb Alternatíva: S menšími batériami LiPo je možné experimentovať, ak chcete ľahšieho robota/používať iba dva motory.

Alternatíva Banana Pi: Je možné zameniť za Raspberry Pi 1/2/3 alebo Orange Pi bez výrazných zmien kódu. Banana Pi som použil len preto, že som mal okolo seba jeden povaľovaný.

Alternatíva k webovej kamere: Použite kameru CSI pre Raspberry Pi/Banana Pi/Orange Pi

Posuvný/sklopný držiak kamery so servom sg60 Alternatíva: Tento spôsob môže použiť napríklad naklápací/posuvný držiak 3D Print.

3D tlačené diely Alternatíva: Nechajte sa viesť svojou predstavivosťou a talentom 3D dizajnu! Tiež vecné:)

Krok 2: Pripojte motory k štítu motora L293D

Pripojte motory k štítu motora L293D
Pripojte motory k štítu motora L293D
Pripojte motory k štítu motora L293D
Pripojte motory k štítu motora L293D

Pripojte každý motor pomocou skrutkových svoriek tienenia motora. Tu je schéma zapojenia. Ak máte iba dva motory a nechcete meniť kód, pripojte ich k MOTORU 1 a MOTORU 3.

POZNÁMKA: Pre tých, ktorí používajú rôzne motory s vyšším menovitým prúdom, budete možno potrebovať iný ovládač motora. Alternatívne, pekný malý hack, ktorý som sa nedávno dozvedel, je, že môžete pripojiť dva ďalšie ovládače L293D k existujúcemu (je to stredný čip na doske)!

Krok 3: Arduino Uno, zostava štítu motora

Arduino Uno, zostava štítu motora
Arduino Uno, zostava štítu motora

Vložte Arduino Uno do puzdra a naň nainštalujte Motor Shield. Existuje iba jeden spôsob, ako to urobiť, ak to nepasuje, robíte nejaké ting wong!

Pohodlné puzdro Arduino Uno

Tu je prípad, ktorý som použil, model vytvorený spoločnosťou Esquilo.

Krok 4: Pripojte napájanie k Banana Pi a Arduino

Pripojte napájanie k Banana Pi a Arduino
Pripojte napájanie k Banana Pi a Arduino

Na napájanie Banana Pi (6v) som použil rozhranie SATA. Ak máte rovnakú dosku, môžete to tiež urobiť, len sa uistite, že napätie je 5v-6v. Je to neregulované napájanie, takže predpokladám, že na Banana Pi M1 je ochranný obvod pre napájanie SATA.

UPOZORNENIE: Pre Raspberry Pi máte niekoľko možností: bezpečný (pomocou konektora USB na poskytnutie 5 V) a nie tak bezpečný (pomocou pinov GPIO). Tu je odkaz, kde si môžete prečítať o pripojení napájania k pinom GPIO Raspberry Pi. Uistite sa

1) Používajte regulované napájanie

2) Nastavte napätie na 5v

Neexistuje žiadny ochranný obvod pre piny GPIO! Ak urobíte niečo zle, existuje vážna pravdepodobnosť poškodenia elektroniky na doske.

V prípade Arduina stačí zapojiť napájanie do vstupných skrutkových svoriek na kryte motora. Môže to trvať až 12 V.

Krok 5: Vložte Banana Pi do 3D tlačeného puzdra, zostavte zvyšok Roveru

Vložte Banana Pi do 3D tlačeného puzdra, zostavte zvyšok Roveru
Vložte Banana Pi do 3D tlačeného puzdra, zostavte zvyšok Roveru
Vložte Banana Pi do 3D tlačeného puzdra, zostavte zvyšok Roveru
Vložte Banana Pi do 3D tlačeného puzdra, zostavte zvyšok Roveru

Toto puzdro som použil na Banana Pi od thingverse, vytvorený spoločnosťou GermanRobotics. Obálku som si vyrobil sám.

Vložte Banana Pi do puzdra, zakryte ho vekom a pomocou lepiacej pištole pripevnite Arduino Uno na vrch puzdra Banana Pi.

Zakryte batériu týmto krytom a na vrch pripevnite držiak naklápania/nakláňania webovej kamery.

Ak používate Banana Pi, budete potrebovať rozbočovač USB, pretože má iba dva sloty USB (Raspberry 2, 3 má štyri). Čisto z estetických dôvodov som sa rozhodol použiť rozbočovač OTG 1-2 USB a skryť káble do puzdra Banana Pi.

Krok 6: Zostavenie hardvéru Hotovo

Montáž hardvéru Hotovo!
Montáž hardvéru Hotovo!

Poďme si rýchlo zhrnúť, čo sme doteraz urobili.

Zostavili sme platformu robota, pripojili napájanie k Banana Pi, Arduino Uno, pripojili motory a serva k ovládaču motora a pomocou USB rozbočovača pripojili USB kameru a Arduino Uno k Banana Pi. Teraz môžete testovať a odstraňovať problémy s hardvérom. Schéma zapojenia znázorňujúca všetky pripojenia je pre tento krok na obrázku.

Krok 7: Konfigurácia systému

Konfigurácia systému
Konfigurácia systému

Na svojom pi som použil systémový obrázok Raspbian Lite. Zjednodušená verzia nemá GUI a je dodávaná iba s nainštalovanými základnými balíkmi. Zaberá však oveľa menej miesta, čo znamená, že môžeme použiť menšiu kartu SD. Ak vám nie je príjemné používať GUI, môžete si nainštalovať aj úplný obrázok.

Pripojte svoje pi k internetu pomocou ethernetového kábla. Po spustení bude prvým krokom pripojenie k sieti Wi-Fi.

Na termináli spustite nasledujúci príkaz

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Upravte konfiguračný súbor na pomocou svojich poverení WiFi

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

Reštartujte pí. Voila! Teraz ste pripojení k Wi-Fi.

Ďalej budeme musieť nainštalovať pip (Správca balíkov Pythonu)

sudo apt-get install python-setuptools

sudo easy_install pip

Teraz pomocou pip nainštalujeme Flask na spustenie webového servera a pyserial pre pi na komunikáciu s Arduino cez sériové pripojenie.

sudo pip nainštalujte banku

sudo pip install pyserial

Posledná vec bude nainštalovať a nakonfigurovať pohybový balík, ktorý používame na streamovanie videa z našej webovej kamery.

Postupujte podľa tohto skvelého návodu.

Teraz sme pripravení hučať!

Krok 8: Spustenie softvéru

Spustenie softvéru
Spustenie softvéru
Spustenie softvéru
Spustenie softvéru

Pamätáte si, ako som povedal, že sme pripravení rachotiť?

Dobre, trochu viac brúsime a potom môžeme začať dunieť:)

Poďme si stiahnuť všetky potrebné súbory z môjho úložiska github.

git klon

Nahrajte rover.ino do Arduino Uno. Ak ste vykonali hardvérové zmeny (napríklad pomocou iného krytu motora), musíte zmeniť náčrt.

Ak používate webovú kameru, upravte riadok v spodnej časti súboru index.html v priečinku šablón. Zmeňte adresu URL v riadku IFRAME tak, aby zodpovedala adrese URL src pre váš stream videa.

Teraz môžete spustiť webový server. Spustite nasledujúci príkaz

sudo python pi_rover.py

Ak ste veľmi podrobne sledovali moju zostavu a máte pripojené Arduino, v termináli uvidíte nasledujúci (prvý obrázok).

Do webového prehliadača zadajte adresu IP svojho robota (napríklad v mojom prípade to bolo 192.168.1.104), adresu IP môžete skontrolovať pomocou príkazu $ ifconfig v systéme Linux.

/urobte tu oslavný tanec!/

Ak máte akékoľvek otázky, neváhajte sa ma opýtať v komentároch. Tento tutoriál je zameraný na úroveň začiatočníkov, ale nie na začiatočníkov. Preto som bol veľmi stručný o veciach, ktoré môžete jednoducho vygoogliť (napr. Napaľovanie obrazu systému na kartu SD, nahrávanie náčrtu Arduino atď.).

Krok 9: Kredity

Myšlienka a kód webového servera pochádza z tohto skvelého pokynu od jscottb. Upravil som ho tak, aby používal bežnejší hardvér, ako napríklad Arduino Uno.

3D tlačené diely od Thingverse.

www.thingiverse.com/thing:994827

www.thingiverse.com/thing:2816536/files

www.thingiverse.com/thing:661220

Odporúča: