Internet Rzeczy w pomiarach środowiskowych (10). Czujnik UV z fotodiodą GUVA-S12SD

Internet Rzeczy w pomiarach środowiskowych (10). Czujnik UV z fotodiodą GUVA-S12SD

Określanie poziomu promieniowania UV może być istotne przy słonecznej pogodzie. Pomagają w nim analogowe i cyfrowe czujniki UV. Fotodiodę GUVA-S12SD, czułą w pasmie nadfioletu, zaimplementowano w wielu modułach dostarczanych przez różne firmy. Jednym z ciekawszych jest moduł „UV Sensor” firmy Waveshare. Został on dołączony do płytki Enviro Weather (czujniki: ciśnienie, temperatura i wilgotność z BME280; poziom oświetlenia z LTR-559) wraz z modułem Grove – I²C Color Sensor (czujnik RGB TCS34725) i modułem AS7341 „Spectral Color Sensor” (czujnik wielospektralny AS7341). Do pokazywania rezultatów pomiarów służy dosyć spory (i niedrogi) wyświetlacz e-Paper.

Czujniki UV

Scalone czujniki nadfioletu są produkowane przez różne firmy, w tym: ams-OSRAM, Hamamatsu, Liteon, Silicon Labs czy Genicom. Układy te dostarczają pomiar w postaci analogowego napięcia lub cyfrowo – poprzez szynę I²C. Jednak zarówno same układy scalone, jak i moduły uruchomieniowe bywają często wycofywane, niedostępne lub bardzo drogie. W zasadzie na rynku da się zdobyć moduły z trzema czujnikami: analogowym czujnikiem GUVA-S12SD firmy Genicom (UVA: 240...370 nm), cyfrowym sensorem LTR-390 firmy Liteon (UVA+UVB: 280...430 nm) oraz trzykanałowym czujnikiem AS7331 firmy ams-OSRAM (UVA, UVB, UVC).

Jednokanałowy czujnik LTR-390 firmy Liteon pozwala na pomiar natężenia promieniowania ultrafioletowego i światła widzialnego (ALS) – cechuje się on wysoką czułością, dużym zakresem odpowiedzi liniowej (1:18 000 000), szybką reakcją oraz małym rozmiarem. Układ ma wbudowany przetwornik ADC z maksymalną rozdzielczością 20 bitów. Moduł jest zasilany napięciem od 3,3 V do 5 V, a komunikacja odbywa się przez interfejs I²C. Układ nie wymaga kalibracji.

Trzykanałowy czujnik AS7331 firmy ams-OSRAM to zintegrowany detektor UV o niewielkim poborze mocy i niskim poziomie szumów [4]. Trzy oddzielne kanały UVA, UVB i UVC konwertują sygnały promieniowania optycznego – za pośrednictwem zoptymalizowanych fotodiod – na wynik cyfrowy i realizują ciągły lub wyzwalany pomiar. Czułość naświetlenia można regulować za pomocą wzmocnienia, czasu konwersji i częstotliwości zegara wewnętrznego. Układ osiąga rozdzielczość do 24 bitów przy natężeniu oświetlenia do 2,38 nW/cm² i czasie integracji 64 ms.

Fotodioda GUVA-S12SD

Fotodioda GUVA-S12SD firmy Genicom (Korea) jest tanią i łatwo dostępną diodą Schottky’ego czułą w pasmie nadfioletu [1]. Dioda ma obudowę SMD (2,8×3,5×1,8 mm) ze strukturą fotoczułą o powierzchni 0,076 mm². Podstawowe parametry [1]:

  • Napięcie wsteczne: 5 V max.
  • Zakres widmowy: 240...370 nm
  • Czułość maksymalna (352 nm): 0,14 A/W
  • Prąd ciemny: 1 nA
  • Prąd (dla indeksu UV1): 21 nA typ (prąd offsetu 83 nA)
  • Kąt widzenia: 100°

Prąd fotodiody Iph w zależności od indeksu UV można obliczyć ze wzoru:

gdzie x=1…11

Dla poziomu oświetlenia poniżej UVI1 wartość prądu spada liniowo (praktycznie) do zera.

W firmowej nocie aplikacyjnej pokazany jest przykładowy schemat (rysunek 1) układu pomiarowego z fotodiodą GUVA-S12SD [2]. Jest to układ wzmacniacza transimpedancyjnego (TIA) rozbudowany o dzielnik R1 i R2 do postaci sieci T. Taka modyfikacja zwiększa wzmocnienie układu w przybliżeniu o wartość R1/R2, bez konieczności zwiększania wartości rezystora R3.

Rysunek 1. Przykładowy schemat układu pomiarowego [2]

Napięcie wyjściowe wynosi w takim przypadku:

Dla R1=3,3 kΩ, R2=1 kΩ, R3= 1 MΩ daje to wzmocnienie prądowe ok. 4,3∙106 [V/A]. Dla oświetlenia UVI1 prąd fotodiody wynosi 104 nA i napięcie wyjściowe Vout=447,2 mV. Zwiększenie oświetlenia do kolejnej wartości indeksu UVI powoduje liniowy wzrost napięcia Vout o 90,3 mV.

Moduł UV Sensor

Firma Waveshare udostępnia na swojej stronie Wiki dla modułu UV Sensor instrukcję, schemat i oprogramowanie. Moduł został już wcześniej opisany w artykule „Czujnik światła ultrafioletowego” [3]. Tutaj jednak dokładniej przeanalizujemy jego budowę (fotografia 1).

Fotografia 1. Moduł UV Sensor firmy Waveshare [5]

Stopień wstępny jest zrealizowany zgodnie ze schematem z rysunku 1. Zastosowano tu kondensator C1=100 nF, co oznacza znaczne ograniczenie pasma częstotliwości oraz szumów. Użyty wzmacniacz SGM8521 firmy SG Micro może pracować przy pojedynczym zasilaniu od 2,1 V do 5,5 V z prądem spoczynkowym 5,5 μA. Zapewnia wejście typu rail-to-rail z szerokim zakresem wejściowego napięcia wspólnego od zera do Vs, bardzo niski wejściowy prąd polaryzacji wynoszący 3 pA i napięcie offsetu 3,5 mV (maks.).

Rysunek 1. Przykładowy schemat układu pomiarowego [2]

W module zastosowano też drugi stopień w standardowym układzie wzmacniacza nieodwracającego. Jest to bardzo dobre rozwiązanie przy dołączaniu modułu kabelkami, ponieważ wzmacniacz TIA może zachowywać się niestabilnie przy zmianach pojemności obciążenia. Zostal tutaj zastosowany jeden wzmacniacz podwójnego układu LM358 firmy Texas Instruments. Układ pracuje z napięciem zasilania od 3 V, wejściowym napięciem wspólnym od zera do (Vs–1,5 V) i zakresem napięcia wyjściowego od 5 mV do (Vs–1,5 V), przy obciążeniu 10 kΩ. Użyty potencjometr 20 kΩ z rezystorem 10 kΩ ustawia maksymalne wzmocnienie tego stopnia na ok. 2 V/V. Dla badanego egzemplarza modułu „UV Sensor” wzmocnienie wynosiło 2,108 V/V. Dla oświetlenia UVI1 daje to napięcie wyjściowe Vaout=942 mV.

Zaleca się zasilanie modułu napięciem 3,3...5 V. Na płytce zamontowana jest czerwona dioda LED sygnalizująca zasilanie. Światło tej diody nie zakłóca pracy czujnika UV.

Dołączanie modułu UV Sensor z płytką Enviro Weather

Dołączenie wyjściowego napięcia modułu UV Sensor do wejścia przetwornika ADC modułu Raspberry Pi Pico W (na płytce Enviro Weather firmy Pimoroni [6]) okazało się problemem. Wbudowany przetwornik ADC procesora RP2040 jest tylko 12-bitowy. W celu utrzymania kompatybilności z arytmetyką 16-bitową odczytane słowa danych są przesuwane w lewo o 4 bity. Powoduje to duże skoki wartości dla niewielkich zmian poziomu wejściowego. Brak dokładnego napięcia odniesienia przetwornika powodował duże, skokowe, przypadkowe zmiany odczytu w wyniku impulsowych zakłóceń przetwornicy zasilającej procesor. Tych błędnych danych nie udało się usunąć nawet filtrem medianowym – stąd konieczność zastosowania zewnętrznego przetwornika ADC.

Przetwornik ADC typu ADS1115

Przetwornik ADS1115 firmy Texas Instruments jest niezwykle popularnym układem scalonym – o bardzo dużych możliwościach, za rozsądną cenę. Ten 16-bitowy konwerter z interfejsem I²C może pracować z zasilaniem 2,0...5,5 V. Przy bardzo niskim poborze prądu 150 μA (tryb ciągłej konwersji) może próbkować od 8 Sps do 860 Sps. Ma wbudowane wewnętrzne źródłó napięcia odniesienia o niskim dryfcie oraz cztery multipleksowane wejścia unipolarne (lub dwa bipolarne). Unikalną jego cechą jest wyposażenie w wewnętrzny wzmacniacz PGA o bardzo wysokiej impedancji (>3 MΩ), co umożliwia ustawienie sześciu zakresów napięcia wejściowego od ±6,144 V do ±0,256 V. Niewykorzystane wejścia należy dołączyć do zasilania VDD lub masy.

Obsługa szyny I²C jest dosyć prosta. Układ udostępnia tylko trzy rejestry 16-bitowe oraz 7-bitowy rejestr adresowy. Pod adresem 0x00 znajduje się rejestr danych, 0x01 to rejestr konfiguracji, a pozostałe konfigurują komparator. Każdy transfer rozpoczyna się od wpisania adresu rejestru do rejestru adresowego. Jeśli po nim zostaną przesłane dwa bajty danych, to układ wpisze je do wybranego wcześniej rejestru. Jeśli natomiast po wpisie adresu wystąpi stan START (lub RESTART) z ustawionym bitem odczytu, wówczas zostaną odczytane dwa bajty z rejestru o ostatnio ustawionym adresie.

Układ nie umożliwia zgłaszania przerwań. Dlatego po wystartowaniu konwersji należy aktywnie odczytywać stan rejestru konfiguracji w oczekiwaniu na zasygnalizowanie zakończenia przetwarzania.

Do pracy z układem ADS1115 zastosowano bibliotekę języka MicroPython [9], opracowaną przez Wolfganga (Wolle) Ewalda w języku Python dla ESP32. Pracuje ona doskonale na RP2040.

Inicjalizacja układu ADS1115 wymaga jedynie wpisu dwóch bajtów do rejestru konfiguracyjnego, co ustawia multiplekser wejść, wzmocnienie PGA, szybkość przetwarzania, tryb pracy (pojedyncza/ciągła) oraz parametry pracy komparatora. Wpis jedynki do bitu OS rozpoczyna przetwarzanie. Podczas odczytu tego rejestru stan bitu OS informuje, czy przetwarzanie jest wykonywane, czy zakończone. Jeśli zostało zakończone – można odczytać dwa bajty z rejestru danych.

Modyfikacja modułu DFRobot I²C ADS1115 do pracy z płytką Raspberry Pi Pico W

Moduł DFRobot I²C ADS1115 (DFR0553) firmy DFRobot [8] zawiera układ ADS1115. Zasilanie układu ADS1115 jest realizowane przez układ LDO typu LP5907MFX-3.3 dostarczający napięcie 3,3 V/250 mA. Przy spadku napięcia na tym układzie, wynoszącym od 50 do 250 mV przy obciążeniu – odpowiednio – od 100 do 250 mA, układ można zasilać napięciem ok. 3,55...5,5 V. Przedział ten doskonale pasuje do typowego zakresu zasilania z jednego ogniwa Li-Poly.

Powstaje jednak problem z szyną I²C. Obie linie mają rezystory podciągające 10 kΩ dołączone do napięcia wejściowego. A szyna I²C modułu EnviroWetaher/Grow ma rezystory podciągające 10 kΩ podłączone do własnego zasilania 3,3 V procesora. Aby uniknąć konfliktu i nadmiernego obciążenia prądowego szyny, należy wymontować rezystory podciągające z płytki I²C ADS1115 (fotografia 2). Po zdjęciu rezystory są lutowane jednym końcem do ich oryginalnego pola lutowniczego. Ułatwia to późniejsze odtwarzanie pierwotnej funkcjonalności.

Zasilanie płytki I²C ADS1115 jest pobierane z szyny VSYS płytki Raspberry Pi Pico W modułu EnviroWetaher/Grow. Szyna jest zasilana z akumulatora Li-Poly, jednak występują zakłócenia wsteczne od dołączonego do niej wejścia przetwornicy DC/DC typu RT6154A. Można zdecydowanie poprawić jakość zasilania przetwornika ADS1115 poprzez dodanie na wejściu płytki kondensatora tantalowego o niskiej impedancji wewnętrznej (ESR). Rekomendujemy dokonanie kilku modyfikacji płytki:

  • Na dolnej stronie płytki drukowanej należy przeciąć ścieżkę idącą do pinu 4 („+”) gniazdka P1 (fotografia 2b).
  • Na górnej stronie płytki należy usunąć rezystory R1 i R2 (fotografia 2a).
  • Przewodem należy połączyć nóżkę 1 przełącznika S1 (oznaczenie 0x49) oraz nóżkę katody diody D1 (fotografia 2a).
  • Najlepiej dodać kondensator 4,7 μF (tantal) wlutowany na nóżkach 3 i 4 gniazdka P2.
Fotografia 2. Zmodyfikowana płytka drukowana modułu I²C ADS115: a) przód, b) tył

Wtedy pin 4 („+”) gniazdka P1 oraz piny 1…4 („+”) gniazdka P4 wyprowadzają regulowane i „czyste” napięcie 3,3 V. Podciąganie linii SCL i SDA należy zrealizować zewnętrznie.

Badania zmodyfikowanej płytki ADS zostały przeprowadzone po podłączeniu do płytki Enviro Wetaher. W roli źródła zasilania zestawu użyto akumulatora Li-Ion 18650 o napięciu 4,1 V, podłączonego przewodem o długości ok. 10 cm. Z kolei zasilanie płytki ADS było podłączone do płytki EnviroWetaher przewodem ok. 18-centymetrowym. Natomiast sygnały do wejść oscyloskopu podłączone zostały dosyć długimi przewodami ekranowanymi (bez sondy). Badania zostały wykonane przy relatywnie wysokim poziomie zakłóceń zewnętrznych.

W trakcie wykonywania przez płytkę EnviroWetaher pomiarów z transmisją Wi-Fi występują dwa rodzaje zakłóceń: szpiki oraz impulsy. Szpilki są dosyć dobrze tłumione przez LDO płytki ADS, z poziomu 4,28 mV RMS na szynie VSYS – do 174 μV RMS (2,2 mV pp) na wyjściu LDO. Trochę gorzej jest z impulsami, ale one również są tłumione ponad 10-krotnie.

Występowanie na szynie VSYS płytki Raspberry Pi Pico W (czyli na wejściu przetwornicy DC/DC) trzykrotnie większych zakłóceń impulsowych (o długości ok. 30 μs) niż na jej wyjściu – oraz jednokierunkowy kształt tych zakłóceń – świadczy o problemach ze spadkiem napięcia przy impulsowym poborze prądu (ok. 300 mA).

Pico Inky Pack – moduł z wyświetlaczem e-Paper

Pico Inky Pack (PIM634) firmy Pimoroni to moduł z czarno-białym wyświetlaczem e-Paper o przekątnej 2,9" i rozdzielczości 296×128 pikseli przeznaczony dla Raspberry Pi Pico oraz Raspberry Pi Pico W [10]. Ma wbudowany kontroler, który realizuje komunikację za pomocą interfejsu SPI. Wyświetlacze e-Paper cechują się wysokim kontrastem wyświetlanego obrazu i pobierają prąd praktycznie tylko w momencie zmiany wyświetlanej treści. Moduł ma wbudowane trzy przyciski. Jest zasilany z szyny 3,3 V modułu Pico.

Pico Graphics to zunifikowana biblioteka do wyświetlania grafiki, dostarczona przez firmę Pimoroni i umożliwiająca sterowanie wyświetlaczami za pomocą Raspberry Pi Pico w języku MicroPython. Udostępnione są również odpowiednie przykłady ułatwiające tworzenie własnych projektów.

Praca modułu UV Sensor z modułem DFRobot I²C ADS1115 i płytką Enviro Weather

Do płytki Raspberry Pi Pico W, przylutowanej techniką powierzchniową do płytki Enviro Weather [6], można wlutować złącza goldpin. Są one usytuowane niejako „na górze” płytki. Umożliwia to dodatkowo pełny dostęp do wszystkich zasobów modułu Raspberry Pi Pico W – w szczególności użycie płytek rozszerzeń. Aby zrealizować ten cel, należy użyć ekspandera, np. Pico Decker (Quad Expander, PIM555) firmy Pimoroni [11]. Jest to ekspander pinów, wyposażony w standardowe złącze żeńskie do bezpośredniego wpięcia modułu RPi Pico lub połączenia za pomocą przewodów. Ma cztery zestawy męskich listew 2×20 pinów, które umożliwiają podłączenie dodatkowych modułów rozszerzeń. Etykiety pinów umieszczone na górnej stronie płytki znacznie ułatwiają prototypowanie.

Aby modyfikowaną płytkę Enviro Weather dołączyć do męskich listew ekspandera, trzeba wykonać adapter żeńsko-żeński. Moduł Pico Inky Pack został dołączony bezpośrednio do męskich listew. Natomiast moduły z innymi czujnikami wpięto do ekspandera przy użyciu standardowych kabelków IDC (fotografia tytułowa).

Moduł UV Sensor [5] został dołączony do zmodyfikowanego modułu DFRobot I²C ADS1115 (DFR0553) firmy DFRobot [8]. Z płytki ADS zostało dla niego pobrane czyste napięcie zasilania 3,3 V. Zmodyfikowana płytka ADS została dołączona do płytki Enviro Weather firmy Pimoroni [6].

To czyste napięcie jest też dołączone do modułu Grove – I²C Color Sensor opisanego w poprzednim artykule „Czujnik koloru TCS3472 firmy ams-OSRAM” [12] oraz do modułu AS7341 Spectral Color Sensor opisanego w artykule „Czujnik wielospektralny AS7341 firmy ams-OSRAM” [7]. Wszystkie układy scalone zostały dołączone do tej samej szyny I²C.

Zastosowanie płytki Enviro Weather wymaga najpierw wgrania do niej najnowszej wersji oficjalnego pliku obrazu (uf2) – zawierającego MicroPythona oraz biblioteki firmowe, np. Pico Graphics. Następnie należy wpisać folder projektu najnowszej aplikacji Enviro. Procedura ta została dokładnie omówiona w poprzednim artykule „Stacja pogodowa Enviro Weather firmy Pimoroni” [6].

Najprostszy sposób wgrywania oprogramowania firmowego:

  1. Pobierz ze strony Enviro MicroPython firmware [13] najnowszą wersję firmowego pliku obrazu (uf2) zawierającą jednocześnie Enviro i MicroPythona. W chwili pisania niniejszego artykułu jest to plik pimoroni-enviro-v1.22.2-micropython-enviro-v0.2.0.uf2.
  2. Trzymaj wciśnięty przycisk BOOTSEL płytki Raspberry Pi Pico W (pod spodem płytki Enviro) i podłącz ją kablem USB do komputera. Spowoduje to przejście oprogramowania płytki Pico W do trybu DFU i na komputerze otworzy się okno RPI-RP2 pokazujące zawartość dysku udostępnianego przez Pico W.
  3. Przeciągnij pobrany plik uf2 do okna dysku RPI-RP2.

Płytka Pico W uruchomi się ponownie z najnowszą wersją MicroPythona. Nie będzie już udostępniała dysku wymiennego oraz przejdzie bezpośrednio do trybu konfiguracji.

Uwaga! Nastąpi skasowanie poprzedniej zawartości pamięci Flash.

Teraz trzeba do Raspberry Pi Pico W wpisać pliki aplikacyjne z pobranego pliku enviro_sensors.zip. Podmianie ulegną pliki main.py i config.py.

Oprogramowanie uruchamiane było w środowisku Thonny. Odczyt z czujników jest realizowany w pętli, na której końcu płytka Enviro Weather jest wprowadzana na 60 sekund w uśpienie z aktywnym zewnętrznym układem scalonym zegara RTC. Podczas zasilania z akumulatora wyłączeniu ulega zasilanie całej płytki Enviro Weather oraz wszystkich dołączonych czujników i modułu ADS1115, z wyjątkiem układu RTC. Z tego względu w pętli każdorazowo musi być wówczas wykonywana inicjalizacja układu ADS1115, a potem odczyt danych pomiarowych. Gdy podłączone jest zasilanie z portu USB, procesor RP2040 aktywnie oczekuje na ustawienie alarmu przez RTC – następnie wymuszany jest Reset. Oznacza to utratę łączności środowiska Thonny z płytką Raspberry Pi Pico W. Aby tego uniknąć, można w pliku /Enviro/__init__.py „zakomentować” linię 646 machine.reset(). Działanie takie nie zmienia funkcjonalności aplikacji, natomiast umożliwia ciągły podgląd wydruków w oknie Shell środowiska Thonny, w którym oprogramowanie firmowe Enviro Weather wyświetla dane informacyjne i debugowe (rysunek 2). Aplikacja także prezentuje przydatne informacje oraz dane pomiaru UV.

Rysunek 2. Informacje w oknie Thonny

Na początku pętli pomiarowej wykonywana jest detekcja obecności wszystkich układów na szynie I²C. Obsługiwane są tylko aktywne czujniki – dzięki czemu możliwe staje się odłączanie i przyłączanie modułów czujnikowych w trakcie pracy oprogramowania. Zapobiega to również zawieszaniu procesora w przypadku niestabilnego kontaktu przewodów połączeniowych.

Przykład działania całego układu z oświetleniem słonecznym (w cieniu) został pokazany na zdjęciu tytułowym. Zastosowanie dosyć dużego (i niedrogiego) wyświetlacza e-Paper (który wyświetla dane nawet bez aktywnego zasilania), w połączeniu z dynamicznym wyłączaniem zasilania całości pomiędzy pomiarami, umożliwiają uzyskanie minimalnego poboru mocy.

Przykład pomiaru oświetlenia typowej żarówki energetycznej LED zaprezentowano na fotografii 3.

Fotografia 3. Pomiar oświetlenia typowej żarówki energetycznej LED

Na górze wyświetlacza pokazywane są: data i czas. Bez podłączenia Wi-Fi wyświetlana jest data zapisana w pliku last_time.txt. Po prawej stronie prezentowane są dane z dziesięciokanałowego czujnika wielospektralnego AS7341 [7], a po lewej stronie – od góry – dane odczytane z czujników płytki Enviro Weather: ciśnienie, temperatura i wilgotność z BME280; poziom oświetlenia z LTR-559. Dalej pokazywane są: FL – detekcja i częstotliwość migotania z AS7341; poziom UV (w mV); CAS – poziom oświetlenia z AS7341, CTCS – poziom oświetlenia z TCS34725 oraz (w ostatniej linii) kolory RGB z TCS34725. Jeśli nie podano jednostek, to dane są reprezentowane przez surowe wartości odczytu.

Próby pokazały bardzo dokładne i stabilne pomiary napięcia wykonywane przez układ ADS1115.

Podsumowanie

Prezentowane rozwiązanie stanowi próbę szybkiego prototypowania polegającego na rozbudowie systemu Enviro Weather o kolejne czujniki środowiskowe. Dlatego w artykule skupiono się na komunikacji na szynie I²C i obsłudze czujników. Nie skorzystano z możliwości łączenia bezprzewodowego modułu Enviro Weather z chmurą. W kodzie oprogramowania pozostawiono różne opcjonalne rozwiązania. Opis czujników został zamieszczony w poprzednich artykułach [6, 7]. W następnej kolejności do projektu można dołączyć inne wcześniej opisane czujniki, np. CO, CO2, deszczu i pyłów.

Henryk A. Kowalski
Instytut Informatyki
Politechnika Warszawska

Literatura
[1] GUVA-S12SD, Data Sheet, Genicom, https://tiny.pl/h3-q0q5n
[2] GUVA-S12SD, Application Note, Genicom, https://tiny.pl/633grpwp
[3] Czujnik światła ultrafioletowego, Ryszard Szymaniak, EP 12/2020, https://tiny.pl/2mm1j3gq
[4] Czujniki optyczne (4). Sensory koloru oraz czujniki i moduły multispektralne, Przemysław Musz, EP 10/2023, https://tiny.pl/dnpjk
[5] UV Sensor, SKU: 9537, Waveshare, https://tiny.pl/84f8j5tb
[6] Stacja pogodowa Enviro Weather firmy Pimoroni, Henryk A. Kowalski, EP 4/2024, https://tiny.pl/d93r1
[7] Czujnik wielospektralny AS7341 firmy ams-OSRAM, EP 8/2024, https://tiny.pl/ny88mxyx
[8] Gravity: I²C ADS1115 16-Bit ADC Module, DFR0553, DFRobot, https://tiny.pl/n6qfj60b
[9] ADS1115_mpy, A MicroPython module for the ADS1115 ADC. Wolfgang (Wolle) Ewald, https://tiny.pl/twv9zkq9
[10] Pico Inky Pack PIM634, Pimoroni, https://tiny.pl/94b0pv9f
[11] Pico Decker (Quad Expander) PIM555, Pimoroni, https://tiny.pl/mwp5n68n
[12] Czujnik koloru TCS3472 firmy ams-OSRAM, EP 9/2024, https://tiny.pl/7y4vjwms
[13] Enviro MicroPython firmware, Pimoroni, https://tiny.pl/dt49f

Artykuł ukazał się w
Elektronika Praktyczna
październik 2024
Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik grudzień 2024

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio listopad - grudzień 2024

Świat Radio

Magazyn krótkofalowców i amatorów CB

Automatyka, Podzespoły, Aplikacje listopad - grudzień 2024

Automatyka, Podzespoły, Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna grudzień 2024

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Elektronika dla Wszystkich grudzień 2024

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów