LCD uitbreiden met I2C-interface
Als je een standaard LCD (LC-display) wilt aansluiten op een Arduino of Raspberry Pi dan heb je al gauw een hele bos aansluitdraden (minimaal 6) nodig. Ik gebruik een klein printje om het aantal draden terug te brengen tot 2.
Met een simpel printje (breakout-board) kan ik elk LCD dat ik in m'n rommelhok heb liggen uitbreiden met een I2C-bus.
Het printje is feitelijk een shield voor op LCD's. Ik soldeer het achter op het LCD (het past op elk standaard LCD, je steekt het er zo in) en dan hou ik 2 I2C-aansluitingen en 2 voedingspanningaansluitingen over (dus in totaal 4 draden).
Extra handig: er zit een potmeter op het printje waarmee je het contrast van je LCD kunt regelen.
De draden sluit ik aan op de Arduino UNO:
+5V op de +5V van de Arduino
SDA op pen A4 of SDA-pen van de Arduino
SCL op pen A5 of SCL-pen van de Arduino
GND aan een GND-pen van de Arduino.
Dat mijn oude LCD nu een echt nieuwerwets I2C-LCD is geworden bewijst de code. Ik programmeer hem nu met de standaard I2C-library van de Arduino:
// I2C-Shield-demo
// (C) 2013 Hackerstore
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// Het shield zit op adres 0x20:
LiquidCrystal_I2C lcd(0x20,16,2);
void setup() {
lcd.init();
lcd.backlight();
lcd.clear();
lcd.print("Maak van elk LCD");
lcd.setCursor(0,1);
lcd.print("....een I2C-LCD!");
}
void loop() {
}
Zie de
Webshop voor de prijs van dit shield.