Innholdsfortegnelse:

To-sifret skjerm med enkel 8x8 Led Matrix: 3 trinn
To-sifret skjerm med enkel 8x8 Led Matrix: 3 trinn

Video: To-sifret skjerm med enkel 8x8 Led Matrix: 3 trinn

Video: To-sifret skjerm med enkel 8x8 Led Matrix: 3 trinn
Video: Переработка энкодера колеса прокрутки мыши и его тестирование с помощью Arduino Nano 2024, Juli
Anonim
To-sifret skjerm ved bruk av enkelt 8x8 Led Matrix
To-sifret skjerm ved bruk av enkelt 8x8 Led Matrix

Her vil jeg bygge en temperatur- og fuktighetsindikator for rommet mitt. Jeg brukte enkelt 8x8 LED Matrix for å vise tosifrede tall, og jeg tror at en del av prosjektet ble mer nyttig. Jeg bokset den siste bygningen med en pappeske, malt som tre.

Rekvisita

  1. Arduino Nano x1
  2. DHT11 temperatur- og fuktighetssensor x1
  3. 8x8 LED -matrise med MAX7219 x1
  4. 10K motstand x1
  5. Toppleder
  6. 5V strømforsyning x1
  7. Pappeske (4x8x13 cm)

Trinn 1: Skjematisk

Skjematisk
Skjematisk

DHT11 digital temperatur- og fuktighetssensor leverer temperaturer mellom 0 - 50 ° C og fuktighet mellom 20% og 90%. Temperaturnøyaktigheten er ± 2 ° C (maksimal) og fuktighetsnøyaktigheten er ± 5%.

DHT11 gir også duggpunktsverdier. Duggpunktet er temperaturen som luft må avkjøles til for å bli mettet med vanndamp. Når den avkjøles ytterligere, vil den luftbårne vanndampen kondensere for å danne flytende vann.

Trinn 2: Kabling og boksing

Kabling og boksing
Kabling og boksing
Kabling og boksing
Kabling og boksing
Kabling og boksing
Kabling og boksing
Kabling og boksing
Kabling og boksing

Først malte jeg pappkassen med akrylmaling, og etter tørking i 1 dag avsluttet jeg med en hårspray. Jeg laget et firkantet vindu for LED -skjerm på forsiden. Jeg åpnet også et lite rektangelhull for Arduino Nano strømforsyning og la flere hull i nærheten av DHT11 -sensoren.

Jeg fikset Arduino i hjørnet av hovedboksen ved hjelp av liten eske og varmt silisium.

Jeg plasserte LED -matrisen i vinduet ved hjelp av gjennomsiktige tapestrimler. Her er det viktig å plassere den med en 90 ° rotasjon mot klokken fordi koden vil bruke de fire øverste radene for ti-tall og de nederste 4 radene for enhetssifre. For modulen brukte jeg siden med MAX7219 skal være på undersiden.

Fordi jeg plasserte Arduino og sensor på den lukkende siden av esken, kunne jeg ikke helt stenge den?. Du må velge den andre siden:).

Trinn 3: Kode

Kode
Kode
Kode
Kode
Kode
Kode

Last først opp biblioteket for DHT11 (https://github.com/adidax/dht11) og LED -matrisen (https://github.com/wayoda/LedControl) hvis du ikke allerede har det.

Koden bruker den første 4 raden i LED -matrisen som tiere og de siste 4 radene som enheter. For eksempel, hvis du for eksempel sjekker koden for "en", vil du se "11" rotert 90 ° med klokken. Ta vare på detaljene hvis du vil endre disse kodene.

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

Kodene for å få tallene fra sensoravlesningen er:

enheter = fuktig % 10; titalls = (fuktig /10) % 10;

For ti -tall går for -løkken som følger:

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

For enheter siffer for loop -løpene som følger:

hvis (enheter == 1) {for (int c = 4; c <8; c ++) {lc.setRow (0, c, en [c]); }

Visningsrekkefølgen er i sløyfe som følger:

"° C" -> temperatur -> "brum" -> fuktighet -> "dp" -> duggpunkt -> betydning av duggpunkt (forklart nedenfor)

Jeg har litt informasjon om hvordan folk føler været i henhold til duggpunktet og legger denne informasjonen inn i koden som følger:

dp <10: tørr

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

14 <dp <18: Sweltry (sw)

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

dp> 23: våt

Displayet for disse ordene er ikke bra, men fremdeles forståelig for en enkelt 8x8 -skjerm

Anbefalt: