SEN0562

De NCad Wiki
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.

Caractéristiques
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
Connectique
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

ARDUINO UNO R3 PINS.jpg

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

ARDUINO NANO R4 PINS.jpg

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;
}

Liens connexes