[PROJEKT] KAmodRPI PwrRELAY – ekspander z wyjściami przekaźnikowymi dla komputerów Raspberry Pi – przykład w C

kamodrpi-pwrrelay-modul-wyjsc-przekaznikowych-dla-komputerow-raspberry-pi2-raspberry-pi-i-raspberry-pi

Sterowanie urządzeniami dużej mocy przez komputery jednopłytkowe wiąże się z koniecznością rozdzielenia zasilania obu stron układu sterowania. Do sterowania układów obciążających wyjścia do 0,5 A wystarczające jest zastosowanie małych i niedrogich tranzystorów. Układy zasilane większymi napięciami lub prądami wymagają zastosowania przekaźników. Naprzeciw tym wymaganiom wychodzi moduł KAmodRPI PwrRELAY. Moduł ten zawiera dwa wyjścia przekaźnikowe, zakończone złączami śrubowymi ARK oraz dwa wyjścia tranzystorowe. Zarówno wyjścia przekaźnikowe, jak i wyjścia tranzystorowe są sterowane za pomocą wyjść GPIO komputera Raspberry PI. W tym przykładzie pokażę, jak w prosty sposób można zrealizować sterowanie wyjściami, z poziomu programu w C oraz z wykorzystaniem modułu KAmodRPI PwrRELAY.

img_0645
Fot. 1. Układ testowy – Raspberry Pi + KAmodRPI Pwr RELAY

Program został napisany i skompilowany na komputerze Raspberry PI Model B z poziomu systemu Raspbian Jessie (wersja z: 27.05.2016).

Pierwszą czynnością po uruchomieniu systemu jest utworzenie katalogu, gdzie będziemy przechowywali nasz program wraz z skompilowaną wersją. W moim przypadku jest to katalog „KAmodRPI_PwrRELAY” w folderze domowym użytkownika.

schemat-pwrrelay
Rys. 2. Schemat połączeń stanowiska testowego

Kolejnym krokiem jest utworzenie pliku *.c, z przykładowym programem, w nowo utworzonym katalogu. Kod programu przedstawiam poniżej.

W powyższym programie korzystamy z dwóch bibliotek dostępnych w systemie są to: stdio.h i wiringPi.h. Pierwsza z nich to standardowa biblioteka wejść/wyjść programu, natomiast druga pozwala na bardzo proste sterowanie wyjściami GPIO komputera Raspberry PI. Definiujemy cztery stałe zawierające nazwy naszych wyjść oraz przypisujemy im odpowiedni numer GPIO komputera. Numery pinów GPIO możemy odczytać z warstwy opisowej płytki PCB modułu KAmodRPI. Pierwszą instrukcją w głównej funkcji programu jest konfiguracja portów GPIO do pracy oraz przypisanie funkcji do konkretnych pinów portu GPIO. W naszym przypadku wszystkie wyjścia od 22 do 25 są to wyjścia, stąd zapis:

Ostatnim elementem programu jest nieskończona pętla while w której kolejno są załączane i wyłączane porty GPIO z opóźnieniem 1 sekundy.

Program kompilujemy za pomocą kompilatora gcc, z poziomu terminala systemu operacyjnego. Kompilację przeprowadzamy wykonując polecenie:

Polecenie wykonujemy będąc w katalogu, w którym znajduje się plik *.c z naszym programem.

Program uruchamiamy z poziomu terminala poleceniem:

Efekt działania programu prezentuje poniższy film:

Do pobrania

O autorze