Een 16x2 LCD-displaymodule is een eenvoudig tekstdisplay om korte informatie in elektronische schakelingen weer te geven. Het kan waarden, berichten, menulabels en systeemstatus tonen zonder een grafisch scherm. Het werkt met parallelle of I2C-bedrading en is gebruikelijk in Arduino-projecten, meters, timers en bedieningspanelen. Dit artikel geeft informatie over bedrading, werking en installatie.

Wat is een 16x2 LCD-displaymodule?
Een 16x2 LCD-displaymodule is een tekstgebaseerd display dat wordt gebruikt om korte informatie in elektronische schakelingen weer te geven. Het is niet ontworpen voor volledige graphics zoals OLED- of TFT-schermen. In plaats daarvan is het het beste voor eenvoudige informatie zoals spanningsmetingen, temperatuurwaarden, timergegevens, systeemberichten en menulabels.
Elk teken wordt gevormd met een kleine puntmatrix, meestal 5x8 punten. Omdat het display eenvoudig, betaalbaar en ondersteund is, blijft het een veelgebruikte keuze voor doe-het-zelf elektronica, bedieningspanelen en embedded systemen.
16x2 LCD Display Module Specificaties
| Specificatie | Waarde |
|---|---|
| Weergaveformaat | 16 tekens × 2 regels |
| Karaktermatrix | 5 × 8 stippen |
| Totaal aantal pixels | 1280 pixels (32 tekens × elk 40 pixels) |
| Controller IC | HD44780U of compatibel |
| Bedrijfsspanning | 5V DC |
| Operationele Stroom | 1-3 mA (zonder achtergrondverlichting) |
| Achterlichtstroom | 120-200 mA |
| Bedrijfstemperatuur | 0°C tot +50°C |
| Communicatiemodi | 4-bit of 8-bit parallel |
| Totaal aantal pins | 16 kegels |
16x2 LCD Pin-out en pinfuncties

| Sr. No | Pin nr. | Pinnaam | Pin Type | Pinbeschrijving | Pinverbinding |
|---|---|---|---|---|---|
| 1 | Pin 1 | Ground | Bronpin | Dit is een aardpen van het LCD | Aangesloten op de aarde van het MCU/ Stroombron |
| 2 | Pin 2 | VCC | Bronpin | Dit is de voedingsspanningspin van het LCD | Aangesloten op de voedingspin van de stroombron |
| 3 | Pin 3 | V0/VEE | Bedieningspin | Past het contrast van het LCD aan. | Aangesloten op een variabele POT die 0-5V kan leveren |
| 4 | Pin 4 | Register Selecteer | Bedieningspin | Schakelt tussen commando-/dataregister | Verbonden met een MCU-pin en krijgt 0 of 1. |
| 0 -> Commandomodus | |||||
| 1-> Data Mode | |||||
| 5 | Pin 5 | Lezen/Schrijven | Bedieningspin | Schakelt het LCD tussen lees/schrijf | Verbonden met een MCU-pin en krijgt 0 of 1. |
| 0 -> Schrijfoperatie | |||||
| 1-> Lees Operatie | |||||
| 6 | Pin 6 | Enable | Bedieningspin | Moet hoog worden gehouden om de lees-/schrijfoperatie uit te voeren | Verbonden met het MCU en altijd hoog gehouden. |
| 7 | Pin 7-14 | Data Bits (0-7) | Data/Command Pin | Pins worden gebruikt om commando's of gegevens naar het LCD te sturen. | In 4-draads modus |
| Er zijn slechts 4 pinnen (0-3) aangesloten op het MCU | |||||
| In 8-draads modus | |||||
| Alle 8 pinnen (0-7) zijn verbonden met het MCU | |||||
| 8 | Pin 15 | LED Positief | LED-pin | Normale LED-achtige werking om het LCD te verlichten | Aangesloten op +5V |
| 9 | Pin 16 | LED-negatief | LED-pin | Normale LED-achtige werking om het LCD te verlichten dat is verbonden met GND. | Aangesloten op aarde |
Hoe werkt een 16x2 LCD-scherm?

Een 16x2 LCD ontvangt commando's en tekengegevens van een microcontroller. Commando's sturen acties zoals het schoonmaken van het scherm, het bewegen van de cursor en het aan- of uitzetten van het beeldscherm. Tekengegevens vertellen het LCD welke letters, cijfers of symbolen getoond moeten worden.
De RS-pin selecteert of het binnenkomende signaal een commando is of een weergavegegevens. De E-pin maakt de overdracht mogelijk. De datapinnen bevatten de daadwerkelijke informatie. De LCD-controller plaatst vervolgens de tekens op de juiste weergavepositie.
16x2 LCD bedradingmodi: 4-Bit, 8-bit en I2C

| Modus | Pinnen gebruikt voor data | Belangrijkste voordeel | Beperking | Het beste voor |
|---|---|---|---|---|
| 4-bit modus | D4, D5, D6, D7 | Redt GPIO-pinnen | Iets trager dan 8-bit modus | Arduino-projecten, eenvoudige menu's, sensordisplays |
| 8-bit modus | D0 naar D7 | Stuurt volledige byte tegelijk | Gebruikt meer GPIO-pinnen | Oudere systemen of ontwerpen met veel vrije pinnen |
| I2C-modus | SDA en SCL | Vermindert bedrading | Benodigt correct adres en bibliotheek | Compacte projecten en schonere bedrading |
Hoe sluit je een 16x2 LCD-scherm aan op de Arduino?

De meest voorkomende Arduino-verbinding gebruikt 4-bit modus. Deze methode gebruikt vier LCD-datapinnen en een paar bedieningspinnen.
| LCD-pin | Verbind met Arduino | Doel |
|---|---|---|
| VSS | GND | Ground |
| VDD | 5V | LCD-vermogen |
| V0 / VEE | Middelste pin van potentiometer | Contrastregeling |
| RS | Arduino digitale pin | Selecteert commando of data |
| RW | GND | Schrijfmodus |
| E | Arduino digitale pin | Signaal inschakelen |
| D4-D7 | Arduino digitale pinnen | Dataoverdracht |
| A / LED+ | 5V via weerstand, indien nodig | Backlight positief |
| K / LED- | GND | Achterlichtnegatief |
Voorbeeld Arduino-code
#include
// RS, E, D4, D5, D6, D7
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
lcd.begin(16, 2);
lcd.print ("16x2 LCD Ready");
lcd.setCursor(0, 1);
lcd.print ("Hallo Wereld");
}
void loop() {
}
Deze code initialiseert het LCD en print tekst af op beide rijen.
Hoe gebruik je een 16x2 LCD-scherm met een I2C-module?

Een I2C 16x2 LCD heeft een klein rugzakbord dat aan het scherm is bevestigd. Deze kaart zet de normale parallelle interface om in een tweedraads communicatie-interface met SDA en SCL.
De I2C-versie is handig wanneer het project beperkte microcontrollerpinnen heeft of schonere bedrading nodig heeft. Het heeft alleen VCC, GND, SDA en SCL nodig.
Basisvoorbeeld van I2C LCD-code
#include
#include
Veelvoorkomende I2C-adressen: 0x27 of 0x3F
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print( "I2C LCD Ready");
lcd.setCursor(0, 1);
lcd.print( "Adres: 0x27" );
}
void loop() {
}
Als het scherm niet reageert, gebruik dan een I2C-scanner om het juiste adres te vinden.
Parallel 16x2 LCD vs I2C 16x2 LCD

| Kenmerk | Parallel 16x2 LCD | I2C 16x2 LCD |
|---|---|---|
| Bedrading | Gebruikt meer draden | Gebruikt minder draden |
| GPIO-gebruik | Hoger | Lower |
| Code-opstelling | Gebruikt directe pinmapping | Gebruikt I2C-adres |
| Focus op probleemoplossing | Pinvolgorde, RS, E, datalijnen | Adres, SDA/SCL, bibliotheek |
| Leerwaarde | Beter om LCD-signalen te begrijpen | Beter voor snelle projectbouw |
| Kosten | Goedkoper | Meestal iets hoger |
| Beste gebruik | Directe controle en leren | Compacte bedrading en beperkte GPIO-projecten |
Veelvoorkomende problemen met 16x2 LCD en probleemoplossing
| Probleem | Mogelijke Oorzaak | Oplossing |
|---|---|---|
| Achtergrondverlichting gaat aan, maar er verschijnt geen tekst | Verkeerd contrast of mislukte initialisatie | Contrast aanpassen en code controleren |
| Zwarte dozen verschijnen | LCD heeft stroom maar is niet geïnitialiseerd | Controleer RS, E, datapinnen en bibliotheekinstellingen |
| Willekeurige personages verschijnen | Losse draden of verkeerde pinmapping | Controleer de volgorde van de bedrading en de code van pins opnieuw |
| Geen achtergrondverlichting | A/K-pinnen omgekeerd of geen backlight-toevoer | Controleer LED+ en LED- bedrading |
| I2C LCD niet gedetecteerd | Verkeerd adres of SDA/SCL-probleem | Gebruik een I2C-scanner |
| De tekst is te zwak | Slechte contrast of zwakke voedingsspanning | V0 instellen en vermogen controleren |
| Displayflikkeringen | Onstabiele stroom of herhaald schermwissen | Gebruik stabiele stroom en verminder de frequente clear()-aanroepen |
| Tentoonstellingen werken soms | Losse breadboardverbinding of zwakke soldeerverbinding | Beveilig bedrading en inspecteer solderen |
16x2 LCD-commando's en aangepaste tekens
Een 16x2 LCD ondersteunt commando's voor het bedienen van cursorpositie, het uitmaken van beelden, tekstbeweging en aangepaste tekens. Aangepaste tekens worden opgeslagen in CGRAM en kunnen worden gebruikt voor kleine pictogrammen zoals batterijsymbolen, pijlen, graadmarkeringen, signaalbalken of voortgangsblokken.
Eenvoudig voorbeeld van een aangepast personage
#include
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
byte batteryIcon[8] = {
B01110,
B11011,
B10001,
B10001,
B11111,
B11111,
B11111,
B00000
};
void setup() {
lcd.begin(16, 2);
lcd.createChar(0, batteryIcon);
lcd.setCursor(0, 0);
lcd.print ("Batterij: ");
lcd.write(byte(0));
}
void loop() {
}
Aangepaste tekens maken het scherm nuttiger voor eenvoudige gebruikersinterfaces zonder dat er een grafisch scherm nodig is.
16x2 LCD versus OLED, TFT, 7-segment en seriële schermen
| Beeldtype | Het beste voor | Voordeel | Beperking |
|---|---|---|---|
| 16x2 LCD | Tekst, cijfers en statusberichten | Goedkoop en gebruiksvriendelijk | Geen volledige graphics |
| I2C 16x2 LCD | Tekstweergave met minder draden | Eenvoudige bedrading | Heeft het juiste adres en bibliotheek nodig |
| OLED-scherm | Scherpe tekst en kleine grafische afbeeldingen | Hoog contrast en compacte grootte | Kleinere weergaveruimte in veel modules |
| TFT-display | Kleurinterface en graphics | Ondersteunt afbeeldingen en kleuren | Complexere code en bedrading |
| 7-segment display | Numerieke waarden | Zeer leesbaar voor cijfers | Slecht voor tekst |
| Seriële LCD | Eenvoudige microcontrollercommunicatie | Makkelijke controle | Vaak duurder |
Veelgestelde Vragen [FAQ]
Q1. Wanneer moet ik een parallel LCD gebruiken in plaats van een I2C LCD?
Gebruik een parallel LCD als je direct LCD-besturing wilt leren. Gebruik een I2C LCD als je minder draden nodig hebt en schonere bedrading wilt.
Q2. Waarom verschijnen zwarte vakjes op het LCD?
Zwarte dozen betekenen dat het LCD stroom heeft maar niet correct is geïnitialiseerd. Controleer de code, de bibliotheekindeling en de bedrading.
Q3. Wat doet de RS-pin?
De RS-pin selecteert of het LCD een commando ontvangt of gegevens weergeeft. Het helpt het LCD te weten of het het scherm moet bedienen of tekens moet tonen.
Q4. Waarom is de rechterwindpin vaak verbonden met aarde?
De meeste projecten schrijven alleen data naar het LCD, dus RW is aangesloten op aarde om het in schrijfmodus te houden. Dit bespaart ook één microcontroller-pin.
12,5 Q5. Waarom is een I2C-scanner nodig?
Een I2C-scanner helpt het juiste LCD-adres te vinden, zoals 0x27 of 0x3F. Als het adres verkeerd is, reageert het scherm mogelijk niet.