Ding:FabUino I2C LCD

Aus FabLab Nürnberg Wiki
Wechseln zu: Navigation, Suche
Foto
I2C-LCD basic.png
Basisdaten
Status funktionstüchtig
Schöpfer Udo (Diskussion)


FabUino I2C-LCD

Bauanleitung für ein Standard LCD zum Anschluss am FabUino im 4-Bit Modus über I2C oder auch als IIC / TWI bezeichnetes Interface

Eine sehr gute Anleitung und ein Video gibt es bei : https://brainy-bits.com/tutorials/connect-a-character-lcd-using-the-i2c-bus/

Die veraltete Bauanleitung: FabUino I2C-LCD Bauanleitung komplett.pdf Datei:FabUino I2C-LCD Bauanleitung komplett.pdf

Downloads:

Jetzt auch das aktuelle Eagle Layout in SMD und der Schaltplan komplett: Datei:I2C-LCD basic Eagle 7.6.0 Files.zip

NewLiquidCrystal library here: https://brainy-bits.com/wp-content/uploads/2015/02/New_LiquidCrystal_Library.zip

Um es gleich vorweg zu nehmen:

Finanziell lohnt der Nachbau nicht, da mittlerweile fertige Bausteine günstiger über EBay zu bekommen sind, als einzelne Bauteile (IC) oder die Platinen-Herstellung kostet (kleine Menge = hoher Preis).
Der Nachbau wird MINDESTENS 10-mal teurerer als ein fertiger Baustein aus China.

Fehlerquellen:

Keine Anzeige? Prüfe zuerst ob der Kontrast richtig eingestellt ist, mehr in Richtung Masse drehen.

Prüfe ob der PCF 8574 Baustein antwortet, verwende den I2C Scanner (http://playground.arduino.cc/Main/I2cScanner)

Sind die PullUp Widerstände auf der Platine? Sind noch andere PullUp Widerstände vorhanden, ggf. entfernen. 1x PullUp für jeweils SCL & SDA (a 10 kR) muss reichen!


Hier ein DEMO Code für die SMD Variante:

// Original Source von:  https://brainy-bits.com/tutorials/connect-a-character-lcd-using-the-i2c-bus/
// Hardware von Udo Grohmann
// Programmanpassung Udo Grohmann

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

#define I2C_ADDR    0x20  // PCF8574 T all adress bit solder-jumper set to LOW <<- Add your address here.
//#define I2C_ADDR  0x38  // PCF8574AT all adress bit solder-jumper set to LOW <<- Add your address here.
#define Rs_pin  6         //#define Rs_pin  0
#define Rw_pin  5         //#define Rw_pin  1
#define En_pin  4         //#define En_pin  2
#define BACKLIGHT_PIN 7   //#define BACKLIGHT_PIN 3
#define D4_pin  0         //#define D4_pin  4
#define D5_pin  1         //#define D5_pin  5
#define D6_pin  2         //#define D6_pin  6
#define D7_pin  3         //#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 (20,4); // <<-- our LCD is a 20x4, change for your LCD if needed

// LCD Backlight OFF
lcd.setBacklightPin(BACKLIGHT_PIN,POSITIVE);
lcd.setBacklight(LOW);


lcd.home (); // go home on LCD
lcd.print("Hallo Welt!");  
}

void loop()
{
  
  lcd.setCursor (0,1); // go to start of 2nd line
  lcd.print("www.brainy-bits.com");
  lcd.setCursor (0,2); // go to start of 4th line
  lcd.print("DevUNO I2C LCD AddOn");
  lcd.setCursor (0,3); // go to start of 4th line
  lcd.print("12.06.2016 17:45 Uhr");
  delay(500);
}

Die verwendbaren Kommandos:

z.B. lcd.clear();

###########################################
# Methods and Functions (KEYWORD2)
###########################################
begin                KEYWORD2
clear                KEYWORD2
home                 KEYWORD2
noDisplay            KEYWORD2
display              KEYWORD2
noBlink              KEYWORD2
blink                KEYWORD2
noCursor             KEYWORD2
cursor               KEYWORD2
scrollDisplayLeft    KEYWORD2
scrollDisplayRight   KEYWORD2
leftToRight          KEYWORD2
rightToLeft          KEYWORD2
moveCursorLeft       KEYWORD2
moveCursorRight      KEYWORD2
autoscroll           KEYWORD2
noAutoscroll         KEYWORD2
createChar           KEYWORD2
setCursor            KEYWORD2
print                KEYWORD2
write                KEYWORD2
println              KEYWORD2
backlight            KEYWORD2
noBacklight          KEYWORD2
on                   KEYWORD2
off                  KEYWORD2
setBacklightPin      KEYWORD2
setBacklight         KEYWORD2
###########################################
# Constants (LITERAL1)
###########################################
POSITIVE             LITERAL1
NEGATIVE             LITERAL1
BACKLIGHT_ON         LITERAL1
BACKLIGHT_OFF        LITERAL1