I2C-Lcd eigene Zeichen definieren?

Hallöle.
Mal wieder ein kleines Problemchen:

Der Monstertruck hat "nur" ein 16x2 LCD drin, dafür eines, was i2c spricht.
Um da Platz zu sparen, wollt ich mir einige eigene Symbole definieren, vorgegangen bin ich nach der Anleitung:

LiquidCrystal - Arduino Reference aber: es funktioniert nicht.
Anstelle meines selber definierten Zeichens werden an der Stelle lediglich drei waagerechte Striche angezeigt.

Jemand ne Ahnung, wieso?

Das Display ist das blaue von Sainsmart, mit der zugehörigen I2C-Erweiterung.
Auch ein zusätzliches einbinden der normalen LiquidCrystal.h (ich benutze ja die LiquidCrystal_I2C.h) bringts nicht...

Hast du es mit einem Standart-LCD ohne I²C ausprobiert? Ich glaube das die Funktion nicht mit I²C funktioniert.

Gruß

Nein-die I2C-Platine ist fest verlötet, und noch so ein Ding hab ich nicht....

Hallo,
probiere das einmal:

 byte TrendAuf[8] = // für einen Pfeil nach oben
{
  B00100,
  B01110,
  B10101,
  B00100,
  B00100,
  B00100,
  B00100,
  B00000
};


void setup()  
{
  
 lcd.createChar(2,TrendAuf);
 
} 

void loop() 

{
  
 lcd.setCursor(0, 0);
 lcd.write(2);
 
}

Gruß und Spaß
Andreas

Geht auch nicht- ich bekomme wieder nur die drei Striche übereinander... :frowning:

Hallo,
hat das LCD überhaupt einen Speicher für selbstdefinierte Zeichen?
Gruß und Spaß
Andreas

Is von Sainsmart- wie immer undokumentiert... :smiley:
Bisher (eben bis vorhin) hab ich keinerlei Unterschiede zu den üblichen Verdächtigen feststellen können.

Scherheinz:
Ich glaube das die Funktion nicht mit I²C funktioniert.

Hängt vielleicht von der Lib ab, aber an I2C liegt das sicher nicht.

Hab das Problem-zumindest ansatzweise, doch lösen können.

Man muss:

lcd.begin(16,2);
lcd.createChar(0,akkuVoll);

und nicht andersherum, wie in den meisten Anleitungen geschrieben wird!
Dann klappts-auch wenn ich momentan nicht das Zeichen auf dem Display hab, was da sein sollte-immerhin hab ich eins der selber definierten (der Rest scheint mal wieder Programmierer-Murks von mir zu sein).