Kazalo:
- Zaloge
- 1. korak: Povezava z Arduinom
- 2. korak: Knjižnica za zaslon
- 3. korak: Zgradimo vremensko postajo
- 4. korak: Zadnje misli
Video: Vremenska postaja z velikim zaslonom ST7920: 4 koraki
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:04
Dragi prijatelji, dobrodošli v drugem Instructable! V tej vadnici bomo prvič pogledali ta veliki LCD zaslon in z njim izdelali monitor za temperaturo in vlago.
Vedno sem hotel najti zaslon, podoben tistemu, ki ga uporablja moj 3D tiskalnik, ker je velik in poceni, zato je lahko zelo uporaben za številne projekte. Ko sem se ozrl okoli, sem odkril, da je ta zaslon, ki ga uporablja moj tiskalnik. Velik 3,2 -palčni zaslon z gonilnikom ST7920 in ločljivostjo 128x64 slikovnih pik. Kul! Kot vidite, je veliko večji od večine zaslonov, ki smo jih doslej uporabljali v naših projektih, zato bo uporaben pri številnih prihodnjih projektih. Stane le okoli 6 USD!
Lahko ga dobite tukaj →
Zaloge
- LCD zaslon ST7920 →
- Arduino Uno →
- Senzor DHT22 →
- Breadboard →
- Žice →
1. korak: Povezava z Arduinom
Zdaj pa poglejmo, kako ga uporabljati z Arduinom. Danes bom uporabil Arduino Uno, vendar deluje z mnogimi Arduino ploščami.
Zaslon uporablja vmesnik SPI za komunikacijo z mikrokrmilnikom, zato ga moramo povezati s strojnimi zatiči SPI plošče Arduino.
Kot lahko vidite, ima zaslon za priključitev veliko zatičev, vendar ne skrbite, da nam ni treba povezati vseh teh zatičev, le 9 od njih in le 4 od njih z digitalnimi zatiči plošče Arduino Uno.
Prvi pin, ki je GND, gre za Arduino GND. Drugi pin, ki je Vcc, gre na izhod Arduino 5V. RS pin preide na digitalni pin 10. R/W pin gre na digitalni pin 11. E pin gre na digitalni pin 13. Pin PSB gre na GND, RST pin na digitalni pin 8, BLA gre na 3.3V izhod Arduina in pin BLK gre na GND. To je to, naš zaslon je pripravljen za uporabo!
Življenje si lahko olajšamo, če skupaj povežemo vse zatiče GND zaslona.
2. korak: Knjižnica za zaslon
Zdaj pa poglejmo programsko opremo, ki jo potrebujemo za upravljanje tega zaslona.
Za prikaz tega zaslona bom uporabil knjižnico u8g. Najprej namestimo knjižnico. Odpremo Arduino IDE in v meniju izberemo Skica → Vključi knjižnico → Upravljanje knjižnic in poiščemo knjižnico U8G2. Izberemo ga in pritisnemo install! To je to, naša knjižnica je pripravljena za uporabo.
Zdaj pa pojdimo na Datoteka → Primeri in iz primerov, ki so priloženi knjižnici, zaženimo primer GraphicsText. Skico moramo narediti le eno spremembo, preden jo naložimo na tablo. Ker knjižnica U8G podpira številne zaslone, moramo za svoj zaslon izbrati ustrezen konstruktor. Zato poiščemo kodo za »ST7920« in med razpoložljivimi konstruktorji izberemo uporabo enega HW_SPI. Tako komentiramo to vrstico in pripravljeni smo naložiti skico v Arduino. Po nekaj sekundah je skica pripravljena.
Če na zaslonu ne vidite ničesar, morate prilagoditi kontrast zaslona s tem majhnim potenciometrom, ki se nahaja na zadnji strani zaslona
Zdaj pa si za nekaj sekund oglejmo demo skico. Kot lahko vidite, ta primer skice prikazuje zmogljivosti knjižnice in zaslona. S tem zaslonom lahko dosežemo nekaj kul animacij, je zelo zmogljiv. Zato se uporablja v številnih 3D tiskalnikih.
3. korak: Zgradimo vremensko postajo
Zdaj zgradimo nekaj koristnega. Priključimo senzor temperature in vlažnosti DHT22 na Arduino. Potrebujemo le napajanje in signalno žico, ki jo povežem z digitalnim zatičem 7. Za lažje delo sem uporabil tudi majhno ploščico. Shematski diagram lahko najdete tukaj.
Kot vidite, projekt dobro deluje in v realnem času prikazuje temperaturo in vlažnost.
Zdaj pa na hitro poglejmo kodo projekta. S samo 60 vrsticami kode lahko zgradimo takšen projekt! Kako kul je to! Za uporabo zaslona moramo uporabiti samo ta konstruktor:
U8G2_ST7920_128X64_1_HW_SPI u8g2 (U8G2_R0, /* CS =* / 10, /* reset =* / 8);
inicializirajte zaslon v nastavitveni funkciji:
u8g2.begin (); u8g2.enableUTF8Print (); u8g2.setFont (u8g2_font_helvB10_tf); u8g2.setColorIndex (1);
in potem le narišemo okvirje in vrvice za temperaturo in vlažnost:
u8g2.drawFrame (0, 0, 128, 31);
u8g2.drawFrame (0, 33, 128, 31); u8g2.drawStr (15, 13, "Temperatura");
Zadnje, kar moramo storiti, je, da iz senzorja preberemo temperaturo in vlago ter prikažemo odčitke tudi na zaslonu.
void readTemperature ()
{float t = dht.readTemperature (); dtostrf (t, 3, 1, temperatura); }
Kot vedno lahko najdete priloženo kodo projekta.
4. korak: Zadnje misli
Končno mislim, da je ta zaslon zelo uporaben pri projektih, kjer potrebujemo velik zaslon in ne potrebujemo barv. Je poceni in enostaven za uporabo. Mislim, da ga bom uporabil pri nekaterih prihodnjih projektih.
Zanima me vaše mnenje o tem zaslonu. Kakšne aplikacije mislite, da bodo imeli koristi od takšnega zaslona? Hvala za vaše ideje in za branje tega navodila. Se vidimo naslednjič!
Priporočena:
Vremenska postaja NaTaLia: Vremenska postaja Arduino s sončno energijo Na pravi poti: 8 korakov (s slikami)
Vremenska postaja NaTaLia: Vremenska postaja na sončni pogon Arduino je ravnala pravilno: Po enem letu uspešnega delovanja na dveh različnih lokacijah delim svoje načrte projektov vremenskih postaj na sončno energijo in razložim, kako se je razvila v sistem, ki lahko resnično preživi dolgo časa obdobja iz sončne energije. Če sledite
Vremenska postaja in senzorska postaja DIY: 7 korakov (s slikami)
Vremenska postaja in senzorska postaja DIY: V tem projektu vam bom pokazal, kako skupaj s senzorsko postajo WiFi ustvariti vremensko postajo. Senzorska postaja meri lokalne podatke o temperaturi in vlažnosti ter jih prek WiFi pošlje vremenski postaji. Vremenska postaja nato prikaže t
Preprosta DIY vremenska postaja z zaslonom DHT11 in OLED: 8 korakov
Preprosta DIY vremenska postaja z zaslonom DHT11 in OLED: V tej vadnici se bomo naučili ustvariti preprosto vremensko postajo z uporabo Arduina, senzorja DHT11, OLED zaslona in Visuina za prikaz temperature in vlažnosti
Vremenska postaja DIY z zaslonom Nextion in Arduinom: 11 korakov
Vremenska postaja DIY z zaslonom Nextion in Arduino: V tej vadnici bomo za prikaz trenutnega časa, temperature in vlažnosti uporabili zaslon Nextion, časovni modul rtc1307, Arduino UNO in Visuino
Vremenska postaja z Arduinom, BME280 in zaslonom za spremljanje trenda v zadnjih 1-2 dneh: 3 koraki (s slikami)
Vremenska postaja z Arduinom, BME280 in zaslonom za spremljanje trenda v zadnjih 1-2 dneh: Pozdravljeni! Tukaj so že predstavljene vremenske postaje z navodili. Prikazujejo trenutni zračni tlak, temperaturo in vlažnost. Manjkala jim je le predstavitev tečaja v zadnjih 1-2 dneh. Ta postopek bi imel