Ding:FabUino I2C LCD: Unterschied zwischen den Versionen

Aus FabLab Region Nürnberg
(FabUino I2C-LCD)
 
(23 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:


{{Infobox Ding
{{Infobox Ding
|Foto = FabUino I2C-LCD Visual 1.png
|Foto = I2C-LCD basic.png
|Status = rot
|Status = gruen
|Schöpfer = [[Benutzer:Udo|Udo]] ([[Benutzer Diskussion:Udo|Diskussion]])
|Schöpfer = [[Benutzer:Udo|Udo]] ([[Benutzer Diskussion:Udo|Diskussion]])
|Flattr = URL
}}
}}


<big>'''FabUino I2C-LCD'''</big>
<big>'''FabUino I2C-LCD'''</big>
<gallery>
<gallery>
Datei:FabUino I2C-LCD Visual 1.png|simulierte Darstellung
Datei:FabUino I2C-LCD Visual 1.png|simulierte Darstellung (THT Version)
Datei:FabUino I2C-LCD Visual 3.png|simulierte Darstellung
Datei:I2C-LCD basic.png|SMD Variante
Datei:I2C-LCD basic real.jpg|hier in Realität
Datei:I2C-LCD basic real 2.jpg|so sieht die Anzeige aus
Datei:I2C-LCD basic montiert.png|ein Montagebeispiel
Datei:I2c-LCD.jpg|Montage am LCD (einfach aufstecken)
</gallery>
</gallery>


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


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/


Technische Beschreibung und Include's : http://github.com/qistoph/LiquidCrystal_I2C
Die '''veraltete''' Bauanleitung: FabUino I2C-LCD Bauanleitung komplett.pdf
[[Datei:FabUino I2C-LCD Bauanleitung komplett.pdf|PDF]]<br />


Bauanleitung: FabUino I2C-LCD Bauanleitung komplett.pdf
==Downloads:==
[[Datei:FabUino I2C-LCD Bauanleitung komplett.pdf|PDF]]
Jetzt auch das aktuelle '''Eagle Layout in SMD''' und der Schaltplan komplett: [[Datei:I2C-LCD basic Eagle 7.6.0 Files.zip|ZIP-Datei]]<br />


==== '''Noch nicht geprüft / pre Prototype''' ====
'''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).<br />
'''Der Nachbau wird MINDESTENS 10-mal teurerer als ein fertiger Baustein aus China.'''
<br />
<br />
==Fehlerquellen: ==
Keine Anzeige?
Prüfe zuerst ob der Kontrast richtig eingestellt ist, mehr in Richtung Masse drehen.<br />
 
Prüfe ob der PCF 8574 Baustein antwortet, verwende den I2C Scanner (http://playground.arduino.cc/Main/I2cScanner)<br />
 
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:===
<pre>
// 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);
}
</pre>
 
====Die verwendbaren Kommandos:====
z.B. lcd.clear();
<pre>
###########################################
# 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
</pre>
 
[[Kategorie:Elektronik]]
[[Kategorie:Mikrocontroller]]

Aktuelle Version vom 18. Juni 2016, 15:20 Uhr

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