Cuprins:

Stația meteo folosind un afișaj mare ST7920: 4 pași
Stația meteo folosind un afișaj mare ST7920: 4 pași

Video: Stația meteo folosind un afișaj mare ST7920: 4 pași

Video: Stația meteo folosind un afișaj mare ST7920: 4 pași
Video: Afisaj inteligent SVTC035WT (conectare cu Arduino) - 2 2024, Mai
Anonim
Stația meteo folosind un afișaj mare ST7920
Stația meteo folosind un afișaj mare ST7920
Stația meteo folosind un afișaj mare ST7920
Stația meteo folosind un afișaj mare ST7920
Stația meteo folosind un afișaj mare ST7920
Stația meteo folosind un afișaj mare ST7920

Dragi prieteni bun venit la un alt instructabil! În acest tutorial, vom arunca o primă privire la acest ecran LCD mare și vom construi un monitor de temperatură și umiditate cu el.

Întotdeauna am vrut să aflu un afișaj similar cu afișajul pe care îl folosește imprimanta mea 3D, deoarece este mare și ieftin, astfel încât poate fi foarte util pentru multe proiecte. După ce m-am uitat în jur, am descoperit că afișajul pe care îl folosește imprimanta mea este acesta. Un ecran mare de 3,2”cu driverul ST7920 și o rezoluție de 128x64 pixeli. Misto! După cum puteți vedea, este mult mai mare decât majoritatea ecranelor pe care le-am folosit până acum în proiectele noastre, deci va fi util în multe proiecte viitoare. Costă doar în jur de 6 USD!

O puteți obține aici →

Provizii

  1. Afișaj LCD ST7920 →
  2. Arduino Uno →
  3. Senzor DHT22 →
  4. Breadboard →
  5. Sârme →

Pasul 1: Conexiune cu Arduino

Conexiune cu Arduino
Conexiune cu Arduino
Conexiune cu Arduino
Conexiune cu Arduino
Conexiune cu Arduino
Conexiune cu Arduino

Să vedem acum cum să îl utilizați cu Arduino. Voi folosi astăzi un Arduino Uno, dar funcționează cu multe plăci Arduino.

Afișajul folosește interfața SPI pentru a comunica cu microcontrolerul, deci trebuie să-l conectăm la pinii SPI hardware ai plăcii Arduino.

După cum puteți vedea, afișajul are mulți pini de conectat, dar nu vă faceți griji, nu trebuie să conectăm toți acești pini, doar 9 dintre aceștia și doar 4 dintre aceștia la pinii digitali ai plăcii Arduino Uno.

Primul pin care este GND merge la Arduino GND. Al doilea pin, care este Vcc, merge la ieșirea Arduino 5V. Pinul RS merge la pinul digital 10. Pinul R / W merge la pinul digital 11. Pinul E merge la pinul digital 13. Pinul PSB merge la GND, pinul RST merge la pinul digital 8, BLA merge la ieșirea de 3,3V a Arduino iar pinul BLK merge la GND. Gata, ecranul nostru este gata de utilizare!

Ne putem face viața mai ușoară dacă conectăm toate pinii GND de pe ecran.

Pasul 2: Biblioteca pentru afișaj

Biblioteca pentru afișare
Biblioteca pentru afișare
Biblioteca pentru afișare
Biblioteca pentru afișare
Biblioteca pentru afișare
Biblioteca pentru afișare
Biblioteca pentru afișare
Biblioteca pentru afișare

Acum să vedem software-ul de care avem nevoie pentru a conduce acest afișaj.

Voi folosi biblioteca u8g pentru a conduce acest afișaj. În primul rând, să instalăm biblioteca. Deschidem ID-ul Arduino și din meniu selectăm Sketch → Include Library → Manage Libraries și căutăm biblioteca U8G2. O selectăm și apăsăm instalare! Gata, biblioteca noastră este gata de utilizare.

Acum să mergem la Fișier → Exemple și din exemplele furnizate împreună cu biblioteca să rulăm exemplul GraphicsText. Trebuie să facem o singură modificare schiței înainte de a o încărca pe tablă. Deoarece biblioteca U8G acceptă multe afișaje, trebuie să selectăm constructorul adecvat pentru afișajul nostru. Deci, căutăm codul pentru „ST7920” și dintre constructorii disponibili, selectăm să îl folosim pe cel HW_SPI. Decomentăm această linie astfel și suntem gata să încărcăm schița pe Arduino. După câteva secunde, schița este pornită.

Dacă nu puteți vedea nimic pe afișaj, trebuie să reglați contrastul afișajului folosind acest mic potențiometru situat în partea din spate a afișajului

Acum să urmărim schița demo pentru câteva secunde. După cum puteți vedea, acest exemplu de schiță demonstrează capacitățile bibliotecii și ale afișajului. Putem realiza unele animații interesante cu acest afișaj, este destul de capabil. De aceea este folosit în atât de multe imprimante 3D.

Pasul 3: Să construim o stație meteo

Să construim o stație meteo
Să construim o stație meteo
Să construim o stație meteo
Să construim o stație meteo
Să construim o stație meteo
Să construim o stație meteo
Să construim o stație meteo
Să construim o stație meteo

Să construim acum ceva util. Să conectăm un senzor de temperatură și umiditate DHT22 la Arduino. Avem nevoie doar de alimentare și de un fir de semnal pe care îl conectez la pinul digital 7. Pentru a face lucrurile mai ușoare, am folosit și o placă mică. Puteți găsi schema atașată aici.

După cum puteți vedea, proiectul funcționează bine și afișează temperatura și umiditatea în timp real.

Să aruncăm o privire rapidă asupra codului proiectului. Cu doar 60 de linii de cod, putem construi un proiect ca acesta! Cat de tare e asta! Tot ce trebuie să facem pentru a utiliza afișajul este să folosim acest constructor:

U8G2_ST7920_128X64_1_HW_SPI u8g2 (U8G2_R0, / * CS = * / 10, / * reset = * / 8);

inițializați afișajul în funcția de configurare:

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

și atunci tot ce facem este să desenăm cadrele și șirurile pentru temperatură și umiditate:

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

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

Ultimul pe care trebuie să-l facem este să citim temperatura și umiditatea din senzor și să afișăm citirea și pe ecran.

void readTemperature ()

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

Ca întotdeauna, puteți găsi codul proiectului atașat aici.

Pasul 4: Gânduri finale

Gânduri finale
Gânduri finale

Ca ultim gând, cred că acest afișaj este foarte util în proiectele în care avem nevoie de un afișaj mare și nu avem nevoie de culoare. Este ieftin și ușor de utilizat. Cred că o voi folosi în unele proiecte viitoare.

Mi-ar plăcea să vă spun părerea despre acest ecran. Ce fel de aplicații credeți că vor beneficia de un afișaj ca acesta? Vă mulțumim pentru ideile dvs. și pentru citirea acestui instructabil. Ne vedem data viitoare!

Recomandat: