Sadržaj:

Dvocifreni ekran koji koristi jednu 8x8 LED matricu: 3 koraka
Dvocifreni ekran koji koristi jednu 8x8 LED matricu: 3 koraka

Video: Dvocifreni ekran koji koristi jednu 8x8 LED matricu: 3 koraka

Video: Dvocifreni ekran koji koristi jednu 8x8 LED matricu: 3 koraka
Video: ЧЁРНАЯ МЕТКА ОТ ОККУЛЬТИСТА 2024, Juli
Anonim
Dvocifreni ekran koji koristi jednu 8x8 LED matricu
Dvocifreni ekran koji koristi jednu 8x8 LED matricu

Ovdje bih želio izgraditi indikator temperature i vlažnosti u svojoj sobi. Koristio sam jednu LED matricu 8x8 za prikaz dvoznamenkastih brojeva i mislim da je taj dio projekta postao korisniji. Upakovao sam u finalu kartonski karton, obojen kao drvo.

Supplies

  1. Arduino Nano x1
  2. DHT11 Senzor temperature i vlažnosti x1
  3. 8x8 LED matrica sa MAX7219 x1
  4. 10K otpornik x1
  5. Žice zaglavlja
  6. 5V napajanje x1
  7. Kartonska kutija (4x8x13 cm)

Korak 1: Shema

Shematski
Shematski

DHT11 digitalni senzor temperature i vlažnosti isporučuje temperature između 0 - 50 ° C i vlažnost između 20% do 90%. Tačnost temperature je ± 2 ° C (maksimalna), a tačnost vlažnosti ± 5%.

DHT11 također daje vrijednosti rosišta. Tačka rošenja je temperatura na koju se zrak mora ohladiti da postane zasićen vodenom parom. Kada se dodatno ohladi, vodena para u zraku će se kondenzirati u tečnu vodu.

Korak 2: Ožičenje i boks

Ožičenje i boks
Ožičenje i boks
Ožičenje i boks
Ožičenje i boks
Ožičenje i boks
Ožičenje i boks
Ožičenje i boks
Ožičenje i boks

Prvo sam obojila kartonsku kutiju akrilnom bojom, a nakon sušenja 1 dan završila sam lakom za kosu. Napravio sam kvadratni prozor za LED ekran na prednjoj strani poklopca. Otvorio sam i malu pravokutnu rupu za napajanje Arduino Nano i stavio nekoliko rupa blizu senzora DHT11.

Popravio sam Arduino u kut glavne kutije pomoću male kutije i vrućeg silicija.

Postavio sam LED matricu u prozor koristeći prozirne trake. Ovdje je važno postaviti ga sa rotacijom za 90 ° u smjeru suprotnom od kazaljke na satu jer će kod koristiti gornja 4 reda za desetke, a donja 4 reda za znamenke jedinica. Za modul koji sam koristio strana sa MAX7219 bi trebala biti na bazi.

Budući da sam postavio Arduino i senzor na zatvarajuću stranu kutije, nisam ga mogao potpuno zatvoriti?. Bolje izaberi drugu stranu:).

Korak 3: Kodirajte

Kod
Kod
Kod
Kod
Kod
Kod

Prvo učitajte biblioteku za DHT11 (https://github.com/adidax/dht11) i LED matricu (https://github.com/wayoda/LedControl) ako to već niste učinili.

Kod koristi prva 4 reda LED matrice kao desetke, a posljednja 4 reda kao jedinice. Tako, na primjer, ako provjerite kôd za "jedan", vidjet ćete "11" rotirano za 90 ° u smjeru kazaljke na satu. Ako želite promijeniti ove kodove, vodite računa o tom detalju.

bajt jedan = {B00000000, B01000100, B01111100, B01000000, B00000000, B01000100, B01111100, B01000000};

Kodovi za dobivanje znamenki iz očitanja senzora su:

jedinice = vlažno % 10; desetice = (vlažno /10) % 10;

Za desetke znamenke for petlja radi na sljedeći način:

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

Za znamenke jedinica petlja for radi na sljedeći način:

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

Redoslijed prikaza je u petlji na sljedeći način:

"° C" -> temperatura -> "brujanje" -> vlažnost -> "dp" -> tačka rose -> značenje tačke rose (objašnjeno u nastavku)

Imam neke podatke o tome kako ljudi osjećaju vrijeme prema tački rosišta i stavili smo te podatke u kôd na sljedeći način:

dp <10: suho

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

14 <dp <18: Svjetlovina (sw)

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

dp> 23: mokro

Prikaz ovih riječi nije dobar, ali je ipak razumljiv za jedan ekran 8x8

Preporučuje se: