Kazalo:

Dvomestni zaslon z uporabo enojne matrike 8x8 Led: 3 koraki
Dvomestni zaslon z uporabo enojne matrike 8x8 Led: 3 koraki

Video: Dvomestni zaslon z uporabo enojne matrike 8x8 Led: 3 koraki

Video: Dvomestni zaslon z uporabo enojne matrike 8x8 Led: 3 koraki
Video: 🚀 AMAZON 2.0 - ИНТЕРНЕТ МАГАЗИН с нуля за 6 часов [Next / React / Nest / PostgreSQL / Prisma / TS] 2024, November
Anonim
Dvomestni zaslon z uporabo enojne matrike 8x8 Led
Dvomestni zaslon z uporabo enojne matrike 8x8 Led

Tu bi rad zgradil indikator temperature in vlažnosti v svoji sobi. Za prikaz dvomestnih številk sem uporabil eno matriko LED 8x8 in mislim, da je bil del projekta bolj uporaben. Zadnji del, zgrajen iz kartonske škatle, pobarvan kot les, sem zapakiral v boks.

Zaloge

  1. Arduino Nano x1
  2. Senzor temperature in vlažnosti DHT11 x1
  3. 8x8 LED matrika z MAX7219 x1
  4. 10K upor x1
  5. Žice glave
  6. 5V napajanje x1
  7. Kartonska škatla (4x8x13 cm)

1. korak: Shema

Shematično
Shematično

Digitalni senzor temperature in vlažnosti DHT11 prinaša temperature med 0 - 50 ° C in vlažnost med 20% in 90%. Natančnost temperature je ± 2 ° C (največ), natančnost vlažnosti pa ± 5%.

DHT11 ponuja tudi vrednosti rosišča. Rosišče je temperatura, na katero je treba zrak ohladiti, da postane nasičen z vodno paro. Ko se dodatno ohladi, se bo vodna para v zraku kondenzirala in nastala tekoča voda.

2. korak: Ožičenje in boks

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

Najprej sem kartonsko škatlo pobarval z akrilno barvo, po 1 dnevu sušenja pa končal z lakom za lase. Na sprednjem pokrovu sem naredil kvadratno okno za LED zaslon. Odprl sem tudi majhno pravokotno luknjo za napajanje Arduino Nano in v bližini senzorja DHT11 postavil več lukenj.

Arduino sem pritrdil v kotu glavne škatle z majhno škatlo in vročim silicijem.

LED matrico sem postavil v okno s prozornimi trakovi. Tukaj je pomembno, da ga postavite z rotacijo za 90 ° v nasprotni smeri urinega kazalca, ker bo koda uporabila zgornje 4 vrstice za desetice in spodnje 4 vrstice za številke enot. Za modul, ki sem ga uporabil, mora biti stran z MAX7219 na osnovni strani.

Ker sem Arduino in senzor postavil na zapiralno stran škatle, ga nisem mogel popolnoma zapreti?. Raje izberite drugo stran:).

3. korak: Koda

Koda
Koda
Koda
Koda
Koda
Koda

Najprej naložite knjižnico za DHT11 (https://github.com/adidax/dht11) in LED matrico (https://github.com/wayoda/LedControl), če je še nimate.

Koda uporablja prve 4 vrstice LED matrike kot desetice in zadnje 4 vrstice kot enote. Tako na primer, če preverite kodo za "eno", boste videli "11", obrnjeno za 90 ° v smeri urinega kazalca. Če želite spremeniti te kode, bodite pozorni na te podrobnosti.

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

Kode za pridobivanje števk iz odčitka senzorja so:

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

Za desetice števka for zanka poteka na naslednji način:

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

Za števke enot se zanka for izvaja na naslednji način:

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

Vrstni red prikaza je v zanki naslednji:

"° C" -> temperatura -> "hum" -> vlaga -> "dp" -> rosišče -> pomen točke rosišča (razloženo spodaj)

Imam nekaj informacij o tem, kako ljudje čutijo vreme glede na rosišče, in te podatke vnesem v kodo na naslednji način:

dp <10: suho

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

14 <dp <18: metiček (sw)

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

dp> 23: mokro

Zaslon za te besede ni dober, vendar še vedno razumljiv za en sam zaslon 8x8

Priporočena: