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:

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).

Sterowanie diodami w BeagleBone Black - schemat podłączenia diód

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

Poprzedni artykułMozilla Firefox 24.0 dla Androida z obsługą WebRTC i ulepszonym trybem nocnym
Następny artykułGOG.com i sprawa klienta dla systemów Linux

4 KOMENTARZE

ZOSTAW ODPOWIEDŹ

Proszę wpisać swój komentarz!
Proszę podać swoje imię tutaj