AdSense

Montag, 7. Oktober 2013

LCD Display mit Arduino / ATmega

(English version) Ich habe mir dieses LCD-Modul gekauft und diesen I2C-Controller dafür. In diesem Post werde ich erklären, wie man nun Text auf das Display schreiben kann. Zuerst benötigt man die LiquidCrystal_I2C Library von hier. (Ich habe einfach die neueste Version genommen). Nun kann man auch schon direkt in der Arduino-Entwicklungsumgebung anfangen. Zuerst die Includes:

#include <Wire.h>
#include <LCD.h>
#include <LiquidCrystal_I2C.h>

Als nächstes müssen einige Sachen definiert werden, die in der Library nicht ganz für das LCD-Modul passen:

#define I2C_ADDR    0x20

#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

#define  LED_OFF  1
#define  LED_ON  0

Nun muss das Display definiert werden:

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

Als nächstes fängt man in der setup()-Funktion an. Zuerst sagt man dem Programm um was für ein Display es sich handelt (also die Größe, ich benutze ein 20 x 4 Zeichen Display).

  lcd.begin (20,4);
  lcd.setBacklightPin(BACKLIGHT_PIN,POSITIVE);
  lcd.setBacklight(LED_ON);

Den Rest benötigt man, damit man mit lcd.backlight(); die Beleuchtung anschalten kann. Danach wird das LCD-Display resettet:

  lcd.clear();
  delay(1000);
  lcd.home();

Nun kann man Sachen auf das Display schreiben. Das geht so:

  lcd.print("Hello, world!");

Um den Cursor an eine Stelle zu setzen macht man folgendes:

  lcd.setCursor(5,1);

Damit sollten die grundsätzlichen Funktionen geklärt sein. Um alles zu löschen ruft man einfach lcd.clear(); auf.

Noch ein kleiner Hinweis, dieses Problem bereitete mir am Anfang viel Kopfzerbrechen: Programmiert man einen ATmega und steckt ihn dann direkt in ein Steckbrett, so funktioniert meistens gar nichts, der ATmega braucht einen Reset, nachdem er im Steckbrett steckt. Das liegt vermutlich daran, dass der ATmega schon losläuft auch wenn nur ein paar Pins mit dem Steckbrett verbunden sind.

Keine Kommentare:

Kommentar veröffentlichen