[PROJEKT] Wskaźnik promieniowania ultrafioletowego – Arduino, wyświetlacz E-PAPER oraz czujnik UV

W dzisiejszym artykule zostanie zbudowany prosty wskaźnik promieniowania UV. Sercem projektu będzie płytka kompatybilna z Arduino –  KAmduino UNO. Wyniki pomiarów będą wyświetlane na wyświetlaczu E-PAPER, który zapewnia duży kontrast, nawet w pełnym słońcu. Do pomiaru promieniowania UV posłuży czujnik UV Sensor V2 od firmy DFRobot.

Do realizacji projektu będą potrzebne:

Rys. 1. Czujnik promieniowania ultrafioletowego – UV Sensor V2

UV Sensor V2 to niewielki moduł pozwalający na pomiar promieniowania ultrafioletowego (UV). Został oparty na czujniku GUVA-S12SD. Umożliwia pomiar promieniowania o długości fali od 200 do 370 nm. Wyjściem czujnika jest sygnał analogowy. Znając wartość na wyjściu można określić tzw. indeks UV (sposób przeliczania przedstawię w dalszej części artykułu). Do działania moduł potrzebuje zasilania 5 V.

Rys. 2. Wyświetlacz E-PAPER o przekątnej 2,7″ firmy Waveshare 

Czujnika promieniowania ultrafioletowego będziemy używać na zewnątrz. Do wyświetlania informacji o indeksie UV zostanie wykorzystany wyświetlacz typu E-PAPER, który zapewnia wysoki kontrast w dużym słońcu). Wyświetlacz E-paper o przekątnej 2,7 cala umieszczony jest w module w postaci nakładki HAT przeznaczony do użycia z komputerami Raspberry Pi (2B/3B/3B+/Zero/Zero W), lecz posiada również złącze, na które zostały wyprowadzone sygnały sterujące. Dzięki temu możliwe jest połączenie go z innymi płytkami np. Arduino lub STM32. W zestawie z wyświetlaczem znajduje się również odpowiedni do tego celu przewód. Ekran ma rozdzielczość 264 x 176 pikseli i pozwala na wyświetlanie trzech kolorów: czarnego, czerwonego oraz białego. Moduł posiada wbudowany kontroler, co ułatwia komunikacje z wyświetlaczem, która odbywa się za pomocą interfejsu SPI. Na płytce znalazły się 4 przyciski funkcyjne do dyspozycji użytkownika. Wyświetlacz cechuje się dużym kontrastem, a wyświetlany tekst lub grafika nie znika po odłączeniu zasilania. Czas odświeżania całego wyświetlacza wynosi nawet 15 sekund.

Podłączenie czujnika promieniowania ultrafioletowego do płytki KAmduino UNO jest bardzo proste – należy to zrobić zgodnie z tabelą poniżej:

Pin KAmduino UNO Moduł UV Sensor V2
+5V Przewód czerwony
GND Przewód czarny
A0 Przewód niebieski
[/su_table]

Czujnik promieniowania ultrafioletowego podłączony do płytki KAmduino UNO wygląda następująco:

Rys. 3. Czujnik UV sensor V2 podłączony do płytki KAmduino UNO

Kolejnym krokiem jest podłączenie wyświetlacza E-PAPER. Należy go podłączyć zgodnie z tabelą umieszczoną poniżej. Z uwagi na dużą ilość przewodów warto je spiąć niewielką opaską zaciskową:

Pin KAmduino UNO Pin modułu wyświetlacza E-PAPER Kolor przewodu
3,3V 3.3V Czerwony
GND GND Czarny
11 DIN Niebieski
13 CLK Zółty
10 CS Pomarańczowy
9 DC Zielony
8 RST Biały
7 BUSY Fioletowy

Układ po podłączeniu wyświetlacza prezentuje się następująco:

Rys. 4. Zmontowany układ potrzebny do realizacji projektu

 

Gdy układ jest już gotowy możemy przejść do programowania. Pierwszym krokiem jest instalacja biblioteki do obsługi wyświetlacza E-PAPER. Pobieramy ją ze strony producenta lub z sekcji Do pobrania na końcu artykułu.

Po pobraniu należy wypakować zawartość z archiwum. Oprócz bibliotek, zawiera ono także przykłady dla Raspberry Pi, Arduino oraz STM32. W katalogu Arduino  znajdziemy dwa foldery: epd2in7b-demo oraz libraries. Otwieramy folder libraries oraz kopiujemy jego zawartość. Następnie przechodzimy do folderu na dysku, gdzie zainstalowane jest środowisko Arduino (zazwyczaj: C:\Program Files (x86)\Arduino). W tym folderze przechodzimy do katalogu libraries i tworzymy w nim folder o nazwie E_PAPER, a następnie umieszczamy w nim wcześniej skopiowane pliki.

Żeby sprawdzić poprawność podłączenia wyświetlacza do KAmduino UNO oraz upewnić się ze pliki biblioteki zostały poprawnie skopiowane, przechodzimy do folderu epd2in7b-demo (w wypakowanym archiwum 2.7inch_e-paper_hat_b_code) i otwieramy przykład o takiej samej nazwie (epd2in7b-demo). Po skompilowaniu oraz wgraniu programu na naszym ekranie powinna pojawić się następująca sekwencja:

W przypadku gdy program demonstracyjny nie skompiluje się prawidłowo, należy upewnić się czy wszystkie pliki z folderu libraries zostały przeniesione. W przypadku niedziałania wyświetlacza należy sprawdzić poprawność połączenia przewodów oraz to, czy wtyczka w module wyświetlacza jest wpięta prawidłowo. Po sprawdzeniu należy ponownie spróbować wgrać program testowy.

Do pobrania

O autorze