W poprzednim wpisie o BeagleBone Black pisaliśmy o złączach GPIO oraz dostępnych bibliotekach do zarządzania IO. W tej części przedstawimy jak za pomocą BBBlack oraz biblioteki do Pythona sterować diodami, a żeby nie było nudno zrobimy efekt świetlny, który posiadał na przedniej masce samochód „Nieustraszony” David’a Hasselhoff’a.
A oto jak prezentuje się nasza praca:
Lista zakupów
Do przygotowania efektu potrzebować będziemy następujące komponenty:
- BeagleBone Black
- 9 diod czerwonych
- 9 rezystorów 200 ohm
- płytkę stykową
- zestaw przewodów połączeniowych
Instalacja biblioteki w systemie Ångström
Po uruchomieniu BeagleBone Black musimy pobrać i zainstalować biblioteki dla Pythona do obsługi IO BBBlack. Otwieramy przeglądarkę i wpisujemy:
[bash]
http://beaglebone.local
[/bash]
Abyśmy mogli zalogować się do naszego BBB, wpisujemy następujące polecenia (zakładając użytkownika root w świeżej instalacji systemu):
[bash]
Host/IP lub SSH URL [localhost]: beaglebone.local
Port [22]: (wystarczy wcisnąć Enter)
User: root
Connecting to <code>ssh://root@beaglebone.local:22</code>
[/bash]
Możemy także podłączyć się zdalnie do naszego BBB poprzez SSH (użytkownik: root, hasło: puste). Aktualizujemy czas zegara, aby nie było problemów z łącznością z repozytoriami:
[bash]
/usr/bin/ntpdate -b -s -u pool.ntp.org
[/bash]
następnie instalujemy potrzebne pakiety oraz instalujemy bibliotekę.
[bash]
opkg update && opkg install python-pip python-setuptools python-smbus
pip install Adafruit_BBIO
[/bash]
Po instalacji sprawdzimy czy biblioteki zainstalowały się poprawnie wpisując w konsoli
[bash]
python -c "import Adafruit_BBIO.GPIO as GPIO; print GPIO"
[/bash]
Powinniśmy wtedy zobaczyć mniej więcej taką odpowiedź
[bash]
<module 'Adafruit_BBIO.GPIO’ from '/usr/local/lib/python2.7/dist-packages/Adafruit_BBIO/GPIO.so’>
[/bash]
Jeśli otrzymaliśmy taką odpowiedź możemy już brać się za pisanie programów.
Montaż układu
Poniżej znajduje się schemat układu jaki musimy zbudować do naszych testów. Podpinamy diody do pinów w rzędzie P8 od 7 do 15, zaś GDN podłączamy do pinu 2. (schemat złącz GPIO w BeagleBone Black).
Pierwszy program
Po zmontowaniu układu napiszemy prosty program za pomocą, którego pierwsza dioda z układu podłączona do portu GPIO66 na P8 (pin7) będzie migać.
W konsoli wpisujemy:
[bash]
# nano dioda.py
[/bash]
I piszemy taki program:
[bash]
import Adafruit_BBIO.GPIO as GPIO
import time
GPIO.setup("P8_7", GPIO.OUT)
while True:
GPIO.output("P8_7", GPIO.HIGH)
time.sleep(0.5)
GPIO.output("P8_7", GPIO.LOW)
time.sleep(0.5)
[/bash]
zapisujemy plik (CTRL-x) i uruchamiamy program:
[bash]
# python dioda.py
[/bash]
Po uruchomieniu nasza dioda powinna zacząć migać.
Gdy już nam się znudzi miganie diody zatrzymujemy program CTRL-c.
Efekt świetlny
Teraz zabieramy się za projekt efektu świetlnego z „Nieustraszonego”.
W konsoli wpisujemy
[bash]
# nano nieustraszony.py
[/bash]
I piszemy taki program:
[bash]
import Adafruit_BBIO.GPIO as GPIO
import time
GPIO.setup("P8_7", GPIO.OUT)
GPIO.setup("P8_8", GPIO.OUT)
GPIO.setup("P8_9", GPIO.OUT)
GPIO.setup("P8_10", GPIO.OUT)
GPIO.setup("P8_11", GPIO.OUT)
GPIO.setup("P8_12", GPIO.OUT)
GPIO.setup("P8_13", GPIO.OUT)
GPIO.setup("P8_14", GPIO.OUT)
GPIO.setup("P8_15", GPIO.OUT)
while True:
for i in range(7, 15):
GPIO.output("P8_%i" % (i), GPIO.HIGH)
time.sleep(0.05)
GPIO.output("P8_%i" % (i+1), GPIO.HIGH)
time.sleep(0.05)
GPIO.output("P8_%i" % (i), GPIO.LOW)
time.sleep(0.05)
for i in range(15, 7, -1):
GPIO.output("P8_%i" % (i), GPIO.HIGH)
time.sleep(0.05)
GPIO.output("P8_%i" % (i-1), GPIO.HIGH)
time.sleep(0.05)
GPIO.output("P8_%i" % (i), GPIO.LOW)
time.sleep(0.05)
[/bash]
zapisujemy plik (CTRL-x) i uruchamiamy program:
[bash]
# python nieustraszony.py
[/bash]
Po uruchomieniu nasze diody powinny zachowywać się podobnie jak diody na samochodzie „Nieustraszonego”. Gdy już nam się znudzi miganie zatrzymujemy program Ctrl+c.
Artykuł ten jest częścią serii o BeagleBone Black. Za dostarczenie płytki dziękujemy BOTLAND.com.pl
Michał Olber liked this on Facebook.
Cyryl Sochacki liked this on Facebook.
Mikołaj Łączyński liked this on Facebook.
[…] zainstalować bibliotekę AdafruitBBIO. Opisywaliśmy proces instalacji biblioteki w artykule BeagleBone Black – sterowanie diodami. Tworzymy plik […]