INHOUDSOPGAWE:

Tweesyfer-skerm met enkele 8x8 Led Matrix: 3 stappe
Tweesyfer-skerm met enkele 8x8 Led Matrix: 3 stappe

Video: Tweesyfer-skerm met enkele 8x8 Led Matrix: 3 stappe

Video: Tweesyfer-skerm met enkele 8x8 Led Matrix: 3 stappe
Video: Как использовать светодиодный семисегментный дисплей и рассчитать значение его резисторов 2024, Desember
Anonim
Tweesyfer-skerm met enkele 8x8 Led Matrix
Tweesyfer-skerm met enkele 8x8 Led Matrix

Hier wil ek 'n temperatuur- en humiditeitsaanwyser vir my kamer bou. Ek het 'n enkele 8x8 LED Matrix gebruik om tweesyfergetalle te vertoon, en ek dink dat 'n deel van die projek nuttiger geword het. Ek het die finale gebou in 'n kartondoos, soos hout geverf, ingekas.

Voorrade

  1. Arduino Nano x1
  2. DHT11 Temperatuur- en humiditeitsensor x1
  3. 8x8 LED matriks met MAX7219 x1
  4. 10K weerstand x1
  5. Kopdrade
  6. 5V kragtoevoer x1
  7. Kartondoos (4x8x13 cm)

Stap 1: Skematiese

Skematiese
Skematiese

DHT11 digitale temperatuur- en humiditeitsensor lewer temperature tussen 0 - 50 ° C en humiditeit tussen 20% en 90%. Die temperatuur akkuraatheid is ± 2 ° C (maksimum) en die humiditeit akkuraatheid is ± 5%.

DHT11 bied ook dauwpuntwaardes. Die dauwpunt is die temperatuur waarteen lug afgekoel moet word om versadig te word met waterdamp. As dit verder afgekoel word, kondenseer die waterdamp in die lug om vloeibare water te vorm.

Stap 2: Bedrading en boks

Bedrading en boks
Bedrading en boks
Bedrading en boks
Bedrading en boks
Bedrading en boks
Bedrading en boks
Bedrading en boks
Bedrading en boks

Ek het eers die kartondoos met akrielverf geverf en nadat ek dit vir 1 dag gedroog het, het ek met 'n haarspray klaargemaak. Ek het 'n vierkantige venster vir LED -skerm op die voorblad gemaak. Ek het ook 'n klein reghoekige gat vir die Arduino Nano -kragtoevoer oopgemaak en verskeie gate naby die DHT11 -sensor gesit.

Ek het die Arduino in die hoek van die hoofkas reggemaak met 'n klein boks en warm silikon.

Ek het die LED -matriks in die venster geplaas met behulp van deursigtige bandstroke. Hier is dit belangrik om dit met 'n draai van 90 ° linksom te plaas, want die kode gebruik die boonste 4 rye vir tiene en die onderste 4 rye vir eenheidsyfers. Vir die module wat ek gebruik het, moet die kant met MAX7219 aan die onderkant wees.

Omdat ek Arduino en sensor aan die sluitkant van die boks geplaas het, kon ek dit nie heeltemal toemaak nie?. Kies maar beter die ander kant:).

Stap 3: Kodeer

Kode
Kode
Kode
Kode
Kode
Kode

Laai eers die biblioteek vir DHT11 (https://github.com/adidax/dht11) en LED -matriks (https://github.com/wayoda/LedControl) op as u dit nog nie het nie.

Die kode gebruik die eerste 4 ry van die LED -matriks as tiene en die laaste 4 rye as eenhede. As u byvoorbeeld die kode vir "een" kontroleer, sal u "11" sien as 90 ° met die kloksgewys gedraai. Let op die detail as u hierdie kodes wil verander.

greep een = {B00000000, B01000100, B01111100, B01000000, B00000000, B01000100, B01111100, B01000000};

Die kodes om die syfers van die sensorlesing te kry, is:

eenhede = vogtige % 10; tiene = (humid /10) % 10;

Vir tientalle loop die for lus soos volg:

as (tiene == 1) {vir (int c = 0; c <4; c ++) {lc.setRow (0, c, een [c]); }

Vir eenhede syfer die for lus loop soos volg:

as (eenhede == 1) {vir (int c = 4; c <8; c ++) {lc.setRow (0, c, een [c]); }

Die vertoonvolgorde is as volg:

"° C" -> temperatuur -> "neurie" -> humiditeit -> "dp" -> dauwpunt -> betekenis van dauwpunt (hieronder verduidelik)

Ek het inligting oor hoe mense die weer voel volgens die dauwpunt en plaas die inligting soos volg in die kode:

dp <10: droog

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

14 <dp <18: Sweltry (sw)

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

dp> 23: nat

Die vertoning vir hierdie woord is nie goed nie, maar steeds verstaanbaar vir 'n enkele 8x8 -skerm

Aanbeveel: