LCD1602 este un modul de afișare a caracterelor 16x2 utilizat frecvent în proiectele electronice pentru a afișa text. Dispune de două linii, fiecare capabilă să prezinte 16 caractere și poate funcționa fie într -un mod paralel sau I2C. În acest tutorial, vă vom arăta cum să interfațăm LCD1602 cu un Arduino folosind ambele metode.
Ce vei avea nevoie
- Modul de afișare LCD1602 (cu sau fără un adaptor I2C)
- Arduino Board (de exemplu, Uno, Mega, Nano)
- 10kΩ potențiometru (pentru reglarea contrastului, dacă utilizați modul paralel)
- Tablă de pâine și jumper
- Un computer cu IDE Arduino instalat
Pasul 1: Înțelegerea pinilor LCD1602
LCD1602 PIN -uri de interfață paralelă
Ac | Funcţie |
---|---|
VSS | Sol |
VDD | Putere (5V) |
VO | Ajustarea contrastului |
Rs | Înregistrați selectați |
RW | Citiți/Scrieți (conectați-vă la GND pentru modul numai pentru scriere) |
E | Activați semnalul |
D0-D7 | Pini de date |
O | Backlight pozitiv (5V) |
K | Backlight Ground (GND) |
PIN -uri de adaptare I2C (dacă este prezent)
Ac | Funcţie |
---|---|
GND | Sol |
VCC | Putere (5V) |
SDA | Linia de date I2C |
SCL | Linia de ceas I2C |
Pasul 2: Cablarea LCD1602 către Arduino
Folosind interfață paralelă (fără I2C)
- Conectați pinii după cum urmează:
PIN LCD | Pinul Arduino |
---|---|
VSS | GND |
VDD | 5V |
VO | Pinul mediu de 10kΩ potențiometru (se termină la VCC și GND) |
Rs | Pinul 12 |
RW | GND |
E | Pinul 11 |
D4 | Pinul 5 |
D5 | Pinul 4 |
D6 | Pinul 3 |
D7 | Pin 2 |
O | 5V |
K | GND |
Folosind adaptorul I2C
- Conectați pinii după cum urmează:
I2C PIN | Pinul Arduino |
---|---|
GND | GND |
VCC | 5V |
SDA | A4 |
SCL | A5 |
Nota: Verificați PINOUT -ul I2C al tabloului Arduino dacă nu utilizați un UNO.
Pasul 3: Instalați biblioteca necesară
Pentru a utiliza LCD1602, veți avea nevoie de biblioteca LiquidCrystal sau LiquidCrystal_I2C.
Instalați biblioteca LiquidCrystal (modul paralel)
Biblioteca Liquidcrystal este preinstalată cu IDE Arduino. Nu sunt necesare pași suplimentari.
Instalați biblioteca lichidcrystal_i2c (modul I2C)
- Deschideți IDE Arduino.
- Du -te la Schiţa > Include biblioteca > Gestionați bibliotecile.
- Căutați „lichidcrystal_i2c” și faceți clic pe Instala.
Pasul 4: Încărcați codul
Cod de interfață paralel
#include <LiquidCrystal.h>
// Initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
lcd.begin(16, 2); // Set up the LCD's number of columns and rows
lcd.print("Hello, Arduino!"); // Print a message to the LCD
}
void loop() {
// Nothing to do here
}
Cod de interfață I2C
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// Initialize the library with the I2C address (typically 0x27 or 0x3F)
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
lcd.init(); // Initialize the LCD
lcd.backlight(); // Turn on the backlight
lcd.print("Hello, Arduino!"); // Print a message to the LCD
}
void loop() {
// Nothing to do here
}
Nota: Dacă adresa I2C (0x27) nu funcționează, utilizați o schiță a scanerului I2C pentru a găsi adresa corectă.
Pasul 5: Testați configurarea
- Conectați Arduino la computer prin USB.
- Deschideți IDE Arduino și selectați corect Bord şi Port sub Instrumente meniu.
- Încărcați codul la Arduino făcând clic pe Încărcați.
- LCD -ul ar trebui să afișeze "Bună ziua, Arduino!"
Depanare
- Fără afișare: Verificați cablarea și asigurați -vă că potențiometrul este reglat pentru contrast.
- Text îngrozitor: Verificați dacă pinii corecți și adresa I2C sunt definite în cod.
- Lumina de fundal: Asigurați -vă că pinii de iluminat de fundal (A și K) sunt conectate corespunzător.
Aplicații ale LCD1602
- Interfețe de utilizator pentru dispozitive DIY
- Afișaje de înregistrare a datelor
- Ceasuri și cronometre în timp real
- Monitorizarea stării senzorului
Concluzie
Ați interfațat cu succes afișajul LCD1602 cu Arduino. Indiferent dacă utilizați interfața paralelă sau adaptorul I2C, acest afișaj este un instrument versatil pentru adăugarea de ieșire vizuală la proiectele dvs. Încercați să experimentați cu mesaje personalizate, animații sau integrare a senzorilor pentru aplicații mai avansate!