Turinys:

Dviejų skaitmenų ekranas naudojant vieną 8x8 LED matricą: 3 žingsniai
Dviejų skaitmenų ekranas naudojant vieną 8x8 LED matricą: 3 žingsniai

Video: Dviejų skaitmenų ekranas naudojant vieną 8x8 LED matricą: 3 žingsniai

Video: Dviejų skaitmenų ekranas naudojant vieną 8x8 LED matricą: 3 žingsniai
Video: 3 3 2 ACTIVE TEXTILE DISPLAYS 2024, Lapkritis
Anonim
Dviejų skaitmenų ekranas naudojant vieną 8x8 LED matricą
Dviejų skaitmenų ekranas naudojant vieną 8x8 LED matricą

Čia norėčiau pastatyti savo kambario temperatūros ir drėgmės indikatorių. Dviejų skaitmenų skaičiams rodyti naudojau vieną 8x8 LED matricą ir manau, kad dalis projekto tapo naudingesnė. Aš supakavau finalą, pastatytą naudojant kartoninę dėžę, nudažytą kaip medis.

Prekės

  1. „Arduino Nano“x1
  2. DHT11 temperatūros ir drėgmės jutiklis x1
  3. 8x8 LED matrica su MAX7219 x1
  4. 10K rezistorius x1
  5. Antraštės laidai
  6. 5 V maitinimo šaltinis x1
  7. Kartoninė dėžutė (4x8x13 cm)

1 žingsnis: schema

Schema
Schema

Skaitmeninis temperatūros ir drėgmės jutiklis DHT11 užtikrina temperatūrą nuo 0 iki 50 ° C ir drėgmę nuo 20% iki 90%. Temperatūros tikslumas yra ± 2 ° C (maksimalus), o drėgmės - ± 5%.

DHT11 taip pat pateikia rasos taško vertes. Rasos taškas yra temperatūra, iki kurios oras turi būti atvėsintas, kad būtų prisotintas vandens garais. Toliau aušinant, ore esantys vandens garai kondensuosis, kad susidarytų skystas vanduo.

2 žingsnis: laidai ir boksas

Laidai ir boksas
Laidai ir boksas
Laidai ir boksas
Laidai ir boksas
Laidai ir boksas
Laidai ir boksas
Laidai ir boksas
Laidai ir boksas

Pirmiausia nudažiau kartoninę dėžę akriliniais dažais ir išdžiovinusi 1 dieną baigiau plaukų laku. Ant priekinio dangtelio padariau kvadratinį langą LED ekranui. Taip pat atidariau nedidelę stačiakampę skylę „Arduino Nano“maitinimo šaltiniui ir uždėjau keletą skylių prie DHT11 jutiklio.

Aš pritvirtinau „Arduino“pagrindinės dėžutės kampe, naudodamas mažą dėžutę ir karštą silicį.

LED matricą įdėjau į langą, naudodamas permatomas juostos juosteles. Čia svarbu jį pasukti 90 ° kampu prieš laikrodžio rodyklę, nes kodui bus naudojamos viršutinės 4 eilutės dešimčiai skaitmenų, o apatinės 4 eilutės-vienetų skaitmenims. Modulio aš naudoju šoną su MAX7219 turėtų būti pagrindo pusėje.

Kadangi uždėjau „Arduino“ir jutiklį prie dėžutės uždarymo pusės, negalėjau jo visiškai uždaryti?. Geriau rinkis kitą pusę:).

3 žingsnis: kodas

Kodas
Kodas
Kodas
Kodas
Kodas
Kodas

Pirmiausia, jei to dar neturite, įkelkite biblioteką, skirtą DHT11 (https://github.com/adidax/dht11) ir LED matricą (https://github.com/wayoda/LedControl).

Kodas naudoja pirmąsias 4 LED matricos eilutes kaip dešimtis, o paskutines 4 eilutes kaip vienetus. Pavyzdžiui, jei patikrinsite „vieno“kodą, „11“bus pasuktas 90 ° pagal laikrodžio rodyklę. Jei norite pakeisti šiuos kodus, pasirūpinkite šia detale.

vienas baitas = {B00000000, B01000100, B01111100, B01000000, B00000000, B01000100, B01111100, B01000000};

Skaitmenų iš jutiklio rodmenų gavimo kodai yra šie:

vienetai = drėgna % 10; dešimtys = (drėgnas /10) % 10;

Dešimties skaitmenų ciklas veikia taip:

if (dešimtys == 1) {už (int c = 0; c <4; c ++) {lc.setRow (0, c, one [c]); }

Jei vienetai skaitmenuojami, ciklas veikia taip:

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

Rodymo tvarka yra tokia:

"° C" -> temperatūra -> "hum" -> drėgmė -> "dp" -> rasos taškas -> rasos taško reikšmė (paaiškinta žemiau)

Turiu informacijos apie tai, kaip žmonės jaučia orą pagal rasos tašką, ir įvedu šią informaciją į kodą taip:

dp <10: sausa

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

14 <dp <18: Sweltry (sw)

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

dp> 23: šlapias

Šių žodžių ekranas nėra geras, tačiau vis tiek suprantamas vienam 8x8 ekranui

Rekomenduojamas: