Inhoudsopgave:

Tweecijferig display met enkele 8x8 led-matrix - Ajarnpa
Tweecijferig display met enkele 8x8 led-matrix - Ajarnpa

Video: Tweecijferig display met enkele 8x8 led-matrix - Ajarnpa

Video: Tweecijferig display met enkele 8x8 led-matrix - Ajarnpa
Video: Как использовать светодиодный семисегментный дисплей и рассчитать значение его резисторов 2024, November
Anonim
Tweecijferig display met enkele 8x8 led-matrix
Tweecijferig display met enkele 8x8 led-matrix

Hier zou ik graag een temperatuur- en vochtigheidsindicator voor mijn kamer willen bouwen. Ik gebruikte een enkele 8x8 LED-matrix voor het weergeven van tweecijferige getallen, en ik denk dat een deel van het project nuttiger werd. Ik boxed de laatste gebouwd met behulp van een kartonnen doos, geschilderd als hout.

Benodigdheden

  1. Arduino Nano x1
  2. DHT11 Temperatuur- en vochtigheidssensor x1
  3. 8x8 LED-matrix met MAX7219 x1
  4. 10K weerstand x1
  5. Header draden
  6. 5V voeding x1
  7. Kartonnen doos (4x8x13 cm)

Stap 1: Schematisch:

Schematisch
Schematisch

DHT11 digitale temperatuur- en vochtigheidssensor levert temperaturen tussen 0 - 50°C en een vochtigheid tussen 20% en 90%. De temperatuurnauwkeurigheid is ±2°C (maximaal) en de vochtigheidsnauwkeurigheid is ±5%.

DHT11 biedt ook dauwpuntwaarden. Het dauwpunt is de temperatuur tot welke lucht moet worden afgekoeld om verzadigd te raken met waterdamp. Bij verdere afkoeling condenseert de waterdamp in de lucht om vloeibaar water te vormen.

Stap 2: Bedrading & Boksen

Bedrading & Boksen
Bedrading & Boksen
Bedrading & Boksen
Bedrading & Boksen
Bedrading & Boksen
Bedrading & Boksen
Bedrading & Boksen
Bedrading & Boksen

Eerst heb ik de kartonnen doos geverfd met acrylverf en na 1 dag drogen heb ik het afgemaakt met een haarlak. Ik maakte een vierkant venster voor LED-display op de voorkant. Ook opende ik een klein rechthoekig gat voor de Arduino Nano-voeding en plaatste ik verschillende gaten in de buurt van de DHT11-sensor.

Ik heb de Arduino in de hoek van de hoofddoos bevestigd met een kleine doos en heet silicium.

Ik heb de LED-matrix in het raam geplaatst met behulp van transparante tapestrips. Hier is het belangrijk om het met een rotatie van 90° tegen de klok in te plaatsen, omdat de code de bovenste 4 rijen zal gebruiken voor tientallen cijfers en de onderste 4 rijen voor eenheidscijfers. Voor de module die ik heb gebruikt, moet de kant met MAX7219 aan de basiskant zijn.

Omdat ik Arduino en sensor aan de sluitzijde van de doos had geplaatst kon ik hem niet helemaal sluiten?. Je kunt beter de andere kant kiezen:).

Stap 3: Coderen

Code
Code
Code
Code
Code
Code

Upload eerst de bibliotheek voor DHT11 (https://github.com/adidax/dht11) en LED-matrix (https://github.com/wayoda/LedControl) als je dat nog niet hebt gedaan.

De code gebruikt de eerste 4 rijen van de LED-matrix als tientallen en de laatste 4 rijen als eenheden. Dus als u bijvoorbeeld de code voor "één" aanvinkt, ziet u "11" als 90° met de klok mee gedraaid. Als u deze codes wilt wijzigen, let dan op dat detail.

byte één = {B00000000, B01000100, B01111100, B01000000, B00000000, B01000100, B01111100, B01000000};

De codes voor het verkrijgen van de cijfers van de sensormeting zijn:

eenheden = vochtig % 10; tientallen = (vochtig /10) % 10;

Voor tientallen cijfers loopt de for-lus als volgt:

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

Voor eenhedencijfer loopt de for-lus als volgt:

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

De weergavevolgorde is als volgt in een lus:

"°C" -> temperatuur -> "brom" -> vochtigheid -> "dp" -> dauwpunt -> betekenis van dauwpunt (hieronder uitgelegd)

Ik heb wat informatie over hoe mensen het weer voelen volgens het dauwpunt en zet die informatie als volgt in de code:

dp < 10: droog

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

14 < dp < 18: Zwaar (zw)

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

dp > 23: nat

De weergave voor dit woord is niet goed, maar nog steeds begrijpelijk voor een enkel 8x8-scherm

Aanbevolen: