Meteorološka stanica koristi veliki ekran ST7920: 4 koraka
Meteorološka stanica koristi veliki ekran ST7920: 4 koraka
Anonim
Meteorološka stanica koristi veliki ekran ST7920
Meteorološka stanica koristi veliki ekran ST7920
Meteorološka stanica koristi veliki ekran ST7920
Meteorološka stanica koristi veliki ekran ST7920
Meteorološka stanica koristi veliki ekran ST7920
Meteorološka stanica koristi veliki ekran ST7920

Dragi prijatelji, dobrodošli na još jedan Instructable! U ovom vodiču ćemo prvi put pogledati ovaj veliki LCD ekran i sa njim ćemo napraviti monitor za temperaturu i vlagu.

Uvijek sam želio pronaći ekran sličan ekranu koji koristi moj 3D pisač jer je velik i jeftin pa može biti vrlo koristan za mnoge projekte. Nakon što sam razgledao, otkrio sam da je ovo ekran koji koristi moj štampač. Veliki ekran od 3,2 inča sa upravljačkim programom ST7920 i rezolucijom 128x64 piksela. Cool! Kao što vidite, mnogo je veći od većine ekrana koje smo do sada koristili u našim projektima, pa će biti koristan u mnogim budućim projektima. Košta samo oko 6 USD!

Možete ga preuzeti ovdje →

Supplies

  1. LCD ekran ST7920 →
  2. Arduino Uno →
  3. Senzor DHT22 →
  4. Oglasna ploča →
  5. Žice →

Korak 1: Povezivanje s Arduinom

Veza sa Arduinom
Veza sa Arduinom
Veza sa Arduinom
Veza sa Arduinom
Veza sa Arduinom
Veza sa Arduinom

Pogledajmo sada kako ga koristiti s Arduinom. Danas ću koristiti Arduino Uno, ali radi s mnogim Arduino pločama.

Zaslon koristi SPI sučelje za komunikaciju s mikrokontrolerom pa ga moramo spojiti na hardverske SPI pinove Arduino ploče.

Kao što vidite, zaslon ima mnogo pinova za povezivanje, ali ne brinite da ne moramo povezati sve ove pinove, samo njih 9, a samo 4 od njih na digitalne pinove Arduino Uno ploče.

Prvi pin koji je GND ide Arduino GND -u. Drugi pin, Vcc, ide na Arduino 5V izlaz. RS pin ide na digitalni pin 10. R/W pin ide na digitalni pin 11. E pin ide na digitalni pin 13. PSB pin ide na GND, RST pin ide na digitalni pin 8, BLA ide na 3.3V izlaz Arduina a BLK pin ide u GND. To je to, naš ekran je spreman za upotrebu!

Možemo si olakšati život ako zajedno spojimo sve GND pinove ekrana.

Korak 2: Biblioteka za ekran

Biblioteka za prikaz
Biblioteka za prikaz
Biblioteka za prikaz
Biblioteka za prikaz
Biblioteka za prikaz
Biblioteka za prikaz
Biblioteka za prikaz
Biblioteka za prikaz

Sada da vidimo softver koji nam je potreban za pokretanje ovog ekrana.

Koristit ću u8g biblioteku za upravljanje ovim ekranom. Prije svega, instalirajmo biblioteku. Otvaramo Arduino IDE i na izborniku odabiremo Sketch → Include Library → Manage Libraries i tražimo U8G2 biblioteku. Mi ga odabiremo i pritisnemo install! To je to, naša biblioteka je spremna za upotrebu.

Sada idemo na Datoteka → Primjeri i iz primjera koji smo dobili s bibliotekom pokrenimo primjer GraphicsText. Potrebno je samo napraviti jednu promjenu skice prije nego što je postavite na ploču. S obzirom da U8G biblioteka podržava mnoge zaslone, moramo odabrati odgovarajući konstruktor za naš prikaz. Stoga pretražujemo kôd za „ST7920“i od dostupnih konstruktora odabiremo korištenje HW_SPI. Ovako komentiramo ovu liniju i spremni smo za postavljanje skice na Arduino. Nakon nekoliko sekundi skica je pokrenuta.

Ako ništa ne vidite na ekranu, morate podesiti kontrast ekrana pomoću ovog malog potenciometra koji se nalazi na stražnjoj strani ekrana

Pogledajmo sada demo skicu nekoliko sekundi. Kao što vidite, ovaj primjer skice demonstrira mogućnosti biblioteke i prikaza. S ovim zaslonom možemo postići neke super animacije, prilično je sposoban. Zato se koristi u mnogim 3D štampačima.

Korak 3: Izgradimo meteorološku stanicu

Izgradimo meteorološku stanicu
Izgradimo meteorološku stanicu
Izgradimo meteorološku stanicu
Izgradimo meteorološku stanicu
Izgradimo meteorološku stanicu
Izgradimo meteorološku stanicu
Izgradimo meteorološku stanicu
Izgradimo meteorološku stanicu

Izgradimo sada nešto korisno. Spojimo DHT22 osjetnik temperature i vlažnosti na Arduino. Potrebno nam je samo napajanje i signalna žica koju povezujem na digitalni pin 7. Da bih olakšao stvari, upotrijebio sam i malu ploču s pločama. Shematski dijagram možete pronaći ovdje.

Kao što vidite, projekt radi dobro i prikazuje temperaturu i vlažnost u stvarnom vremenu.

Pogledajmo sada kôd projekta. Sa samo 60 linija koda, možemo izgraditi ovakav projekt! Kako je to super! Sve što trebamo učiniti za korištenje zaslona je korištenje ovog konstruktora:

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

inicijalizirajte prikaz u funkciji postavljanja:

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

i onda sve što radimo je da nacrtamo okvire i nizove za temperaturu i vlažnost:

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

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

Zadnje što moramo učiniti je očitati temperaturu i vlažnost sa senzora i prikazati očitanje na ekranu.

void readTemperature ()

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

Kao i uvijek, ovdje možete pronaći kôd projekta.

Korak 4: Završne misli

Završne misli
Završne misli

Za kraj, mislim da je ovaj ekran vrlo koristan u projektima gdje nam je potreban veliki zaslon, a ne trebaju nam boje. Jeftin je i jednostavan za upotrebu. Mislim da ću ga koristiti u nekim budućim projektima.

Volio bih znati vaše mišljenje o ovom ekranu. Šta mislite, kakve aplikacije će imati koristi od prikaza poput ovog? Hvala vam na vašim idejama i čitanju ovog uputstva. Vidimo se sledeći put!