Hej tamo! Kao dobavljač LCD ekrana 20x4, često me pitaju kako da prikažem temperaturu na ovim elegantnim malim ekranima. Dakle, mislio sam da sastavim ovaj blog post da vas provedem kroz cijeli proces.


Prvo, hajde da pričamo malo o LCD ekranu veličine 20x4. Odličan je izbor za mnoge projekte, posebno kada trebate pokazati pristojnu količinu informacija. "20x4" znači da ima 20 znakova po redu i ukupno 4 reda. To vam daje dovoljno prostora za prikaz ne samo temperature već i nekih dodatnih detalja kao što su jedinice (Celzijus ili Farenhajt), a možda i vremenska oznaka.
Sada, prije nego što zaronimo u tehničke stvari, hajde da na brzinu pomenemo neke druge LCD ekrane koji bi vas također mogli zanimati. Ako tražite nešto malo manje, imamo16x2 lcd displej. To je klasičan, sa 16 znakova po redu i 2 reda. Onda je tu20x2 LCD ekran, što vam daje malo veću širinu, ali i dalje samo 2 reda. A ako želite malo više visine,16 x 4 lcd displejje solidna opcija.
U redu, vratimo se na 20x4 LCD i prikaz temperature. Prvo što će vam trebati je senzor temperature. Ima ih na tone, ali popularan je DHT11 ili DHT22. Ovi senzori su relativno jednostavni za upotrebu i mogu vam dati tačna očitavanja temperature.
Kada dobijete senzor, moraćete da ga povežete sa mikrokontrolerom. Pretpostavljam da za ovaj primjer koristite Arduino, ali opći koncepti se primjenjuju i na druge mikrokontrolere.
Povezivanje temperaturnog senzora na Arduino
- Snaga: Povežite VCC pin DHT senzora na 5V pin na Arduinu. Ovo osigurava snagu koja je senzoru potrebna za rad.
- Ground: Povežite GND pin senzora na GND pin na Arduinu. Ovo dovršava električni krug.
- Podaci: Povežite podatkovni pin senzora na jedan od digitalnih pinova na Arduinu. Recimo da ga povežemo na pin 2.
Povezivanje 20x4 LCD-a na Arduino
- Snaga: Povežite VSS pin LCD-a na GND i VDD pin na 5V.
- Kontrast: Povežite VO pin na potenciometar. Ovo vam omogućava da podesite kontrast ekrana tako da jasno vidite znakove.
- Control Pins: Povežite RS pin na digitalni pin 12, EN pin na digitalni pin 11, a pinove D4 - D7 na digitalne pinove 5 - 8. Ovi pinovi se koriste za slanje komandi i podataka na LCD.
Pisanje koda
Sada kada je sve povezano, vrijeme je za pisanje koda. Evo osnovnog primjera:
#include <LiquidCrystal.h> #include <DHT.h> // Inicijaliziraj LCD biblioteku s brojevima pinova sučelja LiquidCrystal lcd(12, 11, 5, 6, 7, 8); // Inicijaliziraj DHT senzor #define DHTPIN 2 #define DHTTYPE DHT11 DHT dht(DHTPIN, DHTTYPE); void setup() { // Podesite broj kolona i redova LCD-a: lcd.begin(20, 4); // Pokreni DHT senzor dht.begin(); } void loop() { // Očitavanje temperature ili vlažnosti traje oko 250 milisekundi! // Očitavanja senzora također mogu biti 'stara' do 2 sekunde (to je vrlo spor senzor) float h = dht.readHumidity(); float t = dht.readTemperature(); // Provjerite je li neko čitanje neuspješno i izađite ranije (da pokušate ponovo). if (isnan(h) || isnan(t)) { lcd.setCursor(0, 0); lcd.print("Neuspjelo čitanje sa DHT senzora!"); povratak; } // Prikaz temperature na LCD lcd.setCursor(0, 0); lcd.print("Temperatura: "); lcd.print(t); lcd.print("C"); kašnjenje (2000); }
Hajde da raščlanimo šta se dešava u ovom kodu:
- Biblioteke: Uključujemo
LiquidCrystalbiblioteka za kontrolu LCD-a iDHTbiblioteka za očitavanje temperaturnog senzora. - Inicijalizacija: U
setup()funkciju, inicijaliziramo LCD s tačnim brojem kolona i redova (20x4). Također pokrećemo DHT senzor. - Čitanje senzora: U
petlja()funkciju, očitavamo vlažnost i temperaturu sa DHT senzora. Ako su očitanja nevažeća, prikazujemo poruku o grešci na LCD-u. - Prikaz temperature: Ako su očitanja ispravna, kursor postavljamo na početak prvog reda na LCD-u, ispisujemo tekst "Temperatura:", nakon čega slijedi vrijednost temperature i jedinica "C".
- Kašnjenje: Dodamo odgodu od 2 sekunde prije ponovnog očitavanja senzora. Ovo senzoru daje dovoljno vremena da izvrši tačna očitavanja.
Dodatna razmatranja
- Unit Conversion: Ako želite prikazati temperaturu u Farenhajtu umjesto u Celzijusima, možete koristiti sljedeću formulu:
t = dht.readTemperature(true);Theistinaparametar govori oreadTemperature()funkcija za vraćanje temperature u Farenhajtima. - Error Handling: U kodu iznad samo prikazujemo poruku o grešci ako su očitanja senzora nevažeća. Možete dodati sofisticiranije rukovanje greškama, poput pokušaja ponovnog očitavanja senzora nekoliko puta prije nego što odustanete.
- Display Formatting: Možete se poigrati sa formatiranjem ekrana kako bi izgledao ljepše. Na primjer, možete dodati dopunu vrijednosti temperature tako da uvijek zauzima isti broj znakova.
Zaključak
I to je to! Sada znate kako prikazati vrijednost temperature na LCD zaslonu veličine 20x4 koristeći Arduino i DHT senzor. To je zabavan i koristan projekat koji se može proširiti na mnogo načina.
Ako ste zainteresirani za kupovinu 20x4 LCD ekrana ili bilo kojeg od naših drugih LCD proizvoda, voljeli bismo čuti od vas. Samo nam se obratite da započnete razgovor o vašim specifičnim potrebama. Tu smo da vam pomognemo da pronađete savršeno rešenje za prikaz za vaš projekat.
Reference
- Arduino dokumentacija
- List sa podacima o DHT senzoru
- LiquidCrystal Library Dokumentacija
