DFRobot SEN0644 to w pełni wodoszczelny czujnik natężenia oświetlenia (IP68), który komunikuje się z TapHome przez RS485 za pomocą Modbus RTU. Mierzy natężenie oświetlenia od 0 do 200 000 luksów z rozdzielczością 0,01 luksa i dokładnością ±5 %, pracuje z szerokim zakresem zasilania DC 5–32 V i w temperaturze od −40 do +80 °C, dzięki czemu można go montować na zewnątrz, w szklarniach lub w warsztatach.
Szablon udostępnia jedno urządzenie tylko do odczytu Illuminance w luksach, odpytywane co 15 sekund, z wersją oprogramowania układowego czujnika jako atrybutem serwisowym oraz akcjami serwisowymi do ustawienia częstotliwości pomiaru i kalibracji. Typowe zastosowania to wykrywanie zmierzchu dla oświetlenia zewnętrznego oraz sterowanie zacienianiem lub oświetleniem w zależności od światła dziennego. Mapa rejestrów i opis protokołu pochodzą z wiki DFRobot SEN0644.
Podłączenie sprzętu
Montaż

Głowicę czujnika montuje się za pomocą gwintu dławika M25×1,5:
| Parametr | Wartość |
|---|---|
| Długość gwintu | 10 mm |
| Średnica otworu | 25 mm |
| Rozmiar klucza | 33 mm |
| Średnica przewodu | 4–10 mm |
| Długość przewodu | 1 m |
| Stopień ochrony | IP68 |
| Temperatura pracy | od −40 do +80 °C |
Skieruj przezroczyste okienko w stronę źródła światła, które ma być mierzone, i nie zasłaniaj go. Przed użyciem zdejmij osłonę ochronną z czujnika. Czujnik jest urządzeniem precyzyjnym — nie rozbieraj go.
Okablowanie
Czujnik ma przewód czterożyłowy:
| Kolor żyły | Sygnał | Opis |
|---|---|---|
| Czerwony | VCC | Plus zasilania, DC 5–32 V |
| Niebieski | GND | Masa zasilania |
| Żółty | 485-A | Linia danych RS485 A |
| Zielony | 485-B | Linia danych RS485 B |
- Podłącz żółtą żyłę (485-A) do zacisku A, a zieloną żyłę (485-B) do zacisku B magistrali RS485 w jednostce sterującej TapHome Core (lub w porcie Bus Extendera).
- Podłącz czerwoną żyłę (VCC) i niebieską żyłę (GND) do zasilacza DC 5–32 V. Czujnik pobiera mniej niż 10 mA.
- Przewód dostarczony z czujnikiem ma długość 1 m. Przedłuż go w puszce połączeniowej przewodem typu skrętka.
- Zakończ magistralę na obu końcach linii. Instrukcja okablowania TapHome stosuje rezystor 100 Ω między A i B; Core ma go wbudowanego w każdej magistrali, Bus Extender w żadnym ze swoich portów (zobacz Bus Extender — podłączenie i terminacja magistrali).
Przy montażu na zewnątrz poza strefą ochrony odgromowej lub zawsze, gdy przewód magistrali wychodzi poza budynek, odizoluj magistralę — użyj portu Bus Extendera z izolacją galwaniczną (Bus 3 lub Bus 4) albo optoizolatora RS485 i zasilaj czujnik z osobnego zasilacza.
Konfiguracja
Komunikacja Modbus
Modbus RTU to jedyny interfejs czujnika i nie wymaga włączania. Ustawienia fabryczne odpowiadają szablonowi:
| Parametr | Domyślnie | Dozwolone wartości |
|---|---|---|
| Adres slave | 1 | 1–254 (255 to ogólny adres rozkazowy) |
| Prędkość transmisji | 9600 bps | 1200, 2400, 4800, 9600, 19200, 38400, 57600 |
| Bity danych | 8 | 8 |
| Parzystość | Brak | Brak, nieparzysta, parzysta |
| Bity stopu | 1 | 1 |
Czujnik odczytuje rejestry kodem funkcji 0x03 i zapisuje je kodem funkcji 0x06; w wartościach 16-bitowych bajt starszy jest pierwszy.
W TapHome dodaj szablon na magistrali Modbus RTU ustawionej na 9600 bps, 8 bitów danych, bez parzystości i 1 bit stopu, a adres czujnika wpisz w parametrze importu Modbus Slave ID (domyślnie 1).
Zmiana adresu lub parametrów szeregowych
Gdy na magistrali jest więcej niż jedno urządzenie, każde potrzebuje własnego adresu. Adres, prędkość transmisji i parzystość to rejestry holding 0x0064, 0x0065 i 0x0066; najlepiej ustawić je narzędziem do uruchamiania Modbus podczas pierwszej instalacji:
| Rejestr | Zawartość | Wartości |
|---|---|---|
| 0x0064 | Adres urządzenia | 1–254 |
| 0x0065 | Prędkość transmisji | 0 = 1200, 1 = 2400, 2 = 4800, 3 = 9600, 4 = 19200, 5 = 38400, 6 = 57600 |
| 0x0066 | Parzystość | 0 = brak, 1 = nieparzysta, 2 = parzysta |
Po zmianie adresu lub prędkości transmisji wyłącz i ponownie włącz czujnik. Jeśli aktualny adres jest nieznany, odczytaj rejestry 0x0064 i 0x0065 pod ogólnym adresem rozkazowym 0xFF — odpowiedź zawiera rzeczywisty adres i prędkość transmisji.
Czujnik ma też polecenie miękkiego resetu (rejestr 0x00E0) i polecenie przywrócenia ustawień fabrycznych (rejestr 0x00F0; w przykładzie producenta zapisuje się do niego 0 pod adresem 0xFF). Przywrócenie ustawień fabrycznych może zmienić również adres i prędkość transmisji, więc sprawdź je potem.
Po zmianie adresu, prędkości transmisji lub parzystości dostosuj ustawienia magistrali w TapHome i parametr importu Modbus Slave ID — w przeciwnym razie komunikacja ustanie po ponownym włączeniu zasilania.
Funkcje urządzenia
Illuminance
Illuminance pokazuje zmierzony poziom oświetlenia otoczenia w luksach. Wartość jest 32-bitową liczbą całkowitą bez znaku w dwóch kolejnych rejestrach holding — 0x0002 (starsze 16 bitów) i 0x0003 (młodsze 16 bitów). Szablon odczytuje oba w jednym zapytaniu z kodem funkcji 03 (MODBUSR(H, 2, UInt32), starsze słowo pierwsze) i dzieli surową wartość przez 1000. TapHome odpytuje ją co 15 sekund; urządzenie jest tylko do odczytu.
Typowe wartości według producenta:
| Sytuacja | Natężenie oświetlenia |
|---|---|
| Noc | 0,001–0,02 lx |
| Noc księżycowa | 0,02–0,3 lx |
| Pochmurno, wewnątrz | 5–50 lx |
| Czytanie książki | 50–60 lx |
| Pochmurno, na zewnątrz | 50–500 lx |
| Słonecznie, wewnątrz | 100–1 000 lx |
Zakres pomiarowy czujnika kończy się na 200 000 lx.
Firmware version
Wersja oprogramowania układowego (firmware) czujnika to atrybut serwisowy tylko do odczytu urządzenia Illuminance (rejestr 0x0067).
Częstotliwość pomiaru i kalibracja
Urządzenie Illuminance ma trzy akcje serwisowe:
- Set acquisition rate — zapisuje częstotliwość pomiaru oświetlenia (rejestr 0x0046), poziom 1–20. Niższe wartości zwiększają częstotliwość pomiarów.
- Set calibration enable — włącza lub wyłącza funkcję kalibracji czujnika (rejestr 0x0047: 1 = włączona, 0 = wyłączona).
- Set calibration compensation — zapisuje wartość kompensacji kalibracji (rejestr 0x0048). Wartość wpisuje się powiększoną 100 razy: kompensację 1,4 zapisuje się jako 140. Producent oblicza ją jako (zmierzone natężenie oświetlenia ÷ rzeczywiste natężenie oświetlenia otoczenia) × 100 — na przykład zmierzona wartość 221 lx przy rzeczywistych 260 lx daje (221 ÷ 260) × 100 = 85.
Rozwiązywanie problemów
Brak odczytu w TapHome
- Sprawdź okablowanie A/B: żółta to A, zielona to B. Zamienione linie A i B to częsty błąd instalacyjny na magistralach RS485.
- Sprawdź, czy magistrala nie jest rozłączona i czy napięcie zasilania mieści się w zakresie DC 5–32 V.
- Sprawdź, czy parametr importu Modbus Slave ID odpowiada adresowi czujnika (domyślnie 1) i czy magistrala pracuje z ustawieniami szeregowymi czujnika (domyślnie 9600 8N1).
Odczyt wynosi zero lub jest niewiarygodnie niski
- Sprawdź, czy jest źródło światła i czy osłona ochronna czujnika została zdjęta.
- Sprawdź, czy przezroczyste okienko jest skierowane w stronę światła i nie jest zasłonięte ani przykryte.
Utrata komunikacji po ponownym włączeniu zasilania
Jeśli adres lub prędkość transmisji zostały zmienione w rejestrach 0x0064–0x0066, czujnik po ponownym włączeniu zasilania startuje z nowymi wartościami. Dostosuj magistralę TapHome i Modbus Slave ID. Jeśli adres jest nieznany, odczytaj go narzędziem do uruchamiania Modbus pod ogólnym adresem rozkazowym 0xFF (rejestr 0x0064).
