Enviro – moduł z wyświetlaczem i czujnikami środowiskowymi dla Raspberry Pi

W ostatnim czasie na naszym portalu pojawił się artykuł prezentujący ofertę firmy Pimoroni. W tym tekście zaprezentowano także moduł z akcelerometrem MSA301 oraz przykładem na platformę Arduino. Tekst znajduje się na stronie: Moduł Pimoroni MSA301 3DoF Motion Sensor z 3-osiowym akcelerometrem.

Brytyjska firma Pimoroni zajmuje się sprzedażą komponentów elektronicznych, a także dystrybucją i produkcją własnych modułów rozszerzeniowych na platformy Arduino, Raspberry Pi oraz micro:bit. Pimoroni wyrobiło sobie znaczną renomę na terenie Wielkiej Brytanii, o czym świadczy fakt, że jest to jeden z oficjalnych dystrybutorów Raspberry Pi w ojczyźnie tego komputera.

W dalszej części artykułu opiszemy kolejny ciekawy produkt z oferty firmy: nakładkę na Raspberry Pi Enviro z wyświetlaczem i czujnikami środowiskowymi. Zestaw sensorów obecny na płytce pozwala na pomiar szerokiego zakresu czynników środowiskowych, w tym temperatury, wilgotności, ciśnienia atmosferycznego, natężenia światła, odległość obiektu od czujnika. Nakładka zawiera także mikrofon MEMS oraz niewielki wyświetlacz LED.

Elementy nakładki Enviro

Nakładka Pimoroni Enviro zawiera następujące czujniki:

  • Czujnik temperatury, ciśnienia, wilgotności BME280,
  • Czujnik światła i zbliżeniowy LTR-559,
  • Mikrofon MEMS SPH0645LM4H-B.

BME280 to scalony sensor warunków atmosferycznych zawierający czujniki ciśnienia, wilgotności, a także temperatury. Sensor cechuje się bardzo małym poborem prądu (średnio 3,6 μA), które można dodatkowo obniżyć wyłączając nieużywane aktualnie bloki układu oraz wykorzystać tryb uśpienia, w którym pobór prądu spada do 0,1 µA. Układ może komunikować się za pośrednictwem interfejsu I2C lub SPI (Enviro korzysta z I2C). Zakresy pomiarowe sensora są następujące – temperatura: od -40°C do +85°C, wilgotność: 0-100%, ciśnienie: 300-1100 hPa. Układ jest produkowany przez firmę Bosch Sensortec.

Szersze omówienie cech sensora BME280 wraz z przykładem znajdziesz w artykułach BME280 – czujnik temperatury, wilgotności oraz ciśnienia.

Czujnik LTR-559 firmy Lite-On Optoelectronics to optyczny sensor natężenia światła oraz odległości. Komunikuje się za pomocą magistrali I2C i zawiera nadajnik promieni świetlnych. Układ konwertuje zmierzone natężenie światła na dane cyfrowe. Oferuje liniową charakterystykę w zakresie od 0,01 do 64 lux i doskonale sprawdza się przy silnym świetle otoczenia. Połączenie nadajnika i odbiornika światła pozwala na pracę jako czujnik odległości.

Mikrofon MEMS SPH0645LM4H-B produkowany przez Knowles to miniaturowy, energooszczędny czujnik z wyjściem cyfrowym I2S. Rozwiązanie składa się z sensora akustycznego SiSonic™, szeregowego przetwornika analogowo-cyfrowego, a także układu kondycjonującego sygnał do standardu 24-bit I2S. Użycie magistrali I2S pozwala na łatwą integrację elementu w systemie, a także bezpośrednie połączenie z procesorem aplikacyjnym. Dzięki wbudowanemu kodekowi, mikrofonu można bez problemu użyć w aplikacjach przenośnych.

Kolejnym elementem płytki jest wyświetlacz LCD o przekątnej 0,96” i rozdzielczości 160×80 pikseli. Ekran działa pod kontrolą znanego sterownika ST7735. Driver komunikuje się za pomocą portu SPI.

Nakładka zawiera standardowe 40-pinowe złącze rozszerzeniowe Raspberry Pi, a więc jest kompatybilne ze wszystkimi malinkami z takim złączem. Płytka ma wymiary 65 x 30 mm i jest w formacie pHAT, a więc ma rozmiar identyczny, co Raspberry Pi Zero.

Płytka zawiera także złącze goldpin, do którego można dołączyć inne moduły firmy Pimoroni.

Programowanie z nakładką Enviro

Producent na swoim koncie github udostępnia bibliotekę w języku Python umożliwiającą obsługę wszystkich elementów nakładki Enviro. Biblioteka zawiera klasy służące do obsługi wszystkich elementów płytki. Wraz z pakietem dostarczane są także przykłady, umożliwiające zapoznanie się ze sposobem pisania kodu obsługującego każdy z komponentów płytki.

Co ciekawe, Pimoroni dostarcza też skrypt, który umożliwia instalację biblioteki za pomocą tylko jednej linijki w konsoli. Ta linijka to:

Oczywiście można dokonać instalacji także w bardziej tradycyjny sposób. Więcej szczegółów na stronie https://github.com/pimoroni/enviroplus-python.

Warto także zapoznać się z rozkładem wyprowadzeń płytki oraz adresami poszczególnych czujników. Należy zwrócić uwagę, że podobnie jak większość materiałów, strona odnosi się do nieco większego modelu Enviro+. Tym niemniej jedyne różnice to brak czujnika gazów ADS1015 oraz złącza na czujnik jakości powietrza PMS5003. W związku z tym informacje można bez problemu wykorzystać przy pracy z opisywaną nakładką.

Link do strony z opisem modułu https://pinout.xyz/pinout/enviro_plus

Rys. 1. Moduł Enviro z uruchomionym jednym z przykładów

Podsumowanie

Moduł Enviro firmy Pimoroni to nakładka na Raspberry Pi z czujnikami środowiskowymi oraz wyświetlaczem LCD. Moduł zawiera zestaw sensorów umożliwiających pomiar czynników środowiskowych, a także wyświetlanie wyników na wyświetlaczu. W celu łatwej obsługi wszystkich elementów płytki producent udostępnił bibliotekę w języku Python. Nakładka może posłużyć do łatwej konstrukcji stacji pogodowej na bazie malinki o dużych możliwościach lub do budowy wielu innych projektów opartych o czujniki środowiskowe oraz wyświetlanie danych na niewielkim wyświetlaczu.

Nakładka Pimoroni Enviro jest dostępna w ofercie sklepu Kamami.pl

O autorze