Modul UV VEML6070

    Pentru detectia luminii UV putem folosi un senzor de lumina UV realizat cu circuitul integrat VEML6070. Acest modul se alimenteaza cu o tensiune cuprinsa intre 2.7V si 5V. Spectrul detectat este cuprins intre 320nm si 410nm, cele mai bune rezultate fiind obtinute la 355nm. Comunicarea cu Arduino se realizeaza prin intermediul interfetei I2C.
    Adresele I2C a acestui modul sunt 0x38 si 0x39.
    Pentru a folosi acest modul va trebui sa instalam o librarie aditionala. Aceasta librarie se numeste Adafruit VEML6070 si poate fi descarcata de aici.
    Poza cu modulul folosit este mai jos:

    Pentru a afisa informatiile returnate de catre modul vom folosi un display LCD cu interfata I2C, display pe care-l vom conecta axact ca in acest articol.


    Vom incepe sa scriem codul sursa prin includerea librarie in noul sketch:

#include "Adafruit_VEML6070.h"

    Apoi vom initializa clasa acestei librarii:

Adafruit_VEML6070 veml;

    In functia setup() vom initializa modulul folosind urmatoarea linie de cod:

veml.begin(VEML6070_1_T);

    Parametrul VEML6070_1T din interiorul functiei begin() reprezinta durata in milisecunde in care se face citirea nivelului de readiatii UV. Cele 4 valori disponibile sunt urmatoarele:
-VEML6070_HALF_T ~62.5ms
-VEML6070_1_T ~125ms
-VEML6070_2_T ~250ms
-VEML6070_4_T ~500ms
    Cu cat durata este mai mare acuratetea nivelului de radiatii citit creste.
    Pentru a citi efectiv nivelul de radiatii vom trece in bucla loop() unde vom folosi urmatorul cod:

int nivel_uv = veml.readUV();

    Atentie, senzorul returneaza nivelul UV detectat, NU detecteaza indexul UV!
    Sketchul in forma finala este cel de mai jos:

#include <Wire.h> 
#include <LiquidCrystal_I2C.h>
#include "Adafruit_VEML6070.h"
LiquidCrystal_I2C lcd(0x27, 16, 2);
Adafruit_VEML6070 veml;

void setup() {
  lcd.begin();
  lcd.print("Modulul VEML6070");
  veml.begin(VEML6070_1_T);
  delay(1000);
}

void loop() {
  int nivel_uv = veml.readUV();
  lcd.clear();
  lcd.print("Nivel UV: ");
  lcd.setCursor(0, 1);
  lcd.print(nivel_uv);
  delay(1000);
}

    Poze cu montajul in functiune sunt mai jos:

Nu sunt comentarii in “Modul UV VEML6070”

Lasa un comentariu

Raspuns lui Some User

Autentificare