Hello World Beispiel auf einem LCD-Display mit Arduino

Hello World auf einem I2C LCD-Display

Für dieses Projekt basiererend auf unserem Arduino Starterkit benötigen wir folgende Komponenten:

 

Benötigte Software:

Anschließen

Das Anschließen des Displays erfolgt über einen TWI / I2C Controller, der in unserem Starterkit bereits fest an den 16 Pins des Displays verlötet ist. Die beiden großen Vorteile des Controllers sind das integrierte Potentiometer und die Reduzierung des Verkabelungsaufwands auf nur 4 Anschlüsse:

  1. GND zu GND (schwarzes Kabel)
  2. VCC zu +5V  (rotes Kabel)
  3. SDA zu A4 (graues Kabel)
  4. SCL zu A5 (violettes Kabel)

Beim Arduino UNO R3 bzw. allen Microcontrollern mit ATMega328 Chip sind die Pins A4 und A5 direkt mit dem I2C-Bus verbunden (SDA und SCL).

HelloWorld_Steckplatine2

Das Display wird beleuchtet sobald der Arduino in Betrieb ist. Zum Einstellen des Displays muss man lediglich mit einem Schraubendreher am Potentiometer des Controllers drehen.

LCD-potentiometer

Anschluss am Arduino Mega2560

Beim Mega2560 Board gibt es extra ausgeführte Pins für den I2C Bus: Pin 20 und Pin 21 (SDA und SCL).

Mega2560

Programmieren

Der Sketch ist dank den eingebunden Bibliotheken sehr einfach gehalten, die meisten Funktionen sind im Sketch auf Deutsch kommentiert und können dadurch leicht angepasst werden.

Zum Hinzufügen der Bibliotheken laden wir die beiden .zip-Dateien (Links weiter oben) herunter und navigieren in der Arduino Software zu Sketches -> Bibliothek einbinden -> .ZIP-Bibliothek hinzufügen...

Bibliothek-hinzufuegen 

Bibliotheken sind Code-Sammlungen um Sensoren, Module oder Funktionen wesentlich einfacher programmieren zu können.
In unserem Beispiel vereinfacht die Wire Library die Kommunikation mit dem I2C Controller während die LiquidCrystal Library die einfache Anzeige von Zeichen auf dem Display ermöglicht, ohne einzelne Pixel ansprechen zu müssen.

Bei der I2C-Adresse muss man lediglich den verwendeten Chip beachten:

Ist das Modul mit einem PCF8574T Chip bestückt, lautet die Adressenlage 0x27 (für alle 3 Adress-Pins offen) bis 0x20 (alle 3 gebrückt).

Ein PCF8574AT Chip hat die  Adressenlage 0x3F bis 0x38.

Dies ist die zu verändernde Zeile:

#define I2C_ADDR    0x27 // Adresse des Displays hier eingeben

In diesem Beispiel werden drei Bibliotheken eingebunden die wir hinzugefügt haben:

Bibliotheken

Als nächsten laden wir den Hello World Sketch auf unser Arduino und schon können wir unser Display ansteuern.
arduino lcd

Schlagworte: Arduino, Anleitung

Die mit einem * markierten Felder sind Pflichtfelder.

  • I2C - Buskommunikation über A4 und A5 statt SCL und SDA?

    Hallo,
    ich kann leider nicht nachvollziehen wieso die SCL und SDA Pins des Display nicht mit den SCL und SDA Pins des Arduino Boards verbunden werden, sondern an A4 und A5.
    Und vorallem verstehe ich nicht wo die Analogen Pins zu SCL und SDA umkonfiguriert wurden?
    Kann ich jetzt trotzdem statt an A4 und A5 meinen Display an SCL und SDA anschließen und es funktioniert?
    Brauche ich keine Pullup-Widerstände in der Busleitung oder ist dies nur bei einer höheren Anzahl an Teilnehmern im Bus nötig?