Pentru a detecta nivelul de radiatii UV putem folosi placa de dezvoltare STM32 BluePill impreuna cu un senzor UV VEML6070. Afisarea nivelului radiatiei UV detectate va fi facuta pe un display LCD 1602 cu magistrala I2C.

    Pentru a putea folosi acest senzor va trebui sa descarcam o librarie aditionala. Aceasta librarie se numeste Adafruit_VEML6070 si se poate descarca de pe acest site. Dupa descarcarea acestei librarii vom proceda la instalarea acesteia accesand meniul Schita > Incarcare biblioteca > Adaugare biblioteca.zip.

    Modulul se alimenteaza cu o tensiune cuprinsa intre 3.3V si 5V. Comunicarea modulului cu placa de dezvoltarea se efectueaza cu ajutorul magistralei I2C:

STM32 Senzor UV
B7 SDA
B6 SCL

    Poza cu acest modul este mai jos:

    Pentru afisare vom folosi un display LCD1602 I2C care va fi conectata la placa de dezvoltare conform informatiilor din acest articol.   

    Sketchul folosit este cel de mai jos:

#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
#include <Wire.h>
#include "Adafruit_VEML6070.h"    //includem libraria aditionala

//creem metoda de apelare a functiilor din libraria inclusa mai sus
Adafruit_VEML6070 uv = Adafruit_VEML6070();    

void setup() {
  lcd.begin();
  lcd.setCursor(0, 0);
  lcd.print("electronicstore");
  lcd.setCursor(13, 1);
  lcd.print(".ro");
  delay(3000);
  uv.begin(VEML6070_1_T);  //initializam senzorul uv

  lcd.clear();
  lcd.setCursor(0, 0);
  lcd.print("Testare senzor");
  lcd.setCursor(3, 1);
  lcd.print("VEML6070");
  delay(3000);
}

void loop() {
  lcd.clear();
  lcd.setCursor(0, 0);
  lcd.print("Valoare UV:");

  lcd.setCursor(0, 1);
  lcd.print(uv.readUV());    //afisam valoare UV detectata de catre senzor
  delay(1000);
}

    Un filmulet cu montajul in functiune se poate vedea mai jos:

 

Nu sunt comentarii

Acest website foloseste cookie-uri pentru o experienta placuta in timpul navigarii.