KAmodRPi-Pmod-HAT – nakładka na Raspberry Pi ze złączami Pmod

Artykuł opisuje nakładkę na Raspberry Pi umożliwiającą łatwe podłączenie modułów rozszerzeniowych w standardzie Pmod – KAmodRPi-Pmod-HAT.

Pmod to popularny interfejs służący do podłączenia płytek rozszerzeniowych z zestawami rozwojowymi dla mikrokontrolerów i układów FPGA. Został opracowany i spopularyzowany przez firmę Digilent, który jest także największym producentem modułów Pmod. Umożliwia on podłączenie do płytki bazowej dodatkowych modułów, takich jak czujniki, sterowniki silników, wyświetlacze, moduły komunikacji bezprzewodowej i wiele innych. Standard Pmod umożliwia komunikację za pośrednictwem interfejsów I2C, SPI, UART, a także za pomocą linii GPIO.

Kompendium dotyczące oferty modułów Pmod we współpracy z mikrokontrolerem STM32 można znaleźć w serii artykułów Digilent Pmod i STM32

Ze względu na tak bogatą ofertę modułów, można się zastanowić nad sposobem wykorzystania interfejsu do rozszerzenia możliwości Raspberry Pi? W odpowiedzi na to, projektanci z zespołu Kamami.pl opracowali nakładkę KAmodRPi-Pmod-HAT, która pozwala podłączyć moduły bezpośrednio do złączy Pmod zamontowanych na płytce. W artykule zaprezentujemy możliwości nakładki, a także pokażemy prosty przykład wykorzystania modułu do współpracy z czujnikiem temperatury i ciśnienia KAmodMPL3115A2, a także z wyświetlaczem PmodOLEDrgb.

Rysunek 1. Moduł KAmodRPi-Pmod-HAT

Nakładka KAmodRPi-Pmod-HAT

Nakładka KAmod-Pmod-HAT umożliwia wygodne podłączenie modułów Pmod do interfejsów komunikacyjnych udostępnionych na 40-pinowym złączu Raspberry Pi. Jest kompatybilna z komputerami w wersji 4B, 3B+, 3B, 2B, a także B+. Złącza zamontowane na nakładce umożliwiają korzystanie z interfejsów UART, I2C oraz SPI. Dodatkowo płytka dysponuje złączami KAmod-I2C oraz KAmod-SPI, pozwalającymi na podłączenie do malinki także płytek rozszerzeniowych z serii KAmod.

Kolejnym elementem wyposażenia nakładki KamodRPi-Pmod-HAT jest pamięć EEPROM CAT24C32 wyprodukowana przez ON Semiconductor. Pamięć ma pojemność 32 Kbit. Komunikuje się z malinką za pomocą interfejsu I2C dołączonego do wyprowadzeń GPIO0 i GPIO1, przeznaczonych specjalnie do obsługi pamięci EEPROM. Dysponuje także sprzętowym zabezpieczeniem przed zapisem, które można włączyć lub wyłączyć za pomocą zworki WP na płytce.

Oprócz tego, nakładka zawiera też rezystory podciągające do zasilania linii interfejsu I2C. Rezystory mają wartość 2,2 kΩ i można je dołączyć do magistrali za pomocą zworek I2C Pull-up. Na samej płytce wycięto otwory umożliwiające łatwe przeciągnięcie tasiemek połączeniowych z kamerą i wyświetlaczem.

Rysunek 2. Schemat modułu KAmodRPi-Pmod-HAT

Tak jak wszystkie nakładki na Raspberry Pi, KAmodRPi-Pmod-HAT można zamontować na malince po prostu nakładając moduł na 40-pinowe złącze rozszerzeniowe. Do nakładki dołączono cztery tulejki dystansowe wraz z kompletem śrubek, co ułatwia stabilny montaż. Malinkę z zamontowaną płytką zaprezentowano na rysunku 3.

Rysunek 3. Moduł KAmodRPi-Pmod-HAT zamontowany na komputerze Raspberry Pi

