Cum să afișați o citire a senzorului pe un afișaj LCD 16x2
În calitate de furnizor de ecrane LCD 16x2, întâlnesc adesea clienți care sunt interesați să folosească afișajele noastre pentru a afișa citirile senzorilor. În această postare pe blog, vă voi ghida prin procesul de afișare a citirilor senzorului pe un LCD 16x2, de la înțelegerea componentelor de bază până la scrierea codului.
Înțelegerea elementelor de bază
Înainte de a începe, să înțelegem cele două componente principale implicate: senzorul și afișajul LCD 16x2.
Un senzor este un dispozitiv care detectează și răspunde la un anumit tip de intrare din mediul fizic. Intrarea poate fi lumină, căldură, mișcare, umiditate, presiune sau oricare dintre un număr mare de alte fenomene de mediu. Ieșirea este, în general, un semnal care este convertit într-un afișaj care poate fi citit de om de către o unitate de afișare precum LCD-ul nostru 16x2.


Un afișaj LCD 16x2, după cum sugerează și numele, poate afișa 16 caractere pe linie și are 2 astfel de linii. Este o alegere populară pentru multe proiecte datorită simplității, costului redus și ușurinței de utilizare.
Conexiune hardware
Primul pas este să conectați senzorul și afișajul LCD 16x2 la microcontroler. În scopul acestui ghid, vom presupune că utilizați un Arduino, care este o platformă electronică open-source folosită pe scară largă.
-
Conectați LCD-ul 16x2 la Arduino:
- VSS: Conectați-vă la GND pe Arduino.
- VDD: Conectați-vă la 5V pe Arduino.
- V0: Conectați la pinul central al unui potențiometru. Ceilalți doi pini ai potențiometrului sunt conectați la 5V și GND. Acesta este folosit pentru a regla contrastul ecranului LCD.
- RS: Conectați-vă la un pin digital de pe Arduino (de exemplu, pinul 12).
- RW: Conectați-vă la GND. Acesta este folosit pentru a citi de pe LCD, dar vom scrie doar pe acesta, astfel încât să poată fi împământat.
- ŞI: Conectați-vă la un pin digital de pe Arduino (de exemplu, pinul 11).
- D4 - D7: Conectați-vă la pinii digitali de pe Arduino (de exemplu, pinii 5 - 8).
- O: Conectați-vă la 5V printr-un rezistor de 220 ohmi. Acesta este anodul de iluminare de fundal.
- K: Conectați-vă la GND. Acesta este catodul de iluminare de fundal.
-
Conectați senzorul la Arduino:
Conexiunea senzorului depinde de tipul acestuia. De exemplu, dacă utilizați un senzor de temperatură precum DHT11, va trebui să-i conectați VCC la 5V, GND la GND și pinul de date la un pin digital de pe Arduino (de exemplu, pinul 2).
Configurare software
Odată ce hardware-ul este conectat, este timpul să scrieți codul pentru a afișa citirea senzorului pe LCD.
Mai întâi, va trebui să instalați bibliotecile necesare. Pentru LCD-ul 16x2, puteți utiliza biblioteca LiquidCrystal, care vine preinstalată cu Arduino IDE. Dacă utilizați un senzor DHT11, va trebui să instalați biblioteca de senzori DHT.
#include <LiquidCrystal.h> #include <DHT.h> // Inițializați biblioteca LCD cu numerele pinilor de interfață LiquidCrystal lcd(12, 11, 5, 6, 7, 8); // Inițializați senzorul DHT. #define DHTPIN 2 #define DHTTYPE DHT11 DHT dht(DHTPIN, DHTTYPE); void setup() { // Configurați numărul de coloane și rânduri de pe ecranul LCD: lcd.begin(16, 2); dht.begin(); // Imprimă un mesaj pe LCD. lcd.print("Citirea senzorului"); } void loop() { // Așteptați câteva secunde între măsurători. întârziere (2000); // Citirea temperaturii sau umidității durează aproximativ 250 de milisecunde! // Citirile senzorului pot fi, de asemenea, „vechi” de până la 2 secunde (este un senzor foarte lent) float h = dht.readHumidity(); // Citiți temperatura ca Celsius (implicit) float t = dht.readTemperature(); // Verificați dacă vreo citire nu a reușit și ieșiți mai devreme (pentru a încerca din nou). if (isnan(h) || isnan(t)) { lcd.setCursor(0, 1); lcd.print("Citirea a eșuat!"); reveni; } // Şterge ecranul lcd.clear(); lcd.setCursor(0, 0); lcd.print("Temp: "); lcd.print(t); lcd.print ("C"); lcd.setCursor(0, 1); lcd.print("Umiditate: "); lcd.print(h); lcd.print(" %"); }
În acest cod, includem mai întâi bibliotecile necesare. Apoi, inițializam LCD-ul și senzorul DHT. Înînființat()funcția, configuram LCD-ul și pornim senzorul. Înbuclă()funcție, citim temperatura și umiditatea de la senzor la fiecare 2 secunde. Dacă citirea are succes, ștergem LCD-ul și afișăm valorile de temperatură și umiditate.
Depanare
Dacă întâmpinați probleme la afișarea citirii senzorului pe LCD, iată câteva probleme și soluții comune:
-
Fără afișare pe LCD:
- Verificați contrastul: Reglați potențiometrul conectat la pinul V0 până când puteți vedea caracterele LCD.
- Verificați sursa de alimentare: Asigurați-vă că ecranul LCD este conectat corect la 5V și GND.
- Verificați conexiunile pin: Dublu - verificați dacă toți pinii dintre LCD și Arduino sunt conectați corect.
-
Citiri incorecte ale senzorului:
- Verificați conexiunea senzorului: Asigurați-vă că senzorul este conectat corect la Arduino.
- Verificați biblioteca de senzori: Asigurați-vă că utilizați biblioteca corectă pentru senzorul dvs. și că este instalată corect.
Alte opțiuni de afișare LCD
Pe lângă ecranele noastre LCD 16x2, oferim și o varietate de alte produse de afișare, cum ar fiAfișaj VA LCD Character Cog Dot 128*64,Cog LCD 12840modul St7565r, șiModule de afișare grafică LCD și accesorii. Aceste produse oferă diferite caracteristici și specificații pentru a răspunde nevoilor dumneavoastră specifice.
Dacă sunteți interesat de produsele noastre sau aveți întrebări despre afișarea citirilor senzorului pe ecranele LCD, vă rugăm să nu ezitați să ne contactați pentru achiziții și negocieri ulterioare. Avem o echipă profesionistă pregătită să vă ajute în găsirea celor mai bune soluții pentru proiectele dumneavoastră.
Referințe
- Documentația Arduino: https://www.arduino.cc/en/Reference/HomePage
- Documentația bibliotecii senzorilor DHT
- Documentația bibliotecii LiquidCrystal