Ezek az LCD-k ideálisak kizárólag karakterek megjelenítésére. Egy 16×2 karakteres LCD például 32 ASCII karaktert képes megjeleníteni két sorban.
Az adapter középpontjában egy 8 bites I/O bővítő chip - PCF8574 - áll. Ez a chip alakítja át az Arduino I2C-adatokat az LCD-kijelzőhöz szükséges párhuzamos adatokká. A board tartalmaz egy apró trimpotot is, amellyel pontosan beállítható a kijelző kontrasztja. A boardon található egy jumper, amely a háttérvilágítás áramellátását biztosítja. A háttérvilágítás intenzitásának szabályozásához eltávolíthatja a jumper-t, és külső feszültséget kapcsolhat a „LED” feliratú pin-re.
Az I2C LCD kijelzőnek csak négy tűje van. A következő a pinout:
A GND egy földelt pin.
A VCC a tápellátás pinje. Csatlakoztasd az Arduino 5V-os kimenetéhez.
Az SDA az I2C adattüske.
Az SCL az I2C órajel pin.
BEKÖTÉS:
KÖNYVTÁR TELEPÍTÉSE
Telepítsd a LiquidCrystal_I2C könyvtárat! Ez a könyvtár lehetővé teszi az I2C kijelzők vezérlését a LiquidCrystal könyvtárhoz nagyon hasonló funkciók segítségével.
A könyvtár telepítéséhez navigálj a Sketch > Include Library > Manage Libraries... Sketch > Include Library > Manage Libraries menüpontra... Várd meg, amíg a Library Manager letölti a könyvtárindexet és frissíti a telepített könyvtárak listáját.
Szűrd a keresést a 'liquidcrystal' beírásával. Keresd meg a Marco Schwartz által készített LiquidCrystal I2C könyvtárat. Kattints rá erre a bejegyzésre, majd válaszd a Telepítés lehetőséget.
PÉLDAKÓD
Ezt a példát a Fájl > Példák > Vezeték > i2c_scanner menüpontban találod
File > Examples > Wire > i2c_scanner.
#include <Wire.h>
void setup() {
Wire.begin();
Serial.begin(9600);
while (!Serial); // Leonardo: wait for serial monitor
Serial.println("\nI2C Scanner");
}
void loop() {
int nDevices = 0;
Serial.println("Scanning...");
for (byte address = 1; address < 127; ++address) {
// The i2c_scanner uses the return value of
// the Write.endTransmisstion to see if
// a device did acknowledge to the address.
Wire.beginTransmission(address);
byte error = Wire.endTransmission();
if (error == 0) {
Serial.print("I2C device found at address 0x");
if (address < 16) {
Serial.print("0");
}
Serial.print(address, HEX);
Serial.println(" !");
++nDevices;
} else if (error == 4) {
Serial.print("Unknown error at address 0x");
if (address < 16) {
Serial.print("0");
}
Serial.println(address, HEX);
}
}
if (nDevices == 0) {
Serial.println("No I2C devices found\n");
} else {
Serial.println("done\n");
}
delay(5000); // Wait 5 seconds for next scan
}
Miután feltöltötted a kódot, indítsd el a soros monitort 9600 baud-on. Látni fogod az I2C LCD kijelző I2C címét, ezt írd fel mert a kódban szükség lesz rá!
// enter the I2C address and the dimensions of your LCD here
LiquidCrystal_I2C lcd(0x3F, 16, 2);
forrás: https://lastminuteengineers.com/i2c-lcd-arduino-tutorial/