Cómo conectar el sensor uv veml6075 barato a un arduino uno

En este tutorial del sensor UV Arduino, le mostraremos cómo conectar el sensor UV VEML6075 barato a un Arduino Uno.

Además de mostrarle cómo conectar el sensor UV a un Arduino Uno, también le mostraremos cómo utilizar la biblioteca VEML6075 de Adafruit para interactuar con el sensor UV y calcular el índice UV de la luz que se está detectando actualmente.

El VEML6075 es un sensor UV asequible de baja potencia que está diseñado para leer en bandas de luz UVA y UVB. El sensor viene con registros de calibración integrados para permitir una fácil conversión de la lectura UVA / UVB a un índice UV.

Este sensor es excelente para proyectos Arduino que están diseñados para estar expuestos a la luz ultravioleta. Entonces, principalmente proyectos al aire libre, como estaciones meteorológicas o un dispositivo simple para alertarlo sobre el índice UV actual.

También puede usar este mismo sensor UV con la Raspberry Pi. Tanto Raspberry Pi como Arduino son dispositivos excelentes para el VEML6075.

Equipo

Para completar este proyecto de sensor Arduino UV, necesitará recoger algunas piezas de equipo.

Recomendado

Arduino Uno

Tablero de circuitos

Alambre de tablero

Sensor UV VEML6075

Configuración del circuito del sensor UV Arduino

Afortunadamente, el cableado del sensor UV VEML6075 es un proceso simple, ya que utiliza una interfaz en serie para interactuar con el dispositivo. Solo necesitaremos conectar hasta cuatro cables al Arduino.

A continuación se muestran algunas instrucciones escritas sobre cómo conectar el sensor UV a su Arduino. También hemos incluido un diagrama que muestra el cableado del sensor UV VEML6075 con un Arduino Uno.

  • Conecte el pin VIN del sensor UV al (3v3) en el Arduino.
  • Conecte el pin GND del sensor UV al (GND) en el Arduino.
  • Conecte el pin SDA del sensor UV al (SDA) en el Arduino.
  • Conecte el pin SCL del sensor UV al (SCL) en el Arduino.

Importación de las bibliotecas de sensores UV VEML6075

Interactuar con el sensor UV VEML6075 a través del Arduino Uno es un proceso simple, ya que podemos confiar en la biblioteca Adafruit VEML6075 para hablar con el sensor UV.

La biblioteca Adafruit VEML6075 está diseñada para funcionar con el sensor UV a través de la interfaz I2C de Arduino.

1. Abra el menú de la biblioteca dentro del IDE de Arduino yendo a Sketch (1.) -> Incluir biblioteca (2.) -> Administrar bibliotecas (3.)

2. En esta ventana, busque “Adafruit VEML6075” (1.) y busque la “Biblioteca Adafruit VELM6075 de Adafruit” (2.).

Instale la última versión disponible de la biblioteca haciendo clic en el botón «Instalar» (3.) como se muestra a continuación.

Codificación del sensor UV VEML6075

1. Abra la interfaz IDE de Arduino y comience a ingresar las siguientes líneas de código.

A lo largo de la siguiente sección, explicaremos cada línea de código para que comprenda cómo funciona todo.

#include <Wire.h>  #include "Adafruit_VEML6075.h"

Al comienzo del script, incluimos los archivos de encabezado de las bibliotecas en las que confiaremos para comunicarnos con el sensor UV VEML6075.

La biblioteca Wire es la biblioteca más importante que necesitamos importar. Esta biblioteca proporciona la funcionalidad para hablar e interactuar con sensores a través del protocolo serial I2C.

La biblioteca Adafruit_VEML6075 se utiliza para interactuar con el propio sensor UV VEML6075. Esta biblioteca hace todo el trabajo pesado al comunicarse con los sensores e interpretar los datos que reporta.

Usaremos la funcionalidad de las bibliotecas para calcular el índice UV actual que detecta el sensor.

Adafruit_VEML6075 uv = Adafruit_VEML6075();

Ahora instanciamos la biblioteca «Adafruit_VEML6075» en nuestra variable «uv». Usaremos este objeto para interactuar y leer datos del sensor UV.

void setup() {    Serial.begin(9600);    Serial.println("VEML6075 Test");      if (! uv.begin()) {      Serial.println("Failed to communicate with VEML6075 sensor.");    }    Serial.println("Found the VEML6075 sensor");  }

La función «setup ()» es ejecutada por Arduino cuando se enciende, utilizamos esta función para inicializar cualquier cosa que necesitemos para nuestro bucle principal.

Para comenzar nuestra configuración, iniciamos nuestra conexión en serie ejecutando la función “Serial.begin ()” con la velocidad en baudios de 9600.

Inmediatamente usamos esta conexión en serie para imprimir el texto y hacernos saber que el programa se ha iniciado.

Luego, usamos la función de objetos “uv” “begin ()” para que inicie una conexión en serie con el sensor UV VEML6075. Hacer esto nos permitirá leer los datos UV que devuelve el sensor dentro de nuestro bucle.

Si la función “uv.begin ()” devuelve falso, imprimimos un mensaje usando la conexión serial de Arduino para alertar al usuario de que hay un problema. De lo contrario, imprimimos un mensaje diciendo que encontramos el sensor.

void loop() {    Serial.print("UV Index reading: "); Serial.println(uv.readUVI());    delay(1000);  }

La función «loop ()» se ejecuta después de que la función «setup ()» ha terminado de dispararse. El bucle se mantiene mientras el Arduino esté encendido o algo haga que se bloquee.

Lo primero que hacemos en este ciclo es imprimir el índice UV calculado por la biblioteca de sensores UV VEML6075 de Adafruit. Hacemos esto ejecutando la función «readUVI ()» del objeto “uv”.

Esta función «readUVI ()» calcula el índice UV mediante la lectura de los rayos UVA (rayo de onda larga) y UVB (rayo de onda corta) del sensor UV y utiliza esos valores para calcular el índice.

Puede leer los valores UVA y UVB individualmente usando las funciones “readUVA ()” y “readUVB ()” respectivamente.

Al final del ciclo, ponemos el script en reposo durante 1 segundo (1000ms) usando la función «delay ()».

2. Con el código ingresado, debería verse como lo que hemos mostrado en el cuadro de código a continuación. También puede encontrar el código de ejemplo en el que basamos el nuestro en Github de Adafruit.

#include <Wire.h>   #include "Adafruit_VEML6075.h"    Adafruit_VEML6075 uv = Adafruit_VEML6075();    void setup() {    Serial.begin(9600);    Serial.println("VEML6075 Test");      if (! uv.begin()) {      Serial.println("Failed to communicate with VEML6075 sensor.");    }    Serial.println("Found the VEML6075 sensor");  }    void loop() {    Serial.print("UV Index reading: "); Serial.println(uv.readUVI());    delay(1000);  }

Prueba del sensor UV Arduino

1. Para cargar el código del sensor Arduino UV a su Arduino, vaya y haga clic en el botón «Verificar» (1.) y luego haga clic en el botón «Cargar» (2.)

Si tiene algún problema, verifique el código para asegurarse de que todo sea correcto.

Para verificar que su dispositivo Arduino está conectado a su PC, búsquelo y selecciónelo en Herramientas -> Puerto:

2. Con el Arduino leyendo ahora los datos de su sensor UV VEML6075, ahora podemos cargar el monitor serial IDE de Arduino.

Puede abrir el software del monitor en serie Arduino haciendo clic en «Herramientas» (1.) y luego en «Monitor en serie» (2.)

3. Una vez que se inicie el monitor en serie, debería comenzar a ver los datos que lee su Arduino y que se envían a través de la conexión en serie.

Al igual que nuestra versión Raspberry Pi de este tutorial, utilizamos una luz ultravioleta para manipular los resultados. La luz ultravioleta era necesaria ya que estamos adentro, y las luces regulares dan resultados muy bajos, a veces incluso negativos.

Salir al exterior debería proporcionarle lecturas similares a las de los sitios web meteorológicos. Si encuentra que sus valores están muy lejos, deberá verificar el cableado de su sensor.

Hay muchos proyectos en los que este sensor será útil. Puede combinarlo con un sensor de humedad y temperatura y construir una estación meteorológica Arduino básica. Las posibilidades son infinitas.

Espero que al final de este tutorial su sensor Arduino UV esté funcionando correctamente. Con suerte, ahora debería comprender cómo conectar el sensor VEML6075 al Arduino. También debe comprender cómo leer los datos del sensor y mostrarlos en el monitor en serie.