Jump to content

[PHP] LCD 20x4 CustomCharacter


Recommended Posts

Hallo Zusammen,

ich nutze in meinem PHP Script Custom Chars um eigene Symbole auf dem Display anzuzeigen. In der Doku steht, dass man bis zu 8 eigene Symbole verwenden kann, welche von 0-7 Adressiert werden können. Leider Funktioniert bei mir das Symbol welches auf der 0 liegt nicht, hier wird nur Schrott ausgegeben. Index 1-7 funktionieren hervorragend, Index 8 ist scheinbar schon für das Yen-Zeichen reserviert.

Mein Programm sieht so aus:

//Haus Symbol
$CC[0] = 0b00000100;
$CC[1] = 0b00001010;
$CC[2] = 0b00010001;
$CC[3] = 0b00011111;
$CC[4] = 0b00010001;
$CC[5] = 0b00010001;
$CC[6] = 0b00011111;
$CC[7] = 0b00000000;
$lcd->setCustomCharacter(0,$CC);

$lcd->writeLine(0, 0, "\0");

 

Hat jemand eine Idee wo der Fehler liegen könnte?

Vielen Dank im Voraus!

MfG Marco

Link to comment
Share on other sites

Funktioniert bei mir grad so:

$lcd->setCustomCharacter(8,$CC);

$lcd->writeLine(0, 0, "\10");

bei Set verwende ich 8-15

bei writeline \10 - \17

 

ich bin leider blutiger Anfänger und bin mir nicht sicher ob ich das so lassen kann oder lieber abändern sollte :D

Lieben Dank

Link to comment
Share on other sites

Dass das bei dir so funktioniert liegt daran dass

 

a) du da gerade einen Bug im Plugin des LCD 20x4 Bricklets gefunden hast. 8 als index ist eigentlich nicht zulässig, der Bug führt aber dazu dass das als 0 interpretiert wird und damit den ersten Custom Character wählt.

 

b) in PHP "\10" als oktal interpretiert wird und damit das gleiche meint wie "\x08" nämlich ASCII Code 8. Auf diesem ASCII Code liegt der erste Custom Character.

 

Wie borg schon sagt können wir den ASCII Code 0 nicht nehmen, da der String-Ende bedeutet. Deswegen das Offset von 8 zwischen dem setCustomCharacter index (0-7) und den ASCII Codes (8-15) für die Custom Characters.

 

Du kannst also bei

 

$lcd->writeLine(0, 0, "\10");

 

bleiben, solltest aber doch

 

$lcd->setCustomCharacter(0,$CC);

 

nehmen, damit dass mit der korrigierten Version des Plugins dann auch noch funktioniert.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...