Przykład użycia z modułem KAmodMPL3115A2

Aby zaprezentować możliwości nakładki, pokażę prosty przykład wykorzystania jej do połączenia czujnika temperatury i ciśnienia atmosferycznego KAmodMPL3115A2 z komputerem Raspberry Pi. Moduł zawiera czujnik MPL3115A2 umożliwiający pomiar ciśnienia w zakresie od 200 do 1100 hPa, a także temperatury w zakresie od -40°C do +85°C. Czujnik komunikuje się za pośrednictwem interfejsu I2C. Moduł ma formę modułu Pmod i zawiera złącze w standardzie Pmod typu 6 (z interfejsem I2C).

Przed uruchomieniem układów wykorzystujących interfejs I2C, SPI lub UART należy włączyć interfejs w konfiguracji Raspberry Pi. Aby uruchomić konfigurator wpisz w konsoli:

Rysunek 4. Moduł KAmodMPL3115A2

Połączenie sensora z nakładką KAmodRPi-Pmod-HAT również jest bardzo proste – wystarczy dołączyć płytkę do dolnej części złącza I2C na nakładce. Cały połączony układ zaprezentowano na rysunku 5.

Rysunek 5. Moduł KAmodMPL3115A2 połączony z Raspberry Pi za pośrednictwem nakładki KamodRPi-Pmod-HAT

Do odczytu danych z czujnika wykorzystałem kod dostępny na stronie controleverything.com. Pełen kod znajduje się na listingu 1.

Listing 1. Kod przykładu odczytującego dane z czujnika MPL3115A2

Aby włączyć przykład należy skopiować kod na malinkę, a następnie uruchomić poleceniem:

Po uruchomieniu aplikacja powinna pokazać wyniki pomiarów w formie podobnej do zaprezentowanej na rysunku 6.

Rysunek 6. Wyniki przykładowego kodu obsługującego moduł KamodMPL3115A2

Biblioteki Digilent do obsługi modułów Pmod na Raspberry Pi

Również producent modułów Pmod – firma Digilent – udostępnia bibliotekę do obsługi płytek na platformie Raspberry Pi. Biblioteka zawiera interfejs API w języku Python do obsługi modułów, a także przykłady na malinkę. Więcej informacji oraz pełna dokumentacja biblioteki znajduje się na stronie: https://pypi.org/project/DesignSpark.Pmod/

Aby zainstalować bibliotekę, należy wykonać w terminalu następujące komendy:

W artykule zaprezentuję przykład z biblioteki prezentujący obsługę modułu PmodOLEDrgb. Zawiera on kolorowy wyświetlacz OLED o rozdzielczości 96 x 64 pikseli z 16-bitową głębią kolorów. Umożliwia wyświetlenie kolorowej grafiki, tekstu, a także innych komunikatów graficznych. Dysponuje 12-pinowym złączem Pmod i komunikuje się za pomocą interfejsu SPI. Należy go umieścić w złączu SPI nakładki KAmodRPi-Pmod-HAT.

Rysunek 7. Moduł PmodOLEDrgb

Przykładowy kod opracowany przez specjalistów z firmy Digilent prezentuje możliwości modułu PmodOLEDrgb. Wyświetla on słowa „Hello, World” umieszczone w białym prostokącie. Kod zaprezentowano na listingu 2.

Listing 2. Przykładowy kod do obsługi modułu PmodOLEDrgb

Aby uruchomić przykład, po skopiowaniu kodu i zapisaniu w pliku z rozszerzeniem .py, należy wykonać komendę:

Efekt działania kodu pokazano na rysunku 8.

Rysunek 8. Przykład obsługi modułu PmodOLEGrgb na platformie Raspberry Pi

Moduł KAmodRPi-Pmod-HAT, moduły rozszerzeniowe Digilent Pmod, a także KAmod są dostępne w ofercie sklepu Kamami.pl.

O autorze