DFRobot SEN0644 este un senzor de lumină ambientală complet etanș (IP68), care comunică cu TapHome prin RS485, pe protocolul Modbus RTU. Măsoară iluminarea între 0 și 200 000 lux, cu o rezoluție de 0,01 lux și o precizie de ±5 %, funcționează cu o alimentare largă de DC 5–32 V și la temperaturi între −40 și +80 °C, astfel că poate fi montat în exterior, în sere sau în ateliere.
Șablonul oferă un dispozitiv Illuminance doar pentru citire, în lux, interogat la fiecare 15 secunde, cu versiunea de firmware a senzorului ca atribut de service și acțiuni de service pentru rata de achiziție și calibrare. Utilizările tipice sunt detecția amurgului pentru iluminatul exterior și comanda umbririi sau a iluminatului în funcție de lumina zilei. Harta registrelor și descrierea protocolului provin din wiki-ul DFRobot SEN0644.
Conectarea hardware
Montare

Capul senzorului se montează cu un filet de presetupă M25×1,5:
| Parametru | Valoare |
|---|---|
| Lungimea filetului | 10 mm |
| Dimensiunea orificiului | 25 mm |
| Deschiderea cheii | 33 mm |
| Diametrul cablului | 4–10 mm |
| Lungimea cablului | 1 m |
| Grad de protecție | IP68 |
| Temperatura de funcționare | −40 până la +80 °C |
Orientați fereastra transparentă spre sursa de lumină care trebuie măsurată și păstrați-o neobstrucționată. Înainte de utilizare, scoateți capacul de protecție al senzorului. Senzorul este un dispozitiv de precizie — nu îl dezasamblați.
Cablare
Senzorul are un cablu cu patru fire:
| Culoarea firului | Semnal | Descriere |
|---|---|---|
| Roșu | VCC | Plusul alimentării, DC 5–32 V |
| Albastru | GND | Masa alimentării |
| Galben | 485-A | Linia de date RS485 A |
| Verde | 485-B | Linia de date RS485 B |
- Conectați firul galben (485-A) la borna A și firul verde (485-B) la borna B a magistralei RS485 de pe TapHome Core (sau de pe un port al Bus Extender).
- Conectați firul roșu (VCC) și firul albastru (GND) la o sursă de alimentare DC de 5–32 V. Senzorul consumă mai puțin de 10 mA.
- Cablul livrat cu senzorul are 1 m lungime. Prelungiți-l într-o doză de joncțiune cu un cablu cu perechi răsucite.
- Terminați magistrala la ambele capete ale liniei. Ghidul de cablare TapHome folosește un rezistor de 100 Ω între A și B; Core îl are integrat pe fiecare magistrală, Bus Extender pe niciunul dintre porturi (consultați Bus Extender — cablare și terminarea magistralei).
La montarea în exterior, în afara zonei de protecție la trăsnet, sau ori de câte ori cablul magistralei iese din clădire, izolați magistrala — folosiți un port izolat galvanic al Bus Extender (Bus 3 sau Bus 4) sau un izolator optic RS485 și alimentați senzorul dintr-o sursă de alimentare separată.
Configurare
Comunicația Modbus
Modbus RTU este singura interfață a senzorului și nu necesită activare. Setările din fabrică corespund șablonului:
| Parametru | Implicit | Valori permise |
|---|---|---|
| Adresă slave | 1 | 1–254 (255 este adresa de comandă generală) |
| Viteză de transmisie | 9600 bps | 1200, 2400, 4800, 9600, 19200, 38400, 57600 |
| Biți de date | 8 | 8 |
| Paritate | Fără | Fără, impară, pară |
| Biți de stop | 1 | 1 |
Senzorul citește registrele cu codul de funcție 0x03 și le scrie cu codul de funcție 0x06; în valorile de 16 biți, octetul superior este primul.
În TapHome, adăugați șablonul pe o magistrală Modbus RTU setată la 9600 bps, 8 biți de date, fără paritate și 1 bit de stop, și introduceți adresa senzorului în parametrul de import Modbus Slave ID (implicit 1).
Schimbarea adresei sau a parametrilor seriali
Când pe magistrală există mai multe dispozitive, fiecare are nevoie de propria adresă. Adresa, viteza de transmisie și paritatea se află în registrele holding 0x0064, 0x0065 și 0x0066 și se setează cel mai bine cu un instrument de punere în funcțiune Modbus, la instalarea inițială:
| Registru | Conținut | Valori |
|---|---|---|
| 0x0064 | Adresa dispozitivului | 1–254 |
| 0x0065 | Viteză de transmisie | 0 = 1200, 1 = 2400, 2 = 4800, 3 = 9600, 4 = 19200, 5 = 38400, 6 = 57600 |
| 0x0066 | Paritate | 0 = fără, 1 = impară, 2 = pară |
După schimbarea adresei sau a vitezei de transmisie, opriți și reporniți alimentarea senzorului. Dacă adresa curentă nu este cunoscută, citiți registrele 0x0064 și 0x0065 la adresa de comandă generală 0xFF — răspunsul conține adresa reală și viteza de transmisie.
Senzorul are și o comandă de resetare software (registrul 0x00E0) și o comandă de resetare la setările din fabrică (registrul 0x00F0; în exemplul producătorului se scrie 0 în el la adresa 0xFF). Resetarea la setările din fabrică poate schimba și adresa și viteza de transmisie, așa că verificați-le după aceea.
După schimbarea adresei, a vitezei de transmisie sau a parității, modificați corespunzător setările magistralei TapHome și parametrul de import Modbus Slave ID — altfel comunicarea se oprește după repornirea alimentării.
Funcțiile dispozitivului
Illuminance
Illuminance afișează nivelul de lumină ambientală măsurat, în lux. Valoarea este un întreg fără semn pe 32 de biți, stocat în două registre holding consecutive — 0x0002 (cei 16 biți superiori) și 0x0003 (cei 16 biți inferiori). Șablonul le citește pe amândouă într-o singură cerere cu codul de funcție 03 (MODBUSR(H, 2, UInt32), cuvântul superior primul) și împarte valoarea brută la 1000. TapHome o interoghează la fiecare 15 secunde; dispozitivul este doar pentru citire.
Valori tipice de la producător:
| Situație | Iluminare |
|---|---|
| Noapte | 0,001–0,02 lx |
| Noapte cu lună | 0,02–0,3 lx |
| Înnorat, în interior | 5–50 lx |
| Citirea unei cărți | 50–60 lx |
| Înnorat, în exterior | 50–500 lx |
| Însorit, în interior | 100–1000 lx |
Domeniul de măsurare al senzorului se termină la 200 000 lx.
Versiunea de firmware
Versiunea de firmware a senzorului este un atribut de service doar pentru citire al dispozitivului Illuminance (registrul 0x0067).
Rata de achiziție și calibrarea
Dispozitivul Illuminance are trei acțiuni de service:
- Set acquisition rate — scrie rata de achiziție a iluminării (registrul 0x0046), nivel 1–20. Valorile mai mici cresc frecvența măsurării.
- Set calibration enable — activează sau dezactivează funcția de calibrare a senzorului (registrul 0x0047: 1 = activată, 0 = dezactivată).
- Set calibration compensation — scrie valoarea de compensare a calibrării (registrul 0x0048). Valoarea se introduce mărită de 100 de ori: o compensare de 1,4 se scrie ca 140. Producătorul o calculează ca (iluminarea măsurată ÷ iluminarea ambientală reală) × 100 — de exemplu, o valoare măsurată de 221 lx la o iluminare reală de 260 lx dă (221 ÷ 260) × 100 = 85.
Rezolvarea problemelor
Nicio valoare în TapHome
- Verificați cablarea A/B: galbenul este A, verdele este B. Inversarea liniilor A și B este o greșeală de instalare frecventă pe magistralele RS485.
- Verificați ca magistrala să nu fie întreruptă și ca tensiunea de alimentare să fie în intervalul DC 5–32 V.
- Verificați ca parametrul de import Modbus Slave ID să corespundă adresei senzorului (implicit 1) și ca magistrala să funcționeze cu setările seriale ale senzorului (implicit 9600 8N1).
Valoarea este zero sau nerealist de mică
- Verificați dacă există o sursă de lumină și dacă ați scos capacul de protecție al senzorului.
- Verificați ca fereastra transparentă să fie orientată spre lumină și să nu fie obstrucționată sau acoperită.
Comunicarea se pierde după repornirea alimentării
Dacă adresa sau viteza de transmisie a fost schimbată în registrele 0x0064–0x0066, senzorul pornește cu noile valori după repornirea alimentării. Setați corespunzător magistrala TapHome și Modbus Slave ID. Dacă adresa nu este cunoscută, interogați-o la adresa de comandă generală 0xFF (registrul 0x0064) cu un instrument de punere în funcțiune Modbus.
