SEN0562
Aller à la navigation
Aller à la recherche
Présentation
Le SEN0562 est un capteur de lumière étanche (IP68) communiquant sur le bus série I²C. Le capteur fonctionne sous une tension de 5 VCC.
| Type de mesure | Lumière |
| Plage de mesure | 1 - 65535lx |
| Température de fonctionnement | -40 to 85°C |
| Indice de protection | IP68 |
| Protocole de communication | I2C |
| Tension d'alimentation | 5 VCC |
| Consommation courant | 1 µA |
| Fil vert | SDA (Entrée I²C) |
| Fil jaune | SCL (Entrée I²C) |
| Fil rouge | VCC (Alim. +) |
| Fil noir | GND (Alim. -) |
Fonctionnement du capteur
Câblage
Arduino UNO
Le capteur se branche directement à l'Arduino Uno R3 comme ceci :
- Fil vert du SEN0562 sur le port SDA/D18 de l'Arduino Uno R3.
- Fil jaune du SEN0562 sur le port SCL/D19 de l'Arduino Uno R3.
- Fil rouge du SEN0562 sur le port +5V OUT de l'Arduino Uno R3.
- Fil noir du SEN0562 sur le port GND de l'Arduino Uno R3.
Arduino Nano ESP32
Programme
#include "Wire.h"
#define address 0x23 //I2C address 0x23
void setup()
{
Serial.begin(9600);
Wire.begin();
}
uint8_t buf[4] = {0};
uint16_t data, data1;
float Lux;
void loop()
{
readReg(0x10, buf, 2); //Register address 0x10
data = buf[0] << 8 | buf[1];
Lux = (((float)data )/1.2);
Serial.print("LUX:");
Serial.print(Lux);
Serial.print("lx");
Serial.print("\n");
delay(500);
}
uint8_t readReg(uint8_t reg, const void* pBuf, size_t size)
{
if (pBuf == NULL) {
Serial.println("pBuf ERROR!! : null pointer");
}
uint8_t * _pBuf = (uint8_t *)pBuf;
Wire.beginTransmission(address);
Wire.write(reg);
if ( Wire.endTransmission() != 0) {
return 0;
}
delay(20);
Wire.requestFrom(address, (uint8_t) size);
for (uint16_t i = 0; i < size; i++) {
_pBuf[i] = Wire.read();
}
return size;
}

