Tabla de contenido:

Pantalla de dos dígitos con matriz de LED única de 8x8: 3 pasos
Pantalla de dos dígitos con matriz de LED única de 8x8: 3 pasos

Video: Pantalla de dos dígitos con matriz de LED única de 8x8: 3 pasos

Video: Pantalla de dos dígitos con matriz de LED única de 8x8: 3 pasos
Video: ✔️ Arduino UNO desde Cero - Control de Matriz Leds 8x8 2024, Noviembre
Anonim
Pantalla de dos dígitos con matriz de LED única de 8x8
Pantalla de dos dígitos con matriz de LED única de 8x8

Aquí me gustaría construir un indicador de temperatura y humedad para mi habitación. Usé una matriz LED de 8x8 para mostrar números de dos dígitos, y creo que parte del proyecto se volvió más útil. Encajé la construcción final usando una caja de cartón, pintada como madera.

Suministros

  1. Arduino Nano x1
  2. Sensor de temperatura y humedad DHT11 x1
  3. Matriz LED 8x8 con MAX7219 x1
  4. Resistencia de 10K x1
  5. Cables de cabecera
  6. Fuente de alimentación de 5 V x1
  7. Caja de cartón (4x8x13 cm)

Paso 1: esquema

Esquemático
Esquemático

El sensor digital de temperatura y humedad DHT11 ofrece temperaturas entre 0 y 50 ° C y humedad entre 20% y 90%. La precisión de la temperatura es de ± 2 ° C (máxima) y la precisión de la humedad es de ± 5%.

DHT11 también proporciona valores de punto de rocío. El punto de rocío es la temperatura a la que el aire debe enfriarse para saturarse con vapor de agua. Cuando se enfría más, el vapor de agua en el aire se condensará para formar agua líquida.

Paso 2: cableado y caja

Cableado y Boxeo
Cableado y Boxeo
Cableado y Boxeo
Cableado y Boxeo
Cableado y Boxeo
Cableado y Boxeo
Cableado y Boxeo
Cableado y Boxeo

Primero pinté la caja de cartón con pintura acrílica y después de secar durante 1 día terminé con laca. Hice una ventana cuadrada para pantalla LED en la portada. También abrí un pequeño orificio rectangular para la fuente de alimentación Arduino Nano y puse varios orificios cerca del sensor DHT11.

Arreglé el Arduino en la esquina de la caja principal usando una caja pequeña y silicona caliente.

Coloqué la matriz de LED en la ventana usando tiras de cinta transparente. Aquí es importante colocarlo con una rotación de 90 ° en sentido antihorario porque el código usará las 4 filas superiores para el dígito de las decenas y las 4 filas inferiores para los dígitos de la unidad. Para el módulo que utilicé, el lado con MAX7219 debe estar en el lado de la base.

Debido a que coloqué Arduino y el sensor en el lado de cierre de la caja, no pude cerrarlo por completo. Será mejor que seleccione el otro lado:).

Paso 3: Código

Código
Código
Código
Código
Código
Código

Primero cargue la biblioteca para DHT11 (https://github.com/adidax/dht11) y la matriz de LED (https://github.com/wayoda/LedControl) si aún no lo ha hecho.

El código usa las primeras 4 filas de la matriz de LED como decenas y las últimas 4 filas como unidades. Así, por ejemplo, si comprueba el código de "uno", verá "11" girado 90 ° en el sentido de las agujas del reloj. Si desea cambiar estos códigos, cuide ese detalle.

byte uno = {B00000000, B01000100, B01111100, B01000000, B00000000, B01000100, B01111100, B01000000};

Los códigos para obtener los dígitos de la lectura del sensor son:

unidades =% húmedo 10; decenas = (húmedo / 10)% 10;

Para el dígito de las decenas, el ciclo for se ejecuta de la siguiente manera:

if (decenas == 1) {para (int c = 0; c <4; c ++) {lc.setRow (0, c, uno [c]); }

Para el dígito de las unidades, el bucle for se ejecuta de la siguiente manera:

if (unidades == 1) {para (int c = 4; c <8; c ++) {lc.setRow (0, c, uno [c]); }

El orden de visualización está en bucle de la siguiente manera:

"° C" -> temperatura -> "hum" -> humedad -> "dp" -> punto de rocío -> significado del punto de rocío (explicado a continuación)

Tengo información sobre cómo la gente siente el clima según el punto de rocío y puse esa información en el código de la siguiente manera:

dp <10: seco

9 <dp <15: bueno (g..d)

14 <dp <18: Sweltry (sw)

17 <dp <24: Sweltry plus (sw +)

dp> 23: mojado

La pantalla de esta palabra no es buena, pero aún es comprensible para una sola pantalla de 8x8.

Recomendado: