Ilmajaam suure ST7920 ekraaniga: 4 sammu
Ilmajaam suure ST7920 ekraaniga: 4 sammu
Anonim
Ilmajaam suure ST7920 ekraani abil
Ilmajaam suure ST7920 ekraani abil
Ilmajaam suure ST7920 ekraani abil
Ilmajaam suure ST7920 ekraani abil
Ilmajaam suure ST7920 ekraani abil
Ilmajaam suure ST7920 ekraani abil

Kallid sõbrad, tere tulemast teise Instructable'i! Selles õpetuses vaatame esmakordselt seda suurt LCD -ekraani ning ehitame sellega temperatuuri ja niiskuse monitori.

Olen alati tahtnud välja selgitada kuvari, mis sarnaneb minu 3D -printeri ekraaniga, kuna see on suur ja odav, nii et see võib olla paljude projektide jaoks väga kasulik. Pärast ringi vaatamist avastasin, et minu printeri ekraan on see. Suur 3,2 -tolline ekraan koos ST7920 draiveriga ja eraldusvõimega 128x64 pikslit. Lahe! Nagu näete, on see palju suurem kui enamik kuvasid, mida seni oma projektides kasutasime, seega on see kasulik paljudes tulevastes projektides. See maksab ainult umbes 6 dollarit!

Selle saate siit →

Tarvikud

  1. LCD -ekraan ST7920 →
  2. Arduino Uno →
  3. DHT22 andur →
  4. Leivalaud →
  5. Juhtmed →

Samm: ühendus Arduinoga

Ühendus Arduinoga
Ühendus Arduinoga
Ühendus Arduinoga
Ühendus Arduinoga
Ühendus Arduinoga
Ühendus Arduinoga

Vaatame nüüd, kuidas seda Arduinoga kasutada. Ma kasutan täna Arduino Unot, kuid see töötab paljude Arduino tahvlitega.

Ekraan kasutab mikrokontrolleriga suhtlemiseks SPI -liidest, nii et peame selle ühendama Arduino plaadi riistvara SPI -tihvtidega.

Nagu näete, on ekraanil ühendamiseks palju kontakte, kuid ärge muretsege, et me ei pea kõiki neid kontakte ühendama, vaid 9 neist ja ainult 4 Arduino Uno plaadi digitaalsete tihvtidega.

Esimene tihvt, mis on GND, läheb Arduino GND -le. Teine tihvt, mis on Vcc, läheb Arduino 5V väljundisse. RS tihvt läheb digitaalsele tihvtile 10. R/W tihvt läheb digitaalsele tihvtile 11. E tihvt läheb digitaalsele tihvtile 13. PSB tihvt läheb GND -le, RST -tihvt läheb digitaalsele tihvtile 8, BLA läheb Arduino 3,3 V väljundile ja BLK tihvt läheb GND -le. Nii on meie ekraan kasutusvalmis!

Me saame oma elu lihtsamaks muuta, kui ühendame kõik ekraani GND -tihvtid kokku.

2. samm. Ekraani kogu

Raamatukogu ekraanile
Raamatukogu ekraanile
Raamatukogu ekraanile
Raamatukogu ekraanile
Raamatukogu ekraanile
Raamatukogu ekraanile
Raamatukogu ekraanile
Raamatukogu ekraanile

Nüüd vaatame tarkvara, mida selle ekraani juhtimiseks vajame.

Selle ekraani juhtimiseks kasutan u8g raamatukogu. Kõigepealt paigaldame raamatukogu. Avame Arduino IDE ja valime menüüst Sketch → Include Library → Manage Libraries ja otsime U8G2 raamatukogu. Valime selle ja vajutame install! See on kõik, meie raamatukogu on kasutamiseks valmis.

Nüüd läheme menüüsse Fail → Näited ja teekiga kaasasolevatest näidetest käivitame GraphicsText näite. Enne tahvlile üleslaadimist peame visandis tegema vaid ühe muudatuse. Kuna U8G raamatukogu toetab paljusid kuvasid, peame valima oma ekraanile sobiva konstruktori. Seega otsime koodist “ST7920” ja saadaolevate konstruktorite hulgast valime HW_SPI. Me tühistame selle rea kommentaarid ja oleme valmis visandi Arduinosse üles laadima. Mõne sekundi pärast on eskiis valmis.

Kui te ei näe ekraanil midagi, peate ekraani tagaküljel asuva väikese potentsiomeetri abil ekraani kontrastsust reguleerima

Nüüd vaatame mõne sekundi jooksul demo visandit. Nagu näete, näitab see näitejoonis teegi ja kuva võimalusi. Selle kuvariga saame saavutada lahedaid animatsioone, see on üsna võimekas. Seetõttu kasutatakse seda paljudes 3D -printerites.

3. samm: ehitame ilmajaama

Ehitame ilmajaama
Ehitame ilmajaama
Ehitame ilmajaama
Ehitame ilmajaama
Ehitame ilmajaama
Ehitame ilmajaama
Ehitame ilmajaama
Ehitame ilmajaama

Ehitame nüüd midagi kasulikku. Ühendame DHT22 temperatuuri ja niiskuse anduri Arduinoga. Vajame ainult toiteallikat ja signaaltraati, mille ühendan digitaalse tihvtiga 7. Asjade lihtsustamiseks olen kasutanud ka väikest leivaplaati. Skemaatilise diagrammi leiate siit.

Nagu näete, töötab projekt hästi ja see näitab temperatuuri ja niiskust reaalajas.

Vaatame nüüd kiiresti projekti koodi. Vaid 60 koodiridaga saame luua sellise projekti! Kui lahe see on! Ekraani kasutamiseks peame tegema ainult seda konstruktorit:

U8G2_ST7920_128X64_1_HW_SPI u8g2 (U8G2_R0, /* CS =* / 10, /* lähtestamine =* / 8);

ekraani lähtestamine häälestusfunktsioonis:

u8g2.begin (); u8g2.enableUTF8Print (); u8g2.setFont (u8g2_font_helvB10_tf); u8g2.setColorIndex (1);

ja siis kõik, mida me teeme, on joonistada raamid ja stringid temperatuuri ja niiskuse jaoks:

u8g2.drawFrame (0, 0, 128, 31);

u8g2.drawFrame (0, 33, 128, 31); u8g2.drawStr (15, 13, "Temperatuur");

Viimane asi, mida peame tegema, on lugeda andurilt temperatuur ja niiskus ning kuvada näidud ka ekraanile.

void readTemperature ()

{float t = dht.readTemperature (); dtostrf (t, 3, 1, temperatuur); }

Nagu alati, leiate projekti koodi siit.

4. samm: lõplikud mõtted

Lõplikud mõtted
Lõplikud mõtted

Viimase mõttena arvan, et see kuva on väga kasulik projektides, kus vajame suurt ekraani ja värve. See on odav ja lihtne kasutada. Arvan, et kasutan seda mõnes tulevases projektis.

Tahaksin teada teie arvamust selle ekraani kohta. Mis tüüpi rakendused teie arvates sellisest kuvarist kasu saavad? Täname teid ideede ja selle juhendi lugemise eest. Näeme järgmine kord!