Get the Flash Player to see this player.

time2online Joomla Extensions: Simple Video Flash Player Module
Biblioteki C (WiringPi) dla Raspberry PI

 

 

We wcześniejszych artykułach pokazałem jak dobrać się do pinów GPIO za pomocą konsoli. Niestety bezpośrednie działanie na pinach jest dosyć uciążliwe, dlatego fajnie ściągnąć jakieś biblioteki do obsługi tych pinów. Ciekawą alternatywą są biblioteki WiringPi, które można ściągnąć ze strony https://projects.drogon.net. Proces instalacji jest automatyczny. Wystarczy podmienić jądro i ściągnąć biblioteki z repozytorium. Na poniższych logach macie krok po kroku jak się to robi.

sudo apt-get install git-core
git clone git://git.drogon.net/wiringPi
cd wiringPi
./build

Mając już potrzebne biblioteki możemy je przetestować wpisując gpio -v oraz gpio readall:

W bibliotece numery GPIO różnią się od rzeczywistych numerów pinów. Można to zauważyć na powyższym logu. W bibliotece pin 0 podłączony jest do pinu 17. Czyli zapalając GPIO0, tak naprawdę zapalamy pin 17. W samej bibliotece jest możliwość używania nazw pinów jak i ich numerów rzeczywistych. Można to zobaczyć na poniższych logach:

Efekt można zaobserwować także podpinając diodę w ten sposób:

Więcej informacji macie na stronie https://projects.drogon.net/raspberry-pi/gpio-examples/tux-crossing/gpio-examples-1-a-single-led/

Wpisując polecenia:

gpio mode 0 out  // pin 0 ustawiamy na jako wyjście
gpio write 0 1 //na pinie 0 wystawiamy stan wysoki, czyli 1
gpio -g write 17 1 // jest to ta sama komenda co powyżej, tylko używamy numeru pinu

Rozmieszczenie pinów na płytce wygląda tak:

wiringPi
Pin
BCM
GPIO
NameHeaderNameBCM
GPIO
wiringPi
Pin
3.3v 1 | 2 5v
8 R1:0/R2:2 SDA0 3 | 4 5v
9 R1:1/R2:3 SCL0 5 | 6 0v
7 4 GPIO7 7 | 8 TxD 14 15
0v 9 | 10 RxD 15 16
0 17 GPIO0 11 | 12 GPIO1 18 1
2 R1:21/R2:27 GPIO2 13 | 14 0v
3 22 GPIO3 15 | 16 GPIO4 23 4
3.3v 17 | 18 GPIO5 24 5
12 10 MOSI 19 | 20 0v
13 9 MISO 21 | 22 GPIO6 25 6
14 11 SCLK 23 | 24 CE0 8 10
0v 25 | 26 CE1 7 11
wiringPi
Pin
BCM
GPIO
NameHeaderNameBCM
GPIO
wiringPi
Pin

Modle B+ jest także obsługiwany przez WiringPi:

W ten sposób można w łatwy sposób zarządzać pinami GPIO. Biblioteka prócz zwykłych operacji ustawiania stanów wysokich i niskich posiada także możliwość obsługi 1-WIRE, SPI i PWM. Ale o tym w następnym artykule.