Taula de continguts:

Pantalla de dos dígits amb matriu de leds de 8x8: 3 passos
Pantalla de dos dígits amb matriu de leds de 8x8: 3 passos

Vídeo: Pantalla de dos dígits amb matriu de leds de 8x8: 3 passos

Vídeo: Pantalla de dos dígits amb matriu de leds de 8x8: 3 passos
Vídeo: MINIJUEGO con ARDUINO para MEJORAR LA MEMORIA || SIMON DICE || [proyecto explicado paso a paso] 2024, Juliol
Anonim
Pantalla de dos dígits que utilitza una matriu de leds de 8x8
Pantalla de dos dígits que utilitza una matriu de leds de 8x8

Aquí m'agradaria construir un indicador de temperatura i humitat per a la meva habitació. Vaig utilitzar una matriu LED de 8x8 per mostrar números de dos dígits i crec que una part del projecte es va fer més útil. La caixa final la vaig construir amb una caixa de cartró, pintada com de fusta.

Subministraments

  1. Arduino Nano x1
  2. Sensor de temperatura i humitat DHT11 x1
  3. Matriu LED de 8x8 amb MAX7219 x1
  4. Resistència 10K x1
  5. Fils de capçalera
  6. Alimentació 5V x1
  7. Caixa de cartró (4x8x13 cm)

Pas 1: esquema

Esquema
Esquema

El sensor digital de temperatura i humitat DHT11 proporciona temperatures entre 0 - 50 ° C i humitat entre un 20% i un 90%. La precisió de la temperatura és de ± 2 ° C (màxima) i la precisió de la humitat és del ± 5%.

DHT11 també proporciona valors de punt de rosada. El punt de rosada és la temperatura a la qual s’ha de refredar l’aire per saturar-se de vapor d’aigua. Quan es refredi més, el vapor d’aigua de l’aire es condensarà per formar aigua líquida.

Pas 2: cablejat i boxa

Cablejat i boxa
Cablejat i boxa
Cablejat i boxa
Cablejat i boxa
Cablejat i boxa
Cablejat i boxa
Cablejat i boxa
Cablejat i boxa

Primer vaig pintar la caixa de cartró amb pintura acrílica i després d’assecar-me 1 dia vaig acabar amb una laca. Vaig fer una finestra quadrada per a pantalla LED a la portada. També vaig obrir un petit forat rectangular per a la font d’alimentació Arduino Nano i vaig posar diversos forats a prop del sensor DHT11.

Vaig arreglar l'Arduino a la cantonada de la caixa principal amb caixa petita i silici calent.

Vaig col·locar la matriu LED a la finestra mitjançant tires de cinta transparent. Aquí és important col·locar-lo amb una rotació de 90 ° en sentit antihorari perquè el codi utilitzarà les 4 files superiors per a dígits de desenes i les 4 files inferiors per a dígits unitaris. Per al mòdul que he utilitzat, el costat amb MAX7219 hauria de ser al costat base.

Com que he col·locat Arduino i el sensor al costat de tancament de la caixa, no els he pogut tancar completament. És millor que seleccioneu l’altra cara:).

Pas 3: Codi

Codi
Codi
Codi
Codi
Codi
Codi

Primer carregueu la biblioteca de DHT11 (https://github.com/adidax/dht11) i la matriu LED (https://github.com/wayoda/LedControl) si encara no en teniu.

El codi utilitza les primeres 4 files de la matriu LED com a desenes i les 4 darreres files com a unitats. Així, per exemple, si comproveu el codi per a "un", veureu "11" girat de 90 ° en sentit horari. Si voleu canviar aquests codis, tingueu en compte aquest detall.

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

Els codis per obtenir els dígits de la lectura del sensor són:

unitats = humit% 10; desenes = (humit / 10)% 10;

Per a desenes de dígits, el bucle for s'executa de la següent manera:

if (desenes == 1) {for (int c = 0; c <4; c ++) {lc.setRow (0, c, one [c]); }

Per a les unitats de dígits, el bucle for s'executa de la següent manera:

if (units == 1) {for (int c = 4; c <8; c ++) {lc.setRow (0, c, one [c]); }

L'ordre de visualització es fa en bucle de la següent manera:

"° C" -> temperatura -> "brunzit" -> humitat -> "dp" -> punt de rosada -> significat del punt de rosada (s'explica a continuació)

Tinc alguna informació sobre com la gent sent el temps segons el punt de rosada i he inclòs aquesta informació al codi de la següent manera:

dp <10: sec

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

14 <dp <18: Sweltry (sw)

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

dp> 23: mullat

La visualització d'aquestes paraules no és bona, però encara es pot entendre per a una sola pantalla de 8x8

Recomanat: