Arduino - LCD I2C
In deze Arduino LCD I2C tutorial leert u hoe u een LCD I2C (Liquid Crystal Display) aansluit op een Arduino-board. LCD’s zijn zeer populair en worden veel gebruikt in elektronica projecten voor het weergeven van informatie. Er zijn diverse typen LCD’s. In deze handleiding nemen we LCD 16x2 (16 kolommen en 2 rijen) als voorbeeld. Andere LCD’s zijn vergelijkbaar.
Hardware Benodigdheden
Of u kunt de volgende kits kopen:
| 1 | × | DIYables Sensorkit (30 sensoren/displays) | |
| 1 | × | DIYables Sensorkit (18 sensoren/displays) |
Over LCD I2C 16x2
In de vorige tutorial hebben we geleerd hoe een standaard LCD te gebruiken. Echter is de bekabeling tussen Arduino en een standaard LCD vaak complex. Daarom is de LCD I2C ontwikkeld om deze bekabeling te vereenvoudigen. In feite bestaat een LCD I2C uit een standaard LCD, een I2C-module en een potentiometer.
Pinout
LCD I2C gebruikt de I2C interface, waardoor het vier pinnen heeft:
- GND pin: moet verbonden worden met GND (0V).
- VCC pin: de voedingsspanning voor het LCD, moet aangesloten worden op VCC (5V).
- SDA pin: I2C data signaal.
- SCL pin: I2C kloksignaal.

LCD Coördinaten
LCD I2C 16x2 heeft 16 kolommen en 2 rijen. De kolommen en rijen worden genummerd vanaf 0.

Aansluitschema

This image is created using Fritzing. Click to enlarge image
| LCD I2C | Arduino Uno, Nano | Arduino Mega |
|---|---|---|
| Vin | 5V | 5V |
| GND | GND | GND |
| SDA | A4 | 20 |
| SCL | A5 | 21 |
Hoe te programmeren voor LCD I2C
Dankzij de LiquidCrystal_I2C bibliotheek is het gebruik van het LCD eenvoudig.
- Voeg de bibliotheek toe:
- Declareer een LiquidCrystal_I2C object met het I2C-adres, het aantal kolommen en het aantal rijen:
- Initialiseer het LCD.
- Verplaats de cursor naar de gewenste positie (kolom_index, rij_index)
- Print een bericht op het LCD.
Er zijn nog veel meer mogelijkheden met het LCD (zie het onderdeel Meer met LCD)
※ Notiz:
Het I2C-adres van het LCD kan per fabrikant verschillen. In de code gebruiken we 0x27, zoals gespecificeerd door DIYables.
Arduino Code
Snel aan de slag
- Ga naar het Libraries icoon in de linkerzijbalk van de Arduino IDE.
- Zoek op "LiquidCrystal I2C" en vind de LiquidCrystal_I2C bibliotheek van Frank de Brabander.
- Klik op de Installeren knop om de LiquidCrystal_I2C bibliotheek te installeren.

- Kopieer bovenstaande code en open deze in de Arduino IDE.
- Klik op de Upload knop om de code naar de Arduino te uploaden.
- Bekijk het resultaat op het LCD.

- Probeer de tekst en positie aan te passen.
Video Tutorial
We overwegen het maken van videotutorials. Als u videotutorials belangrijk vindt, abonneer u dan op ons YouTube-kanaal om ons te motiveren de video's te maken.
Bekijk onze video-tutorial voor een visuele begeleiding bij dit project! De video biedt extra inzichten om het aansluiten en programmeren van het LCD I2C helder te maken.
Meer met LCD
Aangepaste Karakters
De functie lcd.print() ondersteunt alleen ASCII-tekens. Wilt u een speciaal teken of symbool weergeven (bijv. een hartje, boze vogel), dan kunt u de onderstaande teken-generator gebruiken.
Het LCD 16x2 kan 32 tekens weergeven (2 rijen met 16 kolommen). Elk teken bestaat uit 40 pixels (8 rijen en 5 kolommen).
De teken-generator stelt een teken (40 pixels) voor. U hoeft alleen de volgende stappen te doen:
Resultaat op LCD:

Meerdere aangepaste karakters
We kunnen tot 8 aangepaste karakters maken (genummerd van 0 tot 7). Het onderstaande voorbeeld maakt en toont drie karakters.
Resultaat op LCD:

Samenvatting: hoe gebruikt u aangepaste karakters op LCD
- Gebruik de teken-generator hierboven om de binaire code voor het aangepaste teken te maken.
- Declareer de binaire code voor het aangepaste teken (kopieer uit bovenstaande stap)
- Maak het aangepaste karakter en ken het toe aan een indexwaarde (0 tot 7) in de setup() functie
- Print het aangepaste teken op het LCD, wanneer dan ook (in setup() of loop() functie)
Overige functies
Voeg onderstaande functies één voor één toe aan de loop() functie. Voeg na elke functie een delay(5000) toe.
- Wis het LCD scherm
- Verplaats de cursor naar linksboven op het LCD
- Verplaats de cursor naar een positie (kolom, rij)
- Toon de LCD cursor
- Verberg de LCD cursor
- Toon een knipperende LCD cursor
- Zet de knipperende LCD cursor uit
- En meer functies zijn te vinden in de LiquidCrystal Bibliotheek Referentie
Daag uzelf uit
Gebruik het LCD om één van de volgende projecten uit te voeren:
- Verstuur tekst vanaf PC (via Serial Monitor) en toon deze op het LCD. Tip: Zie Hoe verstuur je data van PC naar Arduino
- Toon de ingedrukte toets van een keypad op het LCD. Tip: Zie Arduino - Keypad
Problemen oplossen met LCD I2C
Als er geen tekst wordt weergegeven op het LCD I2C, controleer dan het volgende:
- Pas de helderheid van het LCD aan door de potentiometer aan de achterkant van het LCD te draaien.
- Het I2C-adres van het LCD kan verschillen per fabrikant. Gewoonlijk is het standaard I2C-adres 0x27 of 0x3F. Probeer deze waarden één voor één uit. Lukt het nog niet, draai dan onderstaande code om het I2C-adres te vinden.
Resultaat in Serial Monitor: