English Click this button for the international website

16×2 LCD display op een Geekcreit UNO Arduino

Samen met de “Geekcreit UNO” Arduino-kloon kocht ik ook een blauw 16×2 LCD-display bij VNG Systems. Het Hitachi HD44780 compatible display is voorzien van een I2C seriële interfacemodule op de achterkant.

Door tegenstrijdige informatie op internet over deze combinatie kostte het enige moeite om dit schermpje aan de praat te krijgen samen met de Uno. Hier volgt de manier waarop het mij gelukt is, voor andere merken boards en displays kan de werkwijze natuurlijk verschillen.

Getest met:
Arduino IDE versie: 1:1.0.5+dfsg2-2
Linux Mint versie: 17.3 Cinnamon 64-bit
Geekcreit UNO revisie: onbekend

16x2 LCD display
16×2 LCD display
16x2 LCD display, achterkant met I2C -module
16×2 LCD display, achterkant met I2C -module

Alternatieve LCD-library installeren

Allereerst moet de standaard Arduino LCD-library vervangen worden door ‘new-liquidcrystal’, download deze hier: https://bitbucket.org/fmalpartida/new-liquidcrystal/downloads

In Linux Mint kun je hier de libraries-map vinden:
/usr/share/arduino/libraries/
Ga naar de libraries-map, hierin staat een map ‘LiquidCrystal’; verwijder of hernoem deze.

Kopieer de map ‘Newliquidcrystal’ (die je zojuist gedownload hebt) naar de libraries-map en hernoem deze naar ‘LiquidCrystal’.

Het display aansluiten op de Geekcreit UNO

Sluit het display als volgt op de Geekcreit UNO aan:

LCD display Geekcreit UNO board
GND GND
VCC 5V
SDA A4
SCL A5
Arduino Uno met16x2 Hitachi HD44780 LCD display en I2C module
Arduino Uno met16x2 Hitachi HD44780 LCD display en I2C module

Als dit gelukt is kun je de Geekcreit UNO op je computer aansluiten met de USB-kabel.

Het 16×2 LCD display aansturen vanuit een Arduino sketch

Start de Arduino IDE en kopieer onderstaande code naar de lege sketch:

/*
      Hello World! voor 16x2 LCD display op Geekcreit Uno
 */
 
#include 
#include 

#define I2C_ADDR    0x3F // Het adres van het display
#define BACKLIGHT_PIN     3

#define En_pin  2
#define Rw_pin  1
#define Rs_pin  0
#define D4_pin  4
#define D5_pin  5
#define D6_pin  6
#define D7_pin  7

LiquidCrystal_I2C	lcd(I2C_ADDR,En_pin,Rw_pin,Rs_pin,D4_pin,D5_pin,D6_pin,D7_pin);

void setup()
{
  lcd.begin (16,2); // 16x2 display
  
  lcd.setBacklightPin(BACKLIGHT_PIN,POSITIVE); // Backlight aan
  lcd.setBacklight(HIGH);
}

void loop()
{
  lcd.clear ();
  lcd.print("Hello World!");  
  delay(3000);
  
  lcd.clear ();
  lcd.print("1234567890ABCDEF");
  lcd.setCursor (0,1);
  lcd.print("GHIJKLMNOPQRSTUV"); 
  delay(3000);
}

Deze voorbeeldsketch is ook beschikbaar op GitHub: https://github.com/oneguyoneblog/arduino-16×2-lcd

16x4 LCD display: Hello World!
16×4 LCD display: Hello World!

Voeg een reactie toe

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *