Satura rādītājs:

Divciparu displejs, izmantojot vienu 8x8 LED matricu: 3 soļi
Divciparu displejs, izmantojot vienu 8x8 LED matricu: 3 soļi

Video: Divciparu displejs, izmantojot vienu 8x8 LED matricu: 3 soļi

Video: Divciparu displejs, izmantojot vienu 8x8 LED matricu: 3 soļi
Video: Эти российские истребители 6-го поколения шокировали Америку 2024, Novembris
Anonim
Divciparu displejs, izmantojot vienu 8x8 LED matricu
Divciparu displejs, izmantojot vienu 8x8 LED matricu

Šeit es vēlētos uzbūvēt istabas temperatūras un mitruma indikatoru. Divciparu skaitļu attēlošanai es izmantoju vienu 8x8 LED matricu, un es domāju, ka daļa projekta kļuva noderīgāka. Finālu, kas būvēts, izmantojot kartona kārbu, kaste, kas krāsota kā koks, es ievietoju kastē.

Piegādes

  1. Arduino Nano x1
  2. DHT11 temperatūras un mitruma sensors x1
  3. 8x8 LED matrica ar MAX7219 x1
  4. 10K rezistors x1
  5. Galvenes vadi
  6. 5V barošanas avots x1
  7. Kartona kaste (4x8x13 cm)

1. darbība. Shēma

Shematisks
Shematisks

DHT11 digitālais temperatūras un mitruma sensors nodrošina temperatūru no 0 līdz 50 ° C un mitrumu no 20% līdz 90%. Temperatūras precizitāte ir ± 2 ° C (maksimālā) un mitruma precizitāte ir ± 5%.

DHT11 nodrošina arī rasas punkta vērtības. Rasas punkts ir temperatūra, līdz kurai gaiss jāatdzesē, lai tas būtu piesātināts ar ūdens tvaikiem. Turpinot dzesēšanu, gaisā esošie ūdens tvaiki kondensējas, veidojot šķidru ūdeni.

2. darbība: elektroinstalācija un bokss

Elektroinstalācija un bokss
Elektroinstalācija un bokss
Elektroinstalācija un bokss
Elektroinstalācija un bokss
Elektroinstalācija un bokss
Elektroinstalācija un bokss
Elektroinstalācija un bokss
Elektroinstalācija un bokss

Vispirms es krāsoju kartona kastīti, izmantojot akrila krāsu, un pēc 1 dienas žāvēšanas es pabeidzu ar matu laku. Uz priekšējā vāka es izveidoju kvadrātveida logu LED displejam. Es arī atvēru nelielu taisnstūra caurumu Arduino Nano barošanas avotam un ievietoju vairākus caurumus pie DHT11 sensora.

Es nofiksēju Arduino galvenās kastes stūrī, izmantojot mazu kastīti un karstu silīciju.

Es ievietoju LED matricu logā, izmantojot caurspīdīgas lentes sloksnes. Šeit ir svarīgi to novietot ar 90 ° pagriezienu pretēji pulksteņrādītāja virzienam, jo kods izmantos augšējās 4 rindas desmitiem ciparu un apakšējās 4 rindas vienību cipariem. Modulim es izmantoju pusi ar MAX7219 jābūt pamatnes pusē.

Tā kā es ievietoju Arduino un sensoru kastes aizvēršanas pusē, es nevarēju to pilnībā aizvērt? Labāk izvēlies otru pusi:)

3. darbība: kods

Kods
Kods
Kods
Kods
Kods
Kods

Vispirms augšupielādējiet bibliotēku DHT11 (https://github.com/adidax/dht11) un LED matricu (https://github.com/wayoda/LedControl), ja jums to vēl nav.

Kods izmanto LED matricas pirmās 4 rindas kā desmitus un pēdējās 4 rindas kā vienības. Piemēram, ja pārbaudāt kodu "viens", jūs redzēsit "11", kas pagriezts par 90 ° pulksteņrādītāja virzienā. Ja vēlaties mainīt šos kodus, lūdzu, parūpējieties par šo detaļu.

viens baits = {B00000000, B01000100, B01111100, B01000000, B00000000, B01000100, B01111100, B01000000};

Kodi ciparu iegūšanai no sensora nolasījuma ir šādi:

vienības = mitrs % 10; desmitiem = (mitrs /10) % 10;

Desmitiem cipariem cilpa darbojas šādi:

ja (desmitiem == 1) {par (int c = 0; c <4; c ++) {lc.setRow (0, c, one [c]); }

Vienību cipariem cilpa darbojas šādi:

ja (vienības == 1) {par (int c = 4; c <8; c ++) {lc.setRow (0, c, one [c]); }

Displeja secība ir šāda:

"° C" -> temperatūra -> "hum" -> mitrums -> "dp" -> rasas punkts -> rasas punkta nozīme (paskaidrots zemāk)

Man ir informācija par to, kā cilvēki izjūt laika apstākļus saskaņā ar rasas punktu, un ievietoju šo informāciju kodā šādi:

dp <10: sauss

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

14 <dp <18: Sweltry (sw)

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

dp> 23: slapjš

Šo vārdu displejs nav labs, bet tomēr saprotams vienam 8x8 displejam

Ieteicams: