Tabla de contenido:

Medidor de luz Arduino DIY con sensor BH1750: 6 pasos (con imágenes)
Medidor de luz Arduino DIY con sensor BH1750: 6 pasos (con imágenes)

Video: Medidor de luz Arduino DIY con sensor BH1750: 6 pasos (con imágenes)

Video: Medidor de luz Arduino DIY con sensor BH1750: 6 pasos (con imágenes)
Video: Medir la intensidad de LUZ con el sensor BH1750 2024, Mes de julio
Anonim
Image
Image
Medidor de luz Arduino DIY con sensor BH1750
Medidor de luz Arduino DIY con sensor BH1750

En este Instructable, le mostraré cómo construir un medidor de luz con una gran pantalla LCD Nokia 5110 usando Arduino.

Construir un medidor de luz es una gran experiencia de aprendizaje. Cuando termine de construir este proyecto, comprenderá mejor cómo funcionan los medidores de luz y verá en acción lo poderosa que puede ser la plataforma Arduino. Con este proyecto como base y la experiencia adquirida, podrá construir fácilmente proyectos más complejos en el futuro. Puede utilizar este proyecto para monitorear las condiciones de iluminación de su entorno de trabajo, de sus plantas, etc. Sin más demora, ¡comencemos!

Paso 1: obtenga todas las piezas

Obtenga todas las piezas
Obtenga todas las piezas

Las piezas necesarias para construir este proyecto son las siguientes:

  • Arduino Uno ▶
  • BH1750 ▶
  • Nokia 5110 LCD ▶
  • Placa de pruebas pequeña ▶
  • Cables ▶

El costo del proyecto ronda los $ 12.

Paso 2: el sensor de luz BH1750

El sensor de luz BH1750
El sensor de luz BH1750

El sensor de intensidad de luz BH1750 es un sensor excelente y muy fácil de usar. Esta placa de conexión viene con un convertidor AD de 16 bits incorporado que puede emitir directamente una señal digital, no hay necesidad de cálculos complicados.

Esta placa es mejor que una LDR que solo emite un voltaje. Con el sensor de luz BH1750, la intensidad se puede medir directamente con el luxómetro, sin necesidad de realizar cálculos. Los datos emitidos por este sensor se emiten directamente en Lux (Lx).

El sensor utiliza la interfaz I2C, por lo que es muy fácil de usar con Arduino. Solo necesitas conectar 2 cables.

Además el precio del sensor es muy bajo, ronda los 2 $.

Puede obtenerlo aquí: ▶

Paso 3: Nokia 5110 LCD

Image
Image
Construyendo el medidor de luz
Construyendo el medidor de luz

El Nokia 5110 es mi pantalla favorita para mis proyectos Arduino.

El Nokia 5110 es una pantalla LCD gráfica básica que originalmente fue diseñada como pantalla de teléfono celular. Utiliza el controlador PCD8544, que es un controlador / controlador CMOS LCD de baja potencia. Debido a esto, esta pantalla tiene un consumo de energía impresionante. Utiliza solo 0,4 mA cuando está encendido, pero la luz de fondo está desactivada. ¡Utiliza menos de 0.06mA cuando está en modo de suspensión! Esa es una de las razones por las que esta pantalla es mi favorita. El PCD8544 se conecta a los microcontroladores a través de una interfaz de bus serie. Eso hace que la pantalla sea muy fácil de usar con Arduino.

Solo necesita conectar 8 cables y usar la siguiente biblioteca:

Esta impresionante biblioteca fue desarrollada por Henning Karlsen, quien ha hecho un gran esfuerzo para ayudar a la comunidad de Arduino a avanzar con sus bibliotecas.

He preparado un tutorial detallado sobre cómo usar la pantalla LCD del Nokia 5110 con Arduino. He adjuntado ese video en este Instructable, proporcionará información útil sobre la pantalla, por lo que le animo a que lo vea con atención.

El costo de la pantalla es de alrededor de $ 4.

Puede obtenerlo aquí: ▶

Paso 4: construcción del medidor de luz

Construyendo el medidor de luz
Construyendo el medidor de luz

Conectemos ahora todas las partes.

Primero conectamos el módulo sensor de luz BH1750. Solo tiene 5 pines pero conectaremos 4 de ellos.

Conexión del sensor de voltaje

Vcc Pin va a 5V de Arduino

GND Pin va a GND de Arduino

El Pin SCL va al Pin analógico 5 del Arduino Uno

El Pin SDA va al Pin analógico 4 del Arduino Uno

El PIN de la dirección permanece desconectado

El siguiente paso es conectar la pantalla LCD del Nokia 5110.

Conexión de la pantalla LCD Nokia 5110

RST va al Pin digital 12 del Arduino

CE va al Pin digital 11 del Arduino

DC va al Pin digital 10 del Arduino

DIN va al Pin digital 9 del Arduino

CLK va al Pin digital 8 del Arduino

VCC va a Arduino 3.3V LIGHT va a Arduino GND (luz de fondo encendida)

GND va a Arduino GND

Ahora que hemos conectado todas las partes, todo lo que tenemos que hacer es cargar el código. Se muestra una pantalla de bienvenida durante un par de segundos y luego podemos comenzar a medir la intensidad de la luz en tiempo real.

Paso 5: el código del proyecto

Image
Image
Probando el proyecto
Probando el proyecto

El código del proyecto consta de 3 archivos.

splash.cui.c

ui.c

BH1750LightMeter.ino

Código: imagen de la pantalla de presentación

En el primer archivo splash.c, están los valores binarios de la pantalla de bienvenida que se muestra en la pantalla LCD del Nokia 5110 cuando se inicia el proyecto. Mire el video adjunto que he preparado para ver cómo cargar sus gráficos personalizados en su proyecto Arduino.

ui.c Code - La interfaz de usuario

En el archivo ui.c, están los valores binarios de la interfaz de usuario que aparecen después de que el proyecto muestra la pantalla de bienvenida. Mire el video adjunto que he preparado para ver cómo cargar sus gráficos personalizados en su proyecto Arduino.

Código UVMeter.ino - Programa principal

El código principal del proyecto es muy simple. Necesitamos incluir la biblioteca Nokia 5110. A continuación declaramos algunas variables. Inicializamos la pantalla y mostramos la pantalla de bienvenida durante 3 segundos. Después de eso, imprimimos el icono de la interfaz de usuario una vez y leemos el valor del sensor 150 milisegundos. Toda la magia sucede en la función de bucle:

bucle vacío () {int stringLength = 0; uint16_t lux = lightSensor.readLightLevel (); // Leer el sensor light = String (lux); // Conversión a String stringLength = light.length (); // Necesitamos conocer la longitud de la cadena lcd.clrScr (); lcd.drawBitmap (0, 0, ui, 84, 48); printLight (stringLength); // Imprime la cadena en la pantalla lcd.update (); retraso (150); }

He adjuntado el código a este Instructable. Para descargar la última versión del código, puede visitar la página web del proyecto:

Paso 6: probar el proyecto

Probando el proyecto
Probando el proyecto
Probando el proyecto
Probando el proyecto

Ahora que el código está cargado, podemos probar el medidor de luz en interiores y exteriores. Lo pruebo en un soleado día de primavera aquí en Grecia. El resultado es fantástico. Podemos medir con precisión la intensidad de la luz con un proyecto fácil de construir.

Como puede ver en las fotos adjuntas, el medidor de luz funciona bien. Este proyecto es una gran demostración de lo que es capaz de hacer el hardware y software de código abierto. ¡En pocos minutos se puede construir un proyecto tan impresionante! Este proyecto es ideal para principiantes y como dije al principio, este proyecto es una gran experiencia de aprendizaje. Me encantaría conocer tu opinión sobre este proyecto. Lo encontraste util? ¿Hay alguna mejora que se pueda implementar en este proyecto? ¡Publique sus comentarios o ideas en la sección de comentarios a continuación!

Recomendado: