Sisällysluettelo:
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-13 06:57
Hyvät ystävät, tervetuloa toiseen Instructableen! Tässä opetusohjelmassa aiomme ensin katsoa tätä suurta LCD -näyttöä ja rakentaa sen avulla lämpötila- ja kosteusmonitorin.
Olen aina halunnut löytää samanlaisen näytön kuin 3D -tulostimeni, koska se on suuri ja halpa, joten se voi olla erittäin hyödyllinen monissa projekteissa. Katseltuani ympärilleni huomasin, että tulostimen käyttämä näyttö on tämä. Suuri 3,2 tuuman näyttö ST7920 -ohjaimella ja 128x64 pikselin tarkkuudella. Viileä! Kuten huomaat, se on paljon suurempi kuin useimmat näytöt, joita olemme tähän mennessä käyttäneet projekteissamme, joten siitä on hyötyä monissa tulevissa projekteissa. Se maksaa vain noin 6 dollaria!
Saat sen täältä →
Tarvikkeet
- LCD -näyttö ST7920 →
- Arduino Uno →
- DHT22 -anturi →
- Leipätaulu →
- Johdot →
Vaihe 1: Yhteys Arduinon kanssa
Katsotaanpa nyt, miten sitä käytetään Arduinon kanssa. Aion käyttää Arduino Unoa tänään, mutta se toimii monien Arduino -levyjen kanssa.
Näyttö käyttää SPI -käyttöliittymää kommunikoidakseen mikro -ohjaimen kanssa, joten meidän on liitettävä se Arduino -kortin laitteiston SPI -nastoihin.
Kuten näette, näytössä on monta liitettävää nastaa, mutta ei hätää, meidän ei tarvitse yhdistää kaikkia näitä nastoja, vain yhdeksän niistä ja vain neljä Arduino Uno -levyn digitaalisiin nastoihin.
Ensimmäinen nasta, joka on GND, menee Arduino GND: lle. Toinen nasta, joka on Vcc, menee Arduino 5V -lähtöön. RS -nasta menee digitaaliseen nastaan 10. R/W -nasta menee digitaaliseen nastaan 11. E -nasta menee digitaaliseen nastaan 13. PSB -nasta menee GND: hen, RST -nasta menee digitaaliseen nastaan 8, BLA menee Arduinon 3.3 V: n lähtöön ja BLK -tappi menee GND: lle. Näin näyttömme on käyttövalmis!
Voimme tehdä elämästämme helpompaa, jos johdotamme kaikki näytön GND -nastat yhteen.
Vaihe 2: Näytön kirjasto
Katsotaanpa nyt ohjelmistoa, jota tarvitsemme tämän näytön ajamiseen.
Aion käyttää u8g -kirjastoa tämän näytön ajamiseen. Asennetaan ensin kirjasto. Avaa Arduino IDE ja valitse valikosta Luonnos → Sisällytä kirjasto → Hallitse kirjastoja ja etsimme U8G2 -kirjastoa. Valitsemme sen ja painamme asennusta! Siinä kaikki, kirjasto on käyttövalmis.
Siirrymme nyt kohtaan Tiedosto → Esimerkit ja suoritamme kirjaston mukana toimitetuista esimerkeistä GraphicsText -esimerkin. Meidän on tehtävä vain yksi muutos luonnokseen ennen sen lataamista taululle. Koska U8G -kirjasto tukee monia näyttöjä, meidän on valittava näytölle sopiva konstruktori. Joten etsimme koodia "ST7920" ja käytettävissä olevista konstruktoreista valitsemme HW_SPI -mallin. Poistamme tämän rivin kommentin tällä tavalla ja olemme valmiita lähettämään luonnoksen Arduinolle. Muutaman sekunnin kuluttua luonnos on valmis.
Jos et näe mitään näytössä, sinun on säädettävä näytön kontrasti tällä pienellä potentiometrillä, joka sijaitsee näytön takana
Katsotaan nyt demoluonnosta muutaman sekunnin ajan. Kuten näette, tämä esimerkkiluonnos osoittaa kirjaston ja näytön ominaisuudet. Voimme saavuttaa hienoja animaatioita tällä näytöllä, se on varsin kykenevä. Siksi sitä käytetään niin monissa 3D -tulostimissa.
Vaihe 3: Rakennetaan sääasema
Rakennetaan nyt jotain hyödyllistä. Liitämme DHT22 -lämpötila- ja kosteusanturi Arduinoon. Tarvitsemme vain virran ja signaalijohdon, jonka liitän sen digitaaliseen nastaan 7. Asioiden helpottamiseksi olen käyttänyt myös pientä leipälautaa. Löydät kaavion liitteenä täältä.
Kuten huomaat, projekti toimii hyvin ja se näyttää lämpötilan ja kosteuden reaaliajassa.
Katsotaanpa nyt nopeasti projektin koodia. Vain 60 koodirivillä voimme rakentaa tällaisen projektin! Kuinka siistiä! Kaikki mitä meidän tarvitsee tehdä käyttääksemme näyttöä on käyttää tätä konstruktoria:
U8G2_ST7920_128X64_1_HW_SPI u8g2 (U8G2_R0, /* CS =* / 10, /* reset =* / 8);
nollaa näyttö asetustoiminnossa:
u8g2.begin (); u8g2.enableUTF8Print (); u8g2.setFont (u8g2_font_helvB10_tf); u8g2.setColorIndex (1);
ja sitten me vain piirrämme kehykset ja merkkijonot lämpötilan ja kosteuden suhteen:
u8g2.drawFrame (0, 0, 128, 31);
u8g2.drawFrame (0, 33, 128, 31); u8g2.drawStr (15, 13, "Lämpötila");
Viimeinen tehtävämme on lukea lämpötila ja kosteus anturista ja näyttää lukema myös näytöllä.
mitätön luku Lämpötila ()
{float t = dht.readTemperature (); dtostrf (t, 3, 1, lämpötila); }
Kuten aina, löydät projektin koodin liitteenä täältä.
Vaihe 4: Viimeiset ajatukset
Lopuksi ajattelen, että tämä näyttö on erittäin hyödyllinen projekteissa, joissa tarvitsemme suuren näytön emmekä värejä. Se on edullinen ja helppokäyttöinen. Luulen, että käytän sitä joissakin tulevissa projekteissa.
Haluaisin tietää mielipiteenne tästä näytöstä. Millaisia sovelluksia luulet hyötyvän tällaisesta näytöstä? Kiitos ideastasi ja tämän opaskirjan lukemisesta. Nähdään ensi kerralla!