Hallo
Ich habe das Problem das ich das GLcd (128 - 64 Controller BV 4611) nicht zum laufen bekomme. http://www.byvac.com/bv3/index.php?route=product/product&path=35_38&product_id=155
Habe mir die Librarie von ByVac Heruntergeladen und Installiert. Aber da ist keine Demo oder sonstwas dabei.
Auch die Suche im Netz war ohne großen Erfolg.
Was ich bis jetzt Geschaft habe ist es auf I2C zu Schalten.
Hat jemand einen sketch der das Grundprinzip dies Displays erklärt.
Wie z.b. Display Aufrufen , Text schreiben.
Hallo Uwe
Danke für den Link , aber die Seite kenne ich schon .
Die Links habe ich schon alle ausprobiert, aber ohne Erfolg.Es gehen nur Demonstration und Arduino Library .
Habe die Arduino Library in das Arduino Software reinkopiert. Die Library geht im Arduino aber bei der Demonstration
bekomme ich Fehlermeldungen.
Alternativ könnte das Display auch direkt an den Arduino angeschlossen werden. Für den KS0108 controller gibt es einige funktionsfähige Libs (openGLCD, U8glib). Allerdings werden dann recht viele Leitungen benötigt.
ba1083:
Hallo Uwe
Danke für den Link , aber die Seite kenne ich schon .
Die Links habe ich schon alle ausprobiert, aber ohne Erfolg.Es gehen nur Demonstration und Arduino Library .
Habe die Arduino Library in das Arduino Software reinkopiert. Die Library geht im Arduino aber bei der Demonstration
bekomme ich Fehlermeldungen.
Hallo Uwe
Die Fehlermeldung habe ich jetzt mit der neuen Libraries wegbekommen. (DANKE)
Aber da sind keine Beispiele dabei bzw wenn ich die Arduino Libraries BV4611 Runterlade bekomme ich die Arduino Libraries BV4613 zum Runterladen Angeboten. Da habe ich jetzt rausgefunden das die Arduino Libraries BV4611 und die Arduino Libraries BV4613 laut ByVAC gleich sind, stimmt das. Jetzt habe ich noch Rausgefunden das die Neuen GLCDs mit der Adresse angesprochen werden müßen, ist das korrekt.
Diesen Code habe ich noch im Netz gefunden, der bringt aber nur Fehlermeldungen.
Hallo
Nachdem ich jetzt seit Tagen das Glcd nicht zum Laufen bekomme,und nach Dutzenden Libraries die ich ausprobiert habe weis ich mir keinen Rat mehr. Bei den Alten Glcds habe ich es immer so wie in diesen Sketch gemacht.
#include <OneWire.h>
#include <DallasTemperature.h>
#include <Wire.h>
#include <LCDBV4512I2C.h>
LCDBV4512I2CClass lcd;
char buffer[5];
char SerBuf[25];
#define ONE_WIRE_BUS 9
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors_1(&oneWire);
void setup(void){
Serial.begin(9600);
sensors_1.begin();
Wire.begin();
lcd.BackLight(0); //Schalte die Beleuchtung aus
lcd.Cls();
delay(1000);
lcd.BackLight(1); //Schalte die Beleuchtung ein
}
void loop(void){
(sensors_1.requestTemperatures());
lcd.MiWriteXY("WARMWASSER", 0,0,1);
itoa(sensors_1.getTempCByIndex(0),buffer,10); //itoa wandelt den zahlenwert in Text um
lcd.MiWriteXY(buffer, 13,0,1); //die temperatur wird angezeigt
lcd.MiWriteXY("Grad", 16,0,1);
delay(1000);
}
Aber wenn ich jetzt die neue Librarie BV4611 von BYVAC Runterlade und in das Arduinoverzeichnis Kopiere
und Sketch umschreibe bekomme ich nur noch Fehlermeldungen:
#include <BV4613.h>
#include <Geometria.h>
#include <twi.h>
#include <Wire.h>
BV4613 lcd;
#include <OneWire.h>
#include <DallasTemperature.h>
char buffer[5];
char SerBuf[25];
#define ONE_WIRE_BUS 9
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors_1(&oneWire);
void setup(void){
Serial.begin(9600);
sensors_1.begin();
Wire.begin();
lcd.BackLight(0); //Schalte die Beleuchtung aus
lcd.Cls();
delay(1000);
lcd.BackLight(1); //Schalte die Beleuchtung ein
}
void loop(void){
(sensors_1.requestTemperatures());
lcd.MiWriteXY("WARMWASSER", 0,0,1);
itoa(sensors_1.getTempCByIndex(0),buffer,10); //itoa wandelt den zahlenwert in Text um
lcd.MiWriteXY(buffer, 13,0,1); //die temperatur wird angezeigt
lcd.MiWriteXY("Grad", 16,0,1);
delay(1000);
}
Wo bekomme ich die Schlagwörte für das GLCD bzw für den Controller raus.
Dieser BV4611 Expander scheint mir recht selten zu sein. Ich bin recht viel im englischen "Display" Subforum unterwegs und dort war das bisher (soweit ich mich erinnern kann) kein Thema. Die Lösung vom Nick Gammon ersetzt den BV4611 Expander komplett durch einen anderen Expander. Es handelt sich damit ebenfalls um eine properitäre Lösung. Immerhin meine ich mich zu erinnern, daß es zu dieser Lösung einen eigenen Thread gibt und Nick ist hier auch recht aktiv in den Foren und gibt sicher gerne (auf Englisch) Ratschläge.
Alternativ könnte man das Display auch ohne einen Expander betreiben. Der KS0108 ist einer klassischer Display Chip dessen Ansteuerung ca. 12 Leitungen benötigt, aber insgesamt mit Libraries gut versorgt ist.
Falls es Dir auf wenige Anschlußleitungen ankommt, wäre mene klare Empfehlung ein Display mit ST7920 zu kaufen. Wichtig: Das Display Modul sollte einen Pin namens "PSB" besitzen. Wenn man bei ebay.com nach "ST7920" sucht, findet man schon einige ab 8$. Wenn einen die Wartezeit (4-6 Wochen aus China) und die Überlastung der Zollämter nicht stört (das display für 8$ sollte normalerweise zollfrei sein), halte ich das für die beste Wahl, denn es werden nur drei Pins des Arduino benötigt.
Hallo Oliver
Bin in meiner Verzweiflung gestern zu Conrad Gefahren und habe mir 2 MCP23017 gekauft.
Zuhause Angekommen den alten Controller an der Stiftleiste Durchgesägt die Lötpäds vom
GLCD gereinigt , eine neue Stiftleise eingelötet .Dann auf das Breadbord gesteckt nach Schaltplan Verkabelt
und Beispielcode Geladen und siehe da das Glcd lief.
Daraufhin habe ich Angefangen meine alten Code umzuschreiben und die liefen dann auch.
Das einzige was mich noch Stört ist das er die Werte die er mit Itoa Umwandelt nicht wie den anderen
Text behandelt sonder umgedreht.
Ich meine:
andere Text Hintergrund Blau - Text Weis
itoa Text Hintergrung Weis- Text Blau
Das muß mit den true und false Zusammenhängen, wie er im Beispiel zeigt.
Da bin ich aber noch nicht dahintergekommen, wie man das Ändert.
Hallo
Was kann man dagegen machen , und noch eine Frage .
Habe jetzt mal aus Spaß ein GLCD 192 x 68 Drangehängt und Siehe da das geht auch aber es sind nur 2/3 des
Displays belegt. Woran liegt denn das .
Danke
Der KS0108 kann nur 64x64 Pixel bedienen. Auf einem 128x64 sind es dann zwei dieser Controller mit zwei CS Leitungen. Auf einem 192x64 (wohl nicht 68) sind es dann drei KS0108 Controller. Teilweise sind es dann drei CS Leitungen oder aber bestimmte Zustände von zwei CS Leitungen.
Hallo Oliver
Danke für den Tip.
Laut Datenblatt von dem Display 192 - 64 sind es CS1 und CS2.
Wäre halt schön gewesen wenn das so einfach gegangen wäre.
Aber was muß man da machen um die volle Displaygröße zu haben.
Habe nähmlich noch 2 gleiche Display 192 - 64 von BYVAC rumliegen ,
war einer meiner Fehlkäufe aus Unwissenheit.
Wollte mir mal eine Heizungsüberwachung bauen.
Danke Stefan
Hallo Oliver
Habe den CS1 und CS2 direkt auf Masse Gelegt , jetzt geht aber nur Feld 1 des Display.
Das sonst TOT war. Dann habe ich mal ein bisschen Rumgespielt und habe nur CS1 auf Masse
gelegt . Dann erschien der Code auf dem 1 Feld und 2 Feld und Feld 3 war TOT.
Dann habe nur CS2 auf Masse gelegt und der Code auf dem 1 Feld und 3 Feld und Feld 2 war TOT.
Wie meinst du das mit der Masse am Arduino , habe so gemacht das die CS1 und CS2 direkt am Arduino auf Masse
gelegt habe , ist das so richtig.
Danke Stefan
............................... Punke sind die Stiftleiste (Anschlusspins)
Genau:
CS1 = HIGH und CS2 = HIGH --> keines der 64x64 Bereiche geht
CS1 = LOW und CS2 = LOW --> ganz linker 64x64 Bereiche
CS1 = HIGH und CS2 = LOW --> mittlerer?
CS1 = LOW und CS2 = HIGH --> rechter?
Damit man alle Bereiche des Displays ansprechen kann, müssen also CS1 und CS2 vom Controller entsprechend geschaltet werden. Soweit ich weiss, sollte das mit openGLCD vomBill machbar sein. Auch U8glib sollte das im Prinzip können, habe das aber mangels Display noch nie ausprobiert.