Kazalo:

Vremenska postaja z velikim zaslonom ST7920: 4 koraki
Vremenska postaja z velikim zaslonom ST7920: 4 koraki

Video: Vremenska postaja z velikim zaslonom ST7920: 4 koraki

Video: Vremenska postaja z velikim zaslonom ST7920: 4 koraki
Video: Город БАРСЕЛОНА. Испания или Каталония? Большой выпуск. 2024, November
Anonim
Vremenska postaja z velikim zaslonom ST7920
Vremenska postaja z velikim zaslonom ST7920
Vremenska postaja z velikim zaslonom ST7920
Vremenska postaja z velikim zaslonom ST7920
Vremenska postaja z velikim zaslonom ST7920
Vremenska postaja z velikim zaslonom ST7920

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

  1. LCD zaslon ST7920 →
  2. Arduino Uno →
  3. Senzor DHT22 →
  4. Breadboard →
  5. Žice →

1. korak: Povezava z Arduinom

Povezava z Arduinom
Povezava z Arduinom
Povezava z Arduinom
Povezava z Arduinom
Povezava z Arduinom
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

Knjižnica za prikaz
Knjižnica za prikaz
Knjižnica za prikaz
Knjižnica za prikaz
Knjižnica za prikaz
Knjižnica za prikaz
Knjižnica za prikaz
Knjižnica za prikaz

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

Zgradimo vremensko postajo
Zgradimo vremensko postajo
Zgradimo vremensko postajo
Zgradimo vremensko postajo
Zgradimo vremensko postajo
Zgradimo vremensko postajo
Zgradimo vremensko postajo
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

Zaključne misli
Zaključne 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: