Collegamento del sensore UV GUVA-S12SD

Il modulo sensore CJMCU-GUVA-S12SD Arduino Uno è utilizzato per rilevare l’intensità della radiazione UV. Il sensore si basa su un fotodiodo Schottky e ha un’uscita analogica, il cui segnale cambia in proporzione all’intensità della radiazione ultravioletta. Pensiamo di collegare il sensore GUVA-S12SD (ML8511) al microcontrollore Arduino e di trasferire l’indice ultravioletta al monitor della porta Arduino IDE o al display OLED 128×64.




Per questa attività sono necessari:

  • Arduino Uno / Arduino Nano / Arduino Mega
  • sensore UV GUVA-S12SD
  • display OLED i2c 128×64
  • cavi di collegamento
  • libreria LiquidCrystal_I2C.h

Sensore UV CJMCU-GUVA-S12SD datasheet, pinout

La radiazione ultravioletta è un tipo di radiazione elettromagnetica con una lunghezza d’onda compresa tra 200 e 370 nanometri; la lunghezza d’onda degli UV è più corta della luce visibile ma più lunga dei raggi X. Il sensore UV CJMCU-GUVA-S12SD si basa su un fotodiodo Schottky, che rileva la maggior parte delle radiazioni ultravioletta. Il sensore GUVA S12SD emette una tensione analogica, che può essere letta attraverso l’ADC del microcontrollore Arduino.

Sensore di luce UV GUVA-S12SD pinout, datasheet
Sensore di luce UV GUVA-S12SD pinout, datasheet

Caratteristiche del sensore UV GUVA-S12SD Arduino:

  • Tensione di alimentazione: 2,5 – 5,5 V
  • Campo di misura: da 240 a 370 nm
  • Uscita: Vo = 4,3 * corrente del diodo (µA)
  • Indice UV: Vo/0,1 V

Il sole è una fonte naturale di radiazioni ultraviolette. Per ottenere informazioni sul livello di radiazione, viene compilato un indice ultravioletta, espresso come valore numerico. Lo scopo dell’indice ultravioletta è quello di fornire un’efficace protezione umana contro i raggi ultravioletta, che sono benefici in quantità moderate ma che in eccesso causano l’invecchiamento precoce della pelle, danni agli occhi e scottature.

Come collegare CJMCU-GUVA-S12SD ad Arduino

Collegamento del sensore di luce UV GUVA-S12SD Arduino
Collegamento del sensore di luce UV GUVA-S12SD Arduino Uno

I dati del sensore UV GUVA-S12SD, come quelli di qualsiasi altro sensore analogico, vengono letti con il comando analogRead. Quindi, in base alla documentazione tecnica del sensore, si calcola l’indice ultravioletta dividendo la tensione di ingresso del sensore per 0,1. Il risultato è la visualizzazione dell’indice UV e dell’irraggiamento UV. Collegare il sensore CJMCU-GUVA-S12SD ad Arduino Uno e caricare lo sketch nel microcontrollore.

Programma Arduino per utilizzare sensore GUVA-S12SD




float sensorVoltage;
float sensorValue;

void setup() {
  Serial.begin(9600);
  pinMode(A1, OUTPUT);
}

void loop() {
  sensorValue = analogRead(A1);
  sensorVoltage = sensorValue / 1024 * 5.0;
  Serial.print("sensor reading = ");
  Serial.print(sensorValue);
  Serial.print(" sensor voltage = ");
  Serial.print(sensorVoltage);
  Serial.println(" V");
  delay(1000);
}

Spiegazione del codice del sensore ultravioletto GUVA-S12SD:



  • 1…2 – basso livello di radiazioni UV
  • 3…5 – livello medio di radiazioni UV, si consigliano gli occhiali da sole
  • 6…7 – livello elevato, si consigliano creme protettive
  • 8…10 – livelli molto elevati, si consiglia l’applicazione di una tinta
  • 11 – livelli estremamente elevati, si consiglia di limitare la permanenza all’aperto

Come collegare GUVA-S12SD e OLED display ad Arduino

Collegamento del sensore di luce UV e display OLED Arduino
Collegamento del sensore di luce UV e display OLED Arduino
OLED i2c 0,96 Arduino Uno Arduino Nano Arduino Mega
GND GND GND GND
VDD 5V 5V 5V
SDA A4 A4 20
SCL A5 A5 21

La corrente generata dal fotodiodo S12SD viene convertita dall’amplificatore SGM8521 in un livello di tensione proporzionale. Un’ulteriore amplificazione della tensione di uscita proporzionale al fotodiodo del modulo UV è fornita dall’amplificatore LM358. Nell’esempio seguente, aggiungiamo al circuito un display OLED con protocollo di comunicazione I2C da collegare alla scheda Arduino Uno per visualizzare l’indice ultravioletto.

Programma Arduino con sensore GUVA-S12SD e OLED display

#include "Wire.h"
#include "OLED_I2C.h"
OLED myOLED(SDA, SCL, 8);
 
extern uint8_t BigNumbers[];
extern uint8_t SmallFont[];

#include "SparkFun_VL53L1X.h"
SFEVL53L1X vl;

void setup () {
  Serial.begin(9600);
  myOLED.begin();
  vl.setOffset(0);  // calibration

  // vl.setDistanceModeShort(); // mode "courte distance"
  // vl.setROI(4,4,199); // réduire le champ de vision au minimum
}

void loop() {
  vl.startRanging();
  while (!vl.checkForDataReady()) { delay(1); }
  int dist = vl.getDistance();
  vl.stopRanging();
 
  Serial.print("Distance: ");
  Serial.print(dist);
  Serial.println(" mm");

  myOLED.setFont(BigNumbers);
  myOLED.print(String(dist), CENTER, 20);
  myOLED.setFont(SmallFont);
  myOLED.print("MILLIMETRES", CENTER, 50);
  myOLED.update();

  delay(1000);
}

Spiegazione del codice del sensore di luce UV GUVA-S12SD:

  1. il sensore è collegato a qualsiasi ingresso analogico del microcontrollore;
  2. dopo aver convertito la misura, il valore viene visualizzato sul display OLED.

Conclusione. Il sensore può essere collegato a qualsiasi ingresso analogico del microcontrollore, poiché l’uscita del modulo è analogica, il che rende il lavoro con il sensore ML8511 il più semplice possibile. Il modulo può essere utilizzato in dispositivi autonomi per creare termometri o stazioni meteorologiche. Il GUVA-S12SD e l’ML8511 hanno un ampio intervallo di misurazione da 240 a 370 nm e un ampio angolo di visione di circa 130 gradi.

5/5 - (1 vote)


Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.