AlphaBot2 žije!
AlphaBot2 je malý jezdící robot, který je díky vysoce integrovanému a modulárnímu designu velice jednoduchý na sestavení. Robot dokáže sledovat čáru, vyhnout se překážkám, změřit vzdálenost, přijímat pokyny přes Bluetooth/IR port/WiFi vzdálené ovládání, natáčet video a mnoho dalších věcí. AlphaBot2 se prodává ve 4 verzích, ale tento návod je funkční jen pro Raspberry Pi Zero/Zero W a Raspberry Pi 3B.
Potřebný Hardware
– Waveshare AlphaBot2 pro Raspberry Pi 3B
– nebo Waveshare AlphaBot2 pro Raspberry Pi Zero/Zero W
– Raspberry Pi 3B+
– nebo Raspberry Pi Zero(W)
– MicroSD karta
– 2x 3,6V Li-Ion AA baterie 14500
Potřebný Software
– Operační systém Raspbian
– Python
– knihovna bcm2835
Získané dovednosti
– Co a jak doinstalovat do Raspbianu
– Co a jak nastavit v Raspbianu
– Základy ovládání AlphaBota
V tomto článku si ukážeme jak zprovoznit AlphaBota: Instalaci potřebných knihoven, konfiguraci rozhraní a samotné testování funkcí AlphaBota pomocí předpřipravených kódů.
Instalace potřebných knihoven
AlphaBot potřebuje různé knihovny na to, aby jste ho mohli správně ovládat, a tak si ukážeme jak je nainstalovat.
Instalace knihovny WiringPi
Pro instalaci knihovny WiringPi nejdříve musíte nainstalovat GIT příkazem:
sudo apt-get install git-core
Pokud se Vám objeví nějaký error, ujistěte se, že máte nejnovější verzi Raspbianu příkazy:
sudo apt-get update
sudo apt-get upgrade
Nyní už můžete nainstalovat samotné WiringPi příkazy:
git clone git://git.drogon.net/wiringPi
cd wiringPi
git pull origin
./build
Instalace knihovny bcm2835
Do Vašeho Raspberry Pi si stáhněte soubor Bcm2835-1.45.tar.gz a rozbalte ho do adresáře /home/pi
.
V Terminálu pak pomocí níže uvedených příkazů knihovnu nainstalujte.
cd /home/pi/bcm2835-1.45
./configure
make
sudo make check
sudo make install
Instalace knihovny Python
Knihovna Pythonu bývá v Raspbianu již předinstalována ale pokud si nejste jistí nebo knihovnu v systému nemáte nainstalujte jí pomocí těchto příkazů:
sudo apt-get update
sudo apt-get install python-dev
sudo python setup.py install
sudo apt-get install python-smbus
sudo apt-get install python-serial
sudo python setup.py install
sudo apt-get install python-imaging
Konfigurace rozhraní
Povolení I2C funkce
Pro správnou funkčnost AlphaBota budeme muset povolit I2C funkci. To uděláme pomocí příkazu:
sudo raspi-config
V menu následně vybereme Interfacing options > I2C > yes.
Také budeme muset upravit konfigurační složku. Pro upravení složky použijte tento příkaz:
sudo nano /etc/modules
Do tohoto souboru připište na konec dva řádky: i2c-bcm2708
a i2c-dev
Povolení sériové funkce
Pro ovládáni AlphaBota přes sériový port potřebujeme mít tuto funkci povolenou. Do Terminálu napište příkaz: sudo raspi-config
. V menu přejděte na Interfacing options > Serial > yes
Testování AlphaBota
Pro otestování funkcí AlphaBota WaveShare vytvořil soubor s ukázkovými kódy, díky kterým můžete rychle a jednoduše vyzkoušet jestli Váš AlphaBot funguje tak jak má.
Stáhněte si soubor AlphaBot2-Demo.7z a rozbalte ho do adresáře /home/pi
. Pokud Vám nepůjde soubor rozbalit nainstalujte si příkazem sudo apt install p7zip-full
program p7zip
, který umí soubory .7z rozbalit.
Nyní již máte vše potřebné nainstalováno a můžeme se pustit do testovaní jednotlivých částí AlphaBota.
Testování motoru
Do Terminálu ve Vašem Raspberry Pi napište tyto příkazy:
cd ~/AlphaBot2-Demo/'Raspberry Pi'/AlphaBot2/python
sudo python AlphaBot2.py
Výsledkem by mělo být to, že by se AlphaBot měl rozjet dopředu. (Pokud se kola AlphaBota otáčí ve špatném směru, tak pro levé kolo prohoďte, v souboru AlphaBot2.py
, hodnoty ain1 = 12
a ain2 = 13
. Pro pravé kolo prohoďte hodnoty bin1=20
a bin2=21
).
def __init__(self,ain1=12,ain2=13,ena=6,bin1=20,bin2=21,enb=26)
5směrný joystick
Pro zprovoznění joysticku který se nachází přímo na AlphaBotovi napište do Terminálu tyto příkazy:
cd ~/AlphaBot2-Demo/'Raspberry Pi'/AlphaBot2/python
sudo python Joystick.py
Výsledkem by měla být možnost ovládat AlphaBota pomocí joysticku, který je na něm umístěn. Aktuální směr jízdy se vypisuje do terminálu.
Infračervené dálkové ovládaní
Pro ovládání robota na dálku můžeme použít dálkový ovladač, který je součástí balení. Pro jeho zprovoznění napište do Terminálu tyto příkazy:
cd ~/AlphaBot2-Demo/'Raspberry Pi'/AlphaBot2/python
sudo python IRremote.py
Po provedení těchto příkazů byste měli být schopní robota ovládat pomocí dálkového ovladače (2-dopředu, 8-dozadu, 4-doleva, 6-doprava, 5-zastavení. Pomocí „+“ a „-“ můžete ovládat rychlost motoru a tlačítko „EQ“ nastaví rychlost na původní).
Ultrazvukový senzor vzdálenosti
Pro vyzkoušení ultrazvukového senzor vzdálenosti zadejte do Terminálu tyto příkazy:
cd ~/AlphaBot2-Demo/'Raspberry Pi'/AlphaBot2/python
sudo python Ultrasonic_Ranging.
V Terminálu uvidíte výpis vzdáleností nejbližší věci před AlphaBotem.
Ultrazvukový senzor vzdálenosti je použit i v následujícím programu, díky kterému se AlphaBot dokáže vyhýbat překážkám před ním. Program spustíte příkazy:
cd ~/AlphaBot2-Demo/'Raspberry Pi'/AlphaBot2/python sudo python Ultrasonic_Obstacle_Avoidance.py
Sensor pro sledování dráhy
Sensor pro sledování dráhy umožňuje AlphaBotovi rozeznávat barvy povrchu (bílá/černá) a díky tomu ho můžete naprogramovat tak, aby sledoval například černou pásku na zemi. Pro zprovoznění senzoru napište do Terminálu Vašeho Raspberry Pi tyto příkazy:
cd ~/AlphaBot2-Demo/'Raspberry Pi'/AlphaBot2/python
sudo python TRSensors.py
V terminálu uvidíte výpis dat. Když je AlphaBot na bílé KT desce uvidíte čísla 800-900, když je držen ve vzduchu 0-100 a na černé barvě bude ukazovat čísla od 100-300.
Program pro sledování černé pásky můžete spustit příkazy:
cd ~/AlphaBot2-Demo/'Raspberry Pi'/AlphaBot2/python
sudo python LineFollow.py
Po provedení příkazu se robot začne kalibrovat hýbáním do stran, až se přestane hýbat postavte ho na černou pásku a zmáčkněte tlačítko joysticku na AlphaBotovi.
Servo motor
Do Terminálu napište tyto příkazy:
~/AlphaBot2-Demo/'Raspberry Pi'/AlphaBot2/python
sudo python PCA9685.py
Servo motor s kamerou by se měl začít otáčet zleva doprava v rozmezí 180°.
Vzdálený přístup přes Bottle
Bottle je jednoduché a efektivní mikro python webové rozhraní, díky kterému můžete AlphaBota ovládat vzdáleně přes internet. Pro instalaci Bottle na Raspberry Pi zadejte do Terminálu příkaz:
sudo apt-get install python-bottle
Pro zapnutí video streamu přejděte do složky: home/pi/AlphaBot2-Demo/'Raspberry Pi'/AlphaBot2/python/Web-Control
, zde otevřete v textovém editoru soubor index.html
a změňte IP adresu na IP adresu svého Raspberry Pi. Pokud IP adresu neznáte, zjistíte ji např. příkazem ifconfig
.
<img width="320" height="240" src="http://10.0.3.51:8000/?action=stream">
Pro zapnutí vzdáleného přístupu napište do Terminálu tyto příkazy:
cd ~/AlphaBot2-Demo/'Raspberry Pi'/AlphaBot2/Web-Control
sudo python main.py
Po vykonání příkazu otevřete internetový prohlížeč a do adresového řádku napište IP adresu Vašeho Raspberry Pi a port 8000 (např. 192.168.0.1:8000).
V tomto návodu jsme si ukázali, jak zprovoznit a vyzkoušet AlphaBota díky předpřipraveným programům. Teď už je jen na Vás jestli zůstanete jen u toho nebo začnete s tvořením vlastních programů. Pokud vytvoříte nějaký zajímavý program a budete se s ním chtít pochlubit, můžete ho sdílet na našem fóru.