RP6 OLED mit Bascom

WerWolf

Mitglied
30. Dez. 2009
67
0
6
Heidenheim
Hallo alle zusammen,

habt ihr es schon mal geschafft, das Conrad/Arexx "OLED TEXTDISPLAY RP5 UND RP6" unter Bascom zum Laufen zu bekommen?
Bei mir kommt leider nur ein leises Pfeifen, aber keine Anzeige. :cray:

PS: Am RP6 funktioniert das Display aber noch
 
Hallo,

habt ihr es schon mal geschafft, das Conrad/Arexx "OLED TEXTDISPLAY RP5 UND RP6" unter Bascom zum Laufen zu bekommen?
Bei mir kommt leider nur ein leises Pfeifen, aber keine Anzeige. :cray:
:confused: da muß ich mich erst mal schlau machen was das für ein dolles
Ding ist ... ;) Also noch garninix mit gemacht :eek:

EDIT: Mal bei Conrad versucht das Datenblatt zu ziehen ... 17,4MB !! :eek:
Mein armer EeePC ! Der AcroReader im Firefox hat das Teil echt zum stehen
gebracht :fie: Erst mal als Datei ziehen und dann direkt mit dem Reader öffnen.

Gruß
Dino
 
Hallo Dino!

Dem stimme ich dir zu....
Habe von dem Display auch noch nichts gehört.
Allerdings stöbere ich auch so selten in Apotheken. ;)



Bei mir kommt leider nur ein leises Pfeifen, aber keine Anzeige. :cray:

Hallo Wolf!

Auch wenn es nicht funktioniert wären einige weitere Erklärungen ganz hilfreich.
Zeichne doch mal einen Schaltplan wie das du das Display aktuell ageschlossen hast und stelle auch gleich deinen Testcode hier mit ein.

Es bedeutet dann aber nicht, dass wir das Display dadurch schon zum laufen bekommen.
Allerdings bekommen wir so eine Vorstellung davon, was und wie du es ausprobiert hast.

Gruß,
Cassio
 
Hallo ihr beiden,

einen Schaltplan? Öhhhmmmm ... ... jetzt fällt mir wieder ein, was ich vergessen habe. ;)

Ich versuche das mal zu beschreiben. Bitte hinsetzen und nichts trinken:
Das Display hat nen 14-poligen-Stecker. Ich habe eine 14-polige-Buchse auf eine Platine gelötet und auf die andere Seite ein Flachbandkabel, dass in das STK500 eingesteckt werden kann.
Dazwischen das benötigte Poti und ein paar Kabel um hoffentlich den folgenden Schaltplan zu verwirklichen: http://www.rn-wissen.de/index.php/Bild:Lcdmodul_4bit_schem.png

Ein Bild von der Platine stell ich lieber nicht rein, sonst bekommt ihr noch Bauchschmerzen.

Den Quellcode habe ich mir auch von der Seite "geliehen":

Code:
$regfile = "m8def.dat"
$crystal = 1000000

Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portc.0 , Db5 = Portc.1 , Db6 = Portc.2 , Db7 = Portc.3 , E = Portc.5 , Rs = Portc.4

Cls         
Locate 1 , 1      
Lcd "Hello world."

Mit dem Poti sollte man eigentlich die Helligkeit regeln können. Bei mir regelt es die Lautstärke des Pfeiftons. :mad:

@Dino: Gehts deinem armen EeePC inzwischen wieder besser?
 
Hallo,

http://www.rn-wissen.de/index.php/Bild:Lcdmodul_4bit_schem.png
...
Mit dem Poti sollte man eigentlich die Helligkeit regeln können. Bei mir regelt es die Lautstärke des Pfeiftons. :mad:

@Dino: Gehts deinem armen EeePC inzwischen wieder besser?
der EeePC hat sich wieder erholt :D
Wer denkt denn auch da dran das die das Datenblatt als Bild-Scans in ne PDF
packen :mad: So etwas gehört erschlagen. Wofür gibts eigentlich Texterkennung ?
Normalerweise wär das Datenblatt so um die 400kB groß gewesen (geschätzt).

Also das Display scheint so ähnlich zu sein wie ein HD44780 kompatibles. Aber
auch nur so ähnlich. Die Initialisierung scheint komplett anders zu sein. Mir
scheint es so als ob das Display normalerweise in den 4Bit-Modus läuft. Aber
da könnte ich mich auch täuschen. Also Register und Befehle scheinen vom
Aufbau her ähnlich zu sein.

Die Sachen die du da runtergeladen hast sind alle für HD44780 kompatible.
Das wird dann wohl mit der Initialisierung nicht klappen. ich schätze mal das
es daran liegt. Also Datenblatt lesen und selber stricken :D

Die beiden Datenblätter und Befehlstabellen von deinem OLED und dem
HD44780 möchte ich jetzt nicht nebeneinanderlegen und vergleichen.
Etwas Arbeit mußt du ja auch haben :p ;)

Gruß
Dino
Gruß
Dino
 
Hi Dino,

ich und Datenblätter/Befehlstabellen lesen ??? :eek:
Ja ne is klar. Ich hätte vor ein paar Tagen noch fast das STK500 an die Wand geklatscht, weil es nicht funktionieren wollte. Inzwischen scheint es, trotz komischer Fehlermeldungen zu funktionieren. Naja, zumindest bekomm ich die Onboard-LED's zum Leuchten. :D
Falls ich es schaffen sollte, ein LED-Matrix-Modul zum Laufen zu bekommen, gibts bei mir ne Party.
So und ich soll jetzt Datenblätter/Befehlstabellen lesen? Die könnten in einer beliebigen Sprache sein. Währe sinnlos. Keine Ahnung, was mir die Buchstaben/Zeichen da mitteilen möchten.

Gut, dann bekommt jetzt der RP6 sein Display zurück. Sieht ja sonst auch so nackt aus.
Ich habe bei Pollin von euch getestete Displays bestellt. Falls die jemals ankommen sollten, versuch ich die mal anzuschließen.

Das AVR-Mikrocontroller-Lehrbuch von Roland Walter ist auch schon auf dem Weg zu mir. Evtl. lichtet sich ja damit der AVR/Bascom-Nebel etwas.
 
Mit dem Poti sollte man eigentlich die Helligkeit regeln können. Bei mir regelt es die Lautstärke des Pfeiftons. :mad:

Hallo Wolf!

Ich denke auch, dass es zwar wie ein HD44780 aussieht, aber mehr auch nicht. ;)

Auf die Schnelle habe ich auch keine Hinweise zu einem PT6880 Controller gefunden.
Keine Ahnung, ob der nun zum HD44780 oder T6963C kompatibel ist......

Da hilft wohl nur..... ausprobieren. ;)

Gruß,
Cassio
 
Hallo ihr zwei,

also soll ich mich mal wieder durch die Datenblätter quälen :rolleyes:

Das ist hier der Init-Ablauf beim HD44780 mit 4 Bit ...
HD44780_4Bit-Init.png

und das ist der Init-Ablauf beim OLED mit 4 Bit ...
OLED_4Bit-Init.png

und wie man sieht sind bei DB4 + DB5 die Bits verschieden.
Also bekommt der HD44780 andere Befehle (oder braucht andere Befehle)
als das OLED-Display um in den 4Bit-Modus zu gehen und zu laufen :D
Der HD44780 bekommt 0011 (0x3) als Befehle für 4Bit-Modus und
der OLED-Controller 0000 (0x0) als Befehle. So wie es aussieht sind die
Befehle für den Modus beim OLED genau umgekehrt (laut Datenblatt).
Auf Seite 26 des Datenblatts steht bei der 8Bit-Init am Anfang noch
"Interface is 4 bits long". Also scheint der Controller Default auf 4Bit-Modus
zu laufen und nicht wie der HD44780 defaultmäßig auf 8Bit. Man muß etwas
zwischen den Zeilen lesen ;)

Gruß
Dino
 
Moin Moin,

erstmal besten Dank für eure Bemühungen, aber ich glaube das Ganze wird etwas zu komplex, als erstes LCD-Anfängerprojekt. :fie:

Um rauszufinden wie das Ding auf dem RP6 (C-Control PRO MEGA128 Erweiterungsmodul) angeschlossen wird, habe ich mir den Schaltplan auf http://www.arexx.com/rp6/html/de/soft_doc_ccpro.htm angeschaut. Zu allem Übel ist das Display nicht direkt am Mega128, sondern an einem 74HC4094D angeschlossen. :hmpf:

Im Handbuch steht:
... Das LCD ist NICHT wie auf dem CCPRO Application Board angeschlossen, daher können
(noch) nicht direkt die internen LCD Funktionen verwendet werden. Das soll in einer
späteren Version des CCPRO Interpreters aber auch möglich sein.
Als allererstes muss man das LCD natürlich intialisieren:
void RP6_initLCD(void)
Sub void RP6_initLCD()
Das wird schon von RP6_CCPRO_Init() erledigt – man muss es also normalerweise
nicht nocheinmal tun.
Das LCD wird im 4 Bit Modus betrieben. Daher muss man stets:
void setLCDD(byte lcdd)
Sub setLCDD(lcdd As Byte)
zweimal aufrufen um ein komplettes Datenbyte an das LCD zu übertragen. Das erledigen
die beiden Funktionen:
void writeLCDCommand(byte cmd)
Sub writeLCDCommand(cmd As Byte)
und
void writeCharLCD(char ch)
Sub writeCharLCD(ch As Char)
Beide übertragen ein Byte an das LCD, bei writeLCDCommand wird es als Steuerbefehl
interpretiert und bei writeCharLCD als Zeichencode.
Mit void setCursorPosLCD(byte text_line, byte pos)
Sub setCursorPosLCD(text_line As Byte, pos As Byte)
wir der Text Cursor an eine bestimmte Position des LCDs gesetzt.
...

Scheint kein sehr "bastlerfreundliches" Display zu sein. Und Pollin hat meine Bestellung immer noch nicht abgeschickt. :bad:
 
Hallo,

Um rauszufinden wie das Ding auf dem RP6 (C-Control PRO MEGA128 Erweiterungsmodul) angeschlossen wird, habe ich mir den Schaltplan auf http://www.arexx.com/rp6/html/de/soft_doc_ccpro.htm angeschaut. Zu allem Übel ist das Display nicht direkt am Mega128, sondern an einem 74HC4094D angeschlossen. :hmpf:
der 4094 ist ein 8Bit-Schieberegister mit 3State-Ausgang. Ziemlich identisch
mit dem 74595. Aber der 74595 hat nen schöner sortiertes Anschlußchema
(Pinbelegung) ;) Damit haben die sich beim Mega128 ein paar Pins gespart.

Gruß
Dino
 
...Und Pollin hat meine Bestellung immer noch nicht abgeschickt. :bad:

Hallo Wolf!

Selbst wenn unter "mein Pollin" die Bestellung immer noch als unbearbeitet steht, oder kein Hinweis auf den Versand zu finden ist bedeutet es nicht, dass die Bestellung nicht doch schon morgen vor der Tür liegen kann. ;)

Das sind zumindest meine Erfahrungen..... :cool:

Gruß,
Cassio
 
Hi Cassio,

heute kam leider weder das Buch, noch die Bestellung von Pollin an. :cray:
Aber deine Erfahrungen lassen mich hoffen, dass es nächste Woche kommen könnte.

Dann werd ich mir wohl am WE mal das LED-Modul näher anschauen.

...
Selbst wenn unter "mein Pollin" die Bestellung immer noch als unbearbeitet steht, oder kein Hinweis auf den Versand zu finden ist bedeutet es nicht, dass die Bestellung nicht doch schon morgen vor der Tür liegen kann. ;)
...
 
Moin Moin,

ich habe mir die gebastelte Platine nochmals angeschaut und feststellen müssen, dass ein kleines Tröpfchen Lötzinn fehlt. :stupido2:
Nach Einfügen dieses kleinen Tröpfchens ... ... funktioniert das Display doch tatsächlich! :victory:

Es flackert allerdings etwas und manchmal erscheint der Text der ersten Zeile kurz in der zweiten Zeile. Aber im großen und ganzen scheint das Ding doch kompatibel zu sein.
 
Hallo,

ich habe mir die gebastelte Platine nochmals angeschaut und feststellen müssen, dass ein kleines Tröpfchen Lötzinn fehlt. :stupido2:
Nach Einfügen dieses kleinen Tröpfchens ... ... funktioniert das Display doch tatsächlich! :victory:
Jaja ... immer diese Hardware ;) :D Das hatte ich auch mal ... wie der
Kennlinienschreiber für Triacs/Thyristoren wieder halb abgerissen war hab
ich festgestellt das ein IC keine Versorgungsspannung hatte :p Da wars
aber schon zu spät :eek:

Es flackert allerdings etwas und manchmal erscheint der Text der ersten Zeile kurz in der zweiten Zeile. Aber im großen und ganzen scheint das Ding doch kompatibel zu sein.
Aber warum ist
die Init-Routine in den Datenblättern dann so verschieden ? Muß man wohl
nicht verstehen :rolleyes: Aber anscheinend gefällt dem Display trotzdem
irgendwas am Timing oder so nicht so ganz ... :stupido3:

Aber Grundfunktion läuft :pleasantry: Glückwunsch :D

Gruß
Dino
 
Hi Dino,

sehr komisch.
Ich habe jetzt als letztes in den Quellcode
Code:
Do
Loop
reingeschrieben. Jetzt ist das Flackern weg und das Ding funktioniert einwandfrei. :D
Eine "entflackernde" Endlosschleife ;)
 
Hi,

sehr komisch.
Ich habe jetzt als letztes in den Quellcode
Code:
Do
Loop
reingeschrieben. Jetzt ist das Flackern weg und das Ding funktioniert einwandfrei. :D
Eine "entflackernde" Endlosschleife ;)
ich glaube ich kann dir das Flackern erklären :D Du hast dir mit dem "Do Loop"
endlich eine Hauptschleife programmiert. Ein µC ist kein normaler PC ! Wenn
er dein Programm abgearbeitet hat dann geht er nicht auf Winddows oder DOS
zurück sondern läuft weiter. Also hat er am Ende deines Programms den freien
Flash-Speicher "ausgeführt" und dann am Ende des Flash einen Überlauf des
Programmzählers gehabt und bei Adresse 0x0000 wieder neu angefangen :D
Und am 0x0000 steht wieder die initialisierung des Displays :eek: Immer rund
rum durch das Flash gearbeitet.

Also hast du vorher sozusagen deine "Main"-Routine vergessen gehabt. Dein
Programm bestand vorher nur aus einer "Linearen" Routine mit Anfang und
Ende. Bei µCs braucht man aber nach der Initialisierung IMMER eine endlose
Schleife in der sich die CPU austoben kann. Die kann man aber auch noch
mit sinnvollen Dingen füllen ;)

Also immer ...

0x0000 ---Initialisierung---> DO ----Sinnvoller Kram-------> LOOP | Subroutine | Subroutine | ...

Gruß
Dino
 
Hi Dino,

besten Dank für die Aufklärung. :) Jetzt wird mir das Ganze schon etwas klarer.
Ich war es vom PC gewöhnt, dass das Programm einfach nach der letzten Zeile beendet wird. Da muss ich wohl etwas umdenken.
 
Hallo,

besten Dank für die Aufklärung. :) Jetzt wird mir das Ganze schon etwas klarer.
Ich war es vom PC gewöhnt, dass das Programm einfach nach der letzten Zeile beendet wird. Da muss ich wohl etwas umdenken.
auf dem PC ist es ja so das der PC bootet und die Treiber lädt (die Initialisierung)
und dannach dein Windows (oder früher DOS) in einer "Endlosschleife" läuft.
Deine Applikationen sind dann nur "Subroutinen" in deiner Main-Loop von
Windows/DOS. Wenn sie beendet sind dann springt der Prozessor zurück
und der PC läuft weiter in seiner Endlosschleife.

Bei einem µC mußt du aber das gesamte System selber schreiben. Also auch
dein "Windows" und "DOS" und sogar dein "BIOS". Es existiert absolut nix.

Gruß
Dino
 
Frage

Hallo WerWolf.
Ich bin auch am rum versuchen mit den LCD und Led.Ich muß gestehen das ich mit Schieberegister noch nie was gemacht habe.Nur mit Haussteuerung und selbst gebaute Roboter.
Wäre es vermessen wen ich Dich um die Code bitte?
GRUß raggywetter
 
Hallo raggywetter,

das Thema ist 2 Jahre alt. :goodnight:

Ich habe inzwischen einen anderen Rechner und leider kein Backup der alten Daten mehr. :( Ich bin auf einen Mac umgestiegen und bastle nur noch mit Arduinos rum, daher kann ich dir leider nicht helfen. :(

Hallo WerWolf.
Ich bin auch am rum versuchen mit den LCD und Led.Ich muß gestehen das ich mit Schieberegister noch nie was gemacht habe.Nur mit Haussteuerung und selbst gebaute Roboter.
Wäre es vermessen wen ich Dich um die Code bitte?
GRUß raggywetter
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)