Obsah:

Banana/Raspberry Pi + Arduino Rover s webovou kamerou: 9 kroků
Banana/Raspberry Pi + Arduino Rover s webovou kamerou: 9 kroků

Video: Banana/Raspberry Pi + Arduino Rover s webovou kamerou: 9 kroků

Video: Banana/Raspberry Pi + Arduino Rover s webovou kamerou: 9 kroků
Video: REAL RACING 3 LEAD FOOT EDITION 2024, Červenec
Anonim
Banán/Raspberry Pi + Arduino Rover s webovou kamerou
Banán/Raspberry Pi + Arduino Rover s webovou kamerou

Projekt, který jsem udělal ve svém volném čase. Jedná se o 4kolového robota s plným pohonem ovládaného prostřednictvím webového rozhraní. Pokud máte nějaké dotazy nebo připomínky, neváhejte mě kontaktovat. Tento projekt sám používá 3D tištěné části a určité části kódu, které byly vytvořeny jinými lidmi. Na konci Instructuble můžete najít kredity a podívat se na originální kousky.

Můžeme začít?

Krok 1: Komponenty, které potřebujete

Komponenty, které potřebujete
Komponenty, které potřebujete
Komponenty, které potřebujete
Komponenty, které potřebujete
Komponenty, které potřebujete
Komponenty, které potřebujete

Zde je seznam komponent, které jsem použil s odkazy a alternativami. Žiji v čínském Shenzhenu a díly jsem koupil přímo na Taobao.

4-motorový podvozek robota Alternativa: Postačí jakýkoli dostatečně velký podvozek. Tenhle má 4 motory pro nějaký točivý moment navíc. Motory jsou běžné levné žluté motory, hodnotící

Klon L293D Arduino Motor Shield rev.1 Alternativa: Lepší stínění motoru dimenzované pro větší proud

Alternativa klonu Arduino Uno: Můžete použít jakoukoli jinou desku Arduino bez výrazných změn v kódu.

6V 4,5Ah Pb baterie Alternativa: Je možné experimentovat s menšími LiPo bateriemi, pokud chcete lehčího robota/používat pouze dva motory.

Alternativa Banana Pi: Lze vyměnit za Raspberry Pi 1/2/3 nebo Orange Pi bez výrazných změn kódu. Banana Pi jsem použil jen proto, že jsem měl jeden povalovaný.

Webová kamera Alternativa: Použijte kameru CSI pro Raspberry Pi/Banana Pi/Orange Pi

Kamera Pan/tilt mount se servy sg60 Alternativa: Například 3D Print tilt/pan mount může použít tento.

3D tištěné díly Alternativa: Nechte se vést svou představivostí a talentem 3D designu! Také Thingverse:)

Krok 2: Připojte motory k stínění motoru L293D

Připojte motory pomocí stínění motoru L293D
Připojte motory pomocí stínění motoru L293D
Připojte motory pomocí stínění motoru L293D
Připojte motory pomocí stínění motoru L293D

Připojte každý motor pomocí šroubových svorek stínění motoru. Zde je schéma zapojení. Pokud máte pouze dva motory a nechcete kód měnit, připojte je k MOTORU 1 a MOTORU 3.

POZNÁMKA: Pro ty, kteří používají různé motory s vyšším jmenovitým proudem, budete možná potřebovat jiný ovladač motoru. Alternativně, pěkný malý hack, který jsem se nedávno dozvěděl, je, že můžete připojit dva další ovladače L293D nad stávající (je to střední čip na desce)!

Krok 3: Arduino Uno, montáž štítu motoru

Arduino Uno, sestava štítu motoru
Arduino Uno, sestava štítu motoru

Vložte Arduino Uno do pouzdra a nainstalujte Motor Shield. Existuje pouze jeden způsob, jak to udělat, pokud se to nehodí, děláte nějaké ting wong!

Pohodlné pouzdro Arduino Uno

Zde je případ, který jsem použil, model vytvořený společností Esquilo.

Krok 4: Připojte napájení k Banana Pi a Arduino

Připojte napájení k Banana Pi a Arduino
Připojte napájení k Banana Pi a Arduino

K napájení Banana Pi (6v) jsem použil rozhraní SATA. Pokud máte stejnou desku, můžete to také udělat, jen se ujistěte, že napětí je 5v-6v. Je to neregulované napájení, takže předpokládám, že na Banana Pi M1 existuje ochranný obvod pro napájení SATA.

UPOZORNĚNÍ: Pro Raspberry Pi máte několik možností: bezpečnou (pomocí USB konektoru poskytující 5v) a ne tak bezpečnou (pomocí GPIO pinů). Zde je odkaz, kde si můžete přečíst o připojení napájení k pinům GPIO Raspberry Pi. Ujisti se

1) Používejte regulované napájení

2) Nastavte napětí na 5v

Neexistuje žádný ochranný obvod pro GPIO piny! Pokud uděláte něco špatně, existuje vážná šance na poškození elektroniky na desce.

U Arduina stačí připojit napájení ke vstupním šroubovým svorkám na stínění motoru. Může to trvat až 12v.

Krok 5: Vložte Banana Pi do 3D tištěného pouzdra, sestavte zbytek Roveru

Vložte Banana Pi do 3D tištěného pouzdra, sestavte zbytek Roveru
Vložte Banana Pi do 3D tištěného pouzdra, sestavte zbytek Roveru
Vložte Banana Pi do 3D tištěného pouzdra, sestavte zbytek Roveru
Vložte Banana Pi do 3D tištěného pouzdra, sestavte zbytek Roveru

Tento případ jsem použil pro Banana Pi od thingverse, vytvořeného společností GermanRobotics. Obálku jsem si vyrobil sám.

Vložte Banana Pi do pouzdra, zakryjte víkem a pomocí lepicí pistole připevněte Arduino Uno na horní část pouzdra Banana Pi.

Zakryjte baterii tímto krytem a na horní část připevněte držák naklápění/naklápění webové kamery.

Pokud používáte Banana Pi, budete potřebovat rozbočovač USB, protože má pouze dva sloty USB (Raspberry 2, 3 má čtyři). Čistě z estetických důvodů jsem se rozhodl použít USB rozbočovač OTG 1-2 a skrýt vodiče uvnitř pouzdra Banana Pi.

Krok 6: Montáž hardwaru Hotovo

Montáž hardwaru Hotovo!
Montáž hardwaru Hotovo!

Pojďme si rychle shrnout, co jsme zatím dělali.

Sestavili jsme platformu robotů, připojili napájení k banánům Pi, Arduino Uno, připojili motory a serva k ovladači motoru a pomocí USB rozbočovače připojili USB kameru a Arduino Uno k Banana Pi. Nyní můžete testovat a odstraňovat potíže s hardwarem. Schéma zapojení zobrazující všechna připojení je pro tento krok na obrázku.

Krok 7: Konfigurace systému

Konfigurace systému
Konfigurace systému

Na svém pí jsem použil systémový obrázek Raspbian Lite. Lite verze nemá GUI a je dodávána pouze se základními balíčky na jednu instalaci. Zabírá však mnohem méně místa, což znamená, že můžeme použít menší kartu SD. Pokud vám bez GUI není dobře, můžete si také nainstalovat celý obrázek.

Připojte své pi k internetu ethernetovým kabelem. Po spuštění bude prvním krokem připojení k Wi-Fi.

Spusťte v terminálu následující příkaz

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Upravte konfigurační soubor pomocí svých pověření WiFi

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

Restartujte pí. Voila! Nyní jste připojeni k Wi-Fi.

Dále budeme muset nainstalovat pip (Python Package Manager)

sudo apt-get install python-setuptools

sudo easy_install pip

Nyní používáme pip k instalaci Flasku pro provoz webového serveru a pyserial pro pi pro komunikaci s Arduino přes sériové připojení.

sudo pip install baňka

sudo pip install pyserial

Poslední věcí bude instalace a konfigurace pohybového balíčku, který používáme pro streamování videa z naší webové kamery.

Postupujte podle tohoto skvělého pokynu.

Nyní jsme připraveni hučet!

Krok 8: Spuštění softwaru

Spuštění softwaru
Spuštění softwaru
Spuštění softwaru
Spuštění softwaru

Pamatujete si, jak jsem řekl, že jsme připraveni rachotit?

Dobře, trochu více broušení a pak můžeme začít rachotit:)

Pojďme stáhnout všechny potřebné soubory z mého úložiště github.

klon git

Nahrajte rover.ino na Arduino Uno. Pokud jste provedli hardwarové změny (například pomocí jiného krytu motoru), musíte změnit skicu.

Pokud používáte webovou kameru, upravte řádek v dolní části souboru index.html ve složce šablony. Změňte adresu URL v řádku IFRAME tak, aby odpovídala adrese src vašeho video streamu.

Nyní můžete spustit webový server. Spusťte následující příkaz

sudo python pi_rover.py

Pokud jste velmi zblízka sledovali moji stavbu a připojili jste Arduino, uvidíte v terminálu následující (první obrázek).

Do webového prohlížeče zadejte IP adresu svého robota (například v mém případě to bylo 192.168.1.104), IP adresu můžete zkontrolovat pomocí příkazu $ ifconfig v Linuxu.

/udělejte slavnostní tanec zde!/

Pokud máte nějaké dotazy, neváhejte se mě zeptat v komentářích. Tento tutoriál je určen pro začátečníky, ale ne pro začátečníky, proto jsem byl docela stručný o věcech, pro které si můžete jednoduše vygooglit (např. Vypálit obrázek systému na SD kartu, nahrát skicu Arduina atd.).

Krok 9: Kredity

Myšlenka a kód webového serveru pochází z této skvělé instrukce od jscottb. Upravil jsem to tak, aby používal běžnější hardware, jako je Arduino Uno.

3D tištěné díly od Thingverse.

www.thingiverse.com/thing:994827

www.thingiverse.com/thing:2816536/files

www.thingiverse.com/thing:661220

Doporučuje: