Sisällysluettelo:

Kaksinumeroinen näyttö yhden 8x8 LED-matriisin avulla: 3 vaihetta
Kaksinumeroinen näyttö yhden 8x8 LED-matriisin avulla: 3 vaihetta

Video: Kaksinumeroinen näyttö yhden 8x8 LED-matriisin avulla: 3 vaihetta

Video: Kaksinumeroinen näyttö yhden 8x8 LED-matriisin avulla: 3 vaihetta
Video: Как использовать светодиодный семисегментный дисплей и рассчитать значение его резисторов 2024, Heinäkuu
Anonim
Kaksinumeroinen näyttö yhdellä 8x8 LED-matriisilla
Kaksinumeroinen näyttö yhdellä 8x8 LED-matriisilla

Täällä haluaisin rakentaa huoneeni lämpötila- ja kosteusindikaattorin. Käytin yksittäistä 8x8 LED-matriisia kaksinumeroisten numeroiden näyttämiseen, ja mielestäni osa projektista tuli hyödyllisemmäksi. Laatikoin puun maalatun pahvilaatikon avulla rakennetun lopullisen.

Tarvikkeet

  1. Arduino Nano x1
  2. DHT11 lämpötila- ja kosteusanturi x1
  3. 8x8 LED -matriisi ja MAX7219 x1
  4. 10K vastus x1
  5. Otsikon johdot
  6. 5V virtalähde x1
  7. Pahvilaatikko (4x8x13 cm)

Vaihe 1: Kaavio

Kaavamainen
Kaavamainen

Digitaalinen lämpötila- ja kosteusanturi DHT11 tuottaa lämpötilan välillä 0-50 ° C ja kosteuden välillä 20-90%. Lämpötilan tarkkuus on ± 2 ° C (maksimi) ja kosteustarkkuus ± 5%.

DHT11 tarjoaa myös kastepistearvot. Kastepiste on lämpötila, johon ilma on jäähdytettävä, jotta se kyllästyy vesihöyryllä. Jäähdyttämisen jälkeen ilmassa oleva vesihöyry tiivistyy muodostaen nestemäistä vettä.

Vaihe 2: Johdotus ja nyrkkeily

Johdotus ja nyrkkeily
Johdotus ja nyrkkeily
Johdotus ja nyrkkeily
Johdotus ja nyrkkeily
Johdotus ja nyrkkeily
Johdotus ja nyrkkeily
Johdotus ja nyrkkeily
Johdotus ja nyrkkeily

Ensin maalasin pahvilaatikon akryylimaalilla ja viimeistelin 1 päivän kuivumisen jälkeen hiuslakalla. Tein neliömäisen ikkunan LED -näyttöön etukanteen. Avasin myös pienen suorakulmion reiän Arduino Nano -virtalähteelle ja laitoin useita reikiä DHT11 -anturin lähelle.

Kiinnitin Arduinon päälaatikon kulmaan pienellä laatikolla ja kuumalla piillä.

Sijoitin LED -matriisin ikkunaan läpinäkyvillä teippinauhoilla. Tässä on tärkeää sijoittaa se 90 ° vastapäivään, koska koodi käyttää ylempää 4 riviä kymmeniä numeroita ja alempia 4 riviä yksikkönumeroita varten. Moduulissa käytin sivua MAX7219: n kanssa pohjapuolella.

Koska asetin Arduinon ja anturin laatikon sulkupuolelle, en voinut sulkea sitä kokonaan?. Kannattaa valita toinen puoli:).

Vaihe 3: Koodi

Koodi
Koodi
Koodi
Koodi
Koodi
Koodi

Lataa ensin DHT11: n (https://github.com/adidax/dht11) ja LED -matriisin (https://github.com/wayoda/LedControl) kirjasto, jos sinulla ei vielä ole sitä.

Koodi käyttää LED -matriisin ensimmäistä 4 riviä kymmeninä ja viimeistä 4 riviä yksikköinä. Jos esimerkiksi tarkistat koodin "yksi", näet "11" 90 ° kiertäen myötäpäivään. Jos haluat muuttaa näitä koodeja, huolehdi niistä.

yksi tavu = {B00000000, B01000100, B01111100, B01000000, B00000000, B01000100, B01111100, B01000000};

Koodit numeroiden saamiseksi anturin lukemasta ovat:

yksikköä = kostea % 10; kymmeniä = (kostea /10) % 10;

Kymmeniä numeroita varten silmukka suoritetaan seuraavasti:

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

Yksiköiden numerot silmukalle suoritetaan seuraavasti:

jos (yksiköt == 1) {for (int c = 4; c <8; c ++) {lc.setRow (0, c, one [c]); }

Näyttöjärjestys on silmukassa seuraavasti:

"° C" -> lämpötila -> "hum" -> kosteus -> "dp" -> kastepiste -> kastepisteen merkitys (selitetty alla)

Minulla on tietoa siitä, miten ihmiset kokevat sään kastepisteen mukaan, ja laitan nämä tiedot koodiin seuraavasti:

dp <10: kuiva

9 <dp <15: hyvä (g..d)

14 <dp <18: Sweltry (sw)

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

dp> 23: märkä

Näiden sanojen näyttö ei ole hyvä, mutta silti ymmärrettävissä yhdelle 8x8 -näytölle

Suositeltava: