Hallo,
auf der Platine müsste es ein Poti geben, mit dem man den Displaykontrast einstellen kann.
Grüße, Bernhard
Hallo,
nach mehreren Versuchen und ein wenig Rat(d)losigkeit wende ich mich an die Experten in diesem Forum.
Problem:
Ich habe an das RN-Control-Modul ein 20*4 LCD (C2041A) angeschlossen (PORT B) , ohne Motor-Treiber Chip - und bekomme einfach keine Anzeige. Über Taster 5 kann ich lediglich sehen, dass die Hintergrund- (Beleuchtung) ein- auszuschalten geht.
Hat jemand eine Idee, warum dieses Display nicht läuft - besser natürlich, den entscheidenen Hinweis, wie ich es zum Laufen bekomme? Ein getestetes Skript wäre sicherlich hilfreich.
Das Display betreibe ich mit dem LCDADAPTER von Robotertechnik.de.
(Übrigens versuche ich das LCD-Modul mit dem mitgelieferten TESTPROGRAMM zum Laufen zu bringen - ohne Erfolg.)
Für Hinweise und Tipps schon jetzt VIELEN DANK!
Gruß
Peter
Hallo,
auf der Platine müsste es ein Poti geben, mit dem man den Displaykontrast einstellen kann.
Grüße, Bernhard
"Im Leben geht es nicht darum, gute Karten zu haben, sondern auch mit einem schlechten Blatt gut zu spielen." R.L. Stevenson
Hallo Bernhard,
das mit dem Poti hab ich auch schon getestet.... Muss ich vielleicht einen LCD.LIB einbinden??? Ich hab die Befürchtung, die Ansteuerung des LCD soft- wie hardwaremäßig ist nicht korrekt.
Gruß
Peter
Hmmm, den Adapter kenne ich nicht, Du meinst nicht den von Robotikhardware (von da, woher Du deine RN-C ontrol hast...) ?... RN-Control-Modul ein 20*4 LCD (C2041A) angeschlossen (PORT B) ... bekomme einfach keine Anzeige ...
... Das Display betreibe ich mit dem LCDADAPTER von Robotertechnik.de ...
Kennst Du diese Beschreibung (klick)? Kennst Du den Satz unter dieser Skizze ? Hast Du den schon mal durchgespielt? Kannst Du auf dem LCD dunkle, viereckige Felder aus lauter kleinen PUnkten zum Vorschein bringen? Wenn nicht, dann solltst Du mal genau Deine Verdrahtung prüfen (oder uns mehr zeigen).
Viel Erfolg.
Ciao sagt der JoeamBerg
Hallo,
erst einmal vielen Dank für die Tipps.
Also, ich habe nun , nachdem ich am Poti gedreht habe, tatsächlich die viereckigen Felder, allerdings nur zweizeilig, zu sehen bekommen. Das Testprogramm läßt sich compilieren und bringt mir die Fehlermeldungen: Error: 103 Line 60= expected "Chipset C2041A" in File D:.... Und die Fehlermeldung : Error 10: Line 60 Unknown LCD type (20*4) in File D:....
Das heißt es wird ein Chip mit der Bezeichnung C2041A erwartet? Das habe ich bereits im Programm angegeben. Muss ich etwa eine .LIB zu diesem LCD ins Programm einbinden? Ich ging davon aus, dass zumindest für den Test von LCD und Adapter mit dem Testprogramm der CD nichts weiter geändert werden muss... Ich will ja das Display nur testen - mit dem Board, nur feststellen ob das LCD ok ist. Ich habe als Info die Bilder mit den viereckigen Feldern nur 2-zeilig ...!!!?? und die Rückseite des LCD angefügt. Lautet die Chipbezeichnung denn wirklich C2041A ? und richtig: Chipset = C2041A als Proammeintrag? Und warum erkennt er diese nicht? Wo liegt denn da der Fehler? Das ganze läuft über Port B am RN-Control 1.4.
Für Ideen zu diesem Problem schon mal vielen Dank.
***Die Bauteile und Board sind von robotikhardware, das LCD 4*20 ebenfalls - mit LCDADAPTERSTD, so die Bezeichnung.***
Abendgrüße aus dem Norden
Peter
Geändert von Funkpeter (16.10.2014 um 21:34 Uhr)
Die beiden dunklen Pixelfeldzeilen zeigen, dass Dein LCD korrekt an die Versorgung angeschlossen ist. Es KÖNNTE Zeichen anzeigen WENN die Ansteuerung stimmt - elektrisch/Anschlußleitungen und logisch/controllerspezifischeSteuersignale.... ich habe nun ... tatsächlich die viereckigen Felder ... zweizeilig ... Testprogramm ... Error 10: Line 60 Unknown LCD type ...
Die zwei Zeilen sind ok (Anm.: ich habe keine Erfahrung mit vierzeiligen Displays) , soweit ich es bisher mitbekommen habe müssen bei Displays mit mehr als zwei Zeilen (bzw. mit zwei Controllern) diese Controller erst initialisiert werden um alle Zeilen zu zeigen. Das geht ja nicht wegen des genannten Fehlers.
"Chipset C2041A" ist wohl nicht richtig, das ist die Typbezeichnung des Displays, der Mikrocontroller steuert aber nur den Displaycontroller und der heißt laut Datenblatt des C2041A "KS0066U OR EQUV." - Du mußt also schauen, wo in Deinem Testprogramm Du diesen DISPLAYController (klick mal) definieren kannst.
Versuche doch jetzt, mit der korrekten Einstellung des Kontrast(potentiometer)s das mitgelieferte Testprogramm noch mal!? Testweise.
Viel Erfolg!
Ciao sagt der JoeamBerg
Laut Datenblatt ist ein KS0066 Kontroller in dem LCD, das sollte mit den Standard LCD-Libs funktionieren ohne irgend welche Chip-Libs einbinden zu müssen.
Schreib noch mal genau welches RN-Control und LCD Adapter du verwendest und zeig auch das Testprogramm, dann kann man sicher leichter helfen.
Hallo,
da du selbst nicht den Code postest poste ich mal einen:
Und nun schauen wir mal ....Code:'################################################### 'Ein Standard-LCD 4x20 Zeichen mit dem 'RN-LCDStandardAdapter an Port B 'von RN-Control angeschlossen 'rnlcdadapterstdtest.bas ' 'Autor: Frank 'Verwendet wurden: RN-Control & RN-LCDAdapter (robotikhardware.de) 'Weitere Beispiele sind im Roboternetz gerne willkommen! '############################################################## '$programmer = 12 'MCS USB (Zeile weglassen wenn anderer Programmer) ' -------------- RN-Control übliche _____________________ Declare Function Tastenabfrage() As Byte $regfile = "m32def.dat" $framesize = 32 $swstack = 32 $hwstack = 64 $crystal = 16000000 'Quarzfrequenz $baud = 19200 Config Scl = Portc.0 'Ports fuer IIC-Bus Config Sda = Portc.1 Config Adc = Single , Prescaler = Auto 'Für Tastenabfrage und Spannungsmessung Config Pina.7 = Input 'Für Tastenabfrage Porta.7 = 1 'Pullup Widerstand ein Dim Taste As Byte Dim Ton As Integer I2cinit Start Adc Sound Portd.7 , 400 , 450 'BEEP Sound Portd.7 , 400 , 250 'BEEP Sound Portd.7 , 400 , 450 'BEEP Print Print "**** RN-Control V1.4 *****" Print "Demoprogramm um Zusatzboard RN-LCDAdapter zu demonstrieren" Print ' -------------- Ende RN-Control übliche _____________________ Config Portb.4 = Output 'Spannung an LCD aktivieren Lcdpower Alias Portb.4 Lcdpower = 1 Config Portb.6 = Output Lcd_rw Alias Portb.6 Lcd_rw = 0 'Wait 1 Config Lcd = 20 * 4 ', Chipset = Ks077 Wait 1 Config Lcdpin = Pin , Db4 = Portb.3 , Db5 = Portb.2 , Db6 = Portb.1 , Db7 = Portb.0 , E = Portb.5 , Rs = Portb.7 'Config Lcdbus = 4 Initlcd Cls Locate 1 , 1 'Cursor auf 1 Zeile, 1 Spalte Lcd "RN-LCDADAPTER" Locate 2 , 1 Lcd "an RN-Control" Locate 3 , 1 Lcd "beides Bausaetze von" Locate 4 , 1 Lcd "robotikhardware.de" Do Taste = Tastenabfrage() If Taste <> 0 Then Select Case Taste Case 1: Cls Locate 1 , 1 Lcd "Gedrueckt wurde nun:" Locate 2 , 1 Lcd "Taste 1" Case 2 Cls Locate 1 , 1 Lcd "Gedrueckt wurde nun:" Locate 2 , 1 Lcd "Taste 2" Case 3 Cls Locate 1 , 1 Lcd "Gedrueckt wurde nun:" Locate 2 , 1 Lcd "Taste 3" Case 4 Cls Locate 1 , 1 Lcd "Gedrueckt wurde nun:" Locate 2 , 1 Lcd "Taste 4" Case 5 Cls Locate 1 , 1 Lcd "Licht wird umgeschaltet" Toggle Lcdpower End Select Sound Portd.7 , 400 , 500 'BEEP End If Waitms 100 Loop End ' Diese Unterfunktion fragt die Tastatur am analogen Port ab ' Sollte beim betätigen einer Taste kein Quittungston kommen, dann ' muss die Tastenabfrage (Select Case Anweisung in Funktion ) ' an ihr Board angepaßt werden. Widerstandstoleranzen sorgen in ' Einzelfällen manchmal dafür das die Werte etwas anders ausfallen ' Am besten dann den WS wert mit Print für jede Taste ausgeben lassen Function Tastenabfrage() As Byte Local Ws As Word Tastenabfrage = 0 Ton = 600 Ws = Getadc(7) 'Print "ws= " ; Ws If Ws < 1010 Then Select Case Ws Case 400 To 455 Tastenabfrage = 1 Ton = 550 Case 335 To 380 Tastenabfrage = 2 Ton = 500 Case 250 To 305 Tastenabfrage = 3 Ton = 450 Case 180 To 220 Tastenabfrage = 4 Ton = 400 Case 100 To 130 Tastenabfrage = 5 Ton = 350 End Select Sound Portd.7 , 400 , Ton 'BEEP End If End Function
Hast Du auch die JTAGEN Fuse deaktiviert ?
Die benutzt einige Ports von Port C - Welche genau weiss ich jetzt gerade nicht.
EDIT:
Du schreibst ja, das Du Port B benutzt, dann ist das ja nicht relavant.
Ich hab auch schon mal ein 4x20 Zeichen LCD von Reichelt verbaut, das lies sich mit meiner Standard LCD .lib problemlos initialisieren.
Rück doch mal den Code raus, den Du benutzt, dann wird das hier kein Ratespiel.
Hallo und Guten Abend!
erst einmal euch allen vielen Dank für die Hinweise, die letztlich auch zum Ziel führten. Das Testprogramm hefte ich gern an. HEXPLORER hatte mir auch noch ein komplettes Skript geschickt, das ich (auch aus Zeitgründen!)einfach 1:1 in Bascom eingelesen habe und siehe da, es funktioniert. Geändert habe ich daran nix. Warum mein Testproamm von der CD für den RN-Control 1.4 nicht geht, weiß ich nicht. Zwei kleine Probleme hab ich in diesem Zusammenhang trotzdem nicht lösen können. Die Tastenabfrage im Testprogramm funktioniert für die Tasten 1 und 2 nicht. Das werde ich am Wochenende mal genauer nachsehen. Dann geht das Programm nur, wenn ich den USBISP-Dongle, mit dem ich das Programm compiliere und auf den RN-Control 1.4 µC schicke, angeschlossen habe. Ich ging immer davon aus, dass das Programm auf dem µC völlig autark mit dem LCD betrieben werden kann, sobald es sich darauf befindet. Alles andere macht ja wohl auch keinen Sinn??... Wozu brauche ich die Verbindung zum PC / BASCOM-Script ?? Denkfehler? Ich arbeite dran...
Nun bin ich, Dank Eurer Hilfe, ein deutliches Stück weiter und meinem Projekt näher gekommen!
Bis demnächst mit neuen Fragezeichen in diesem Forum (Leider konnte ich erst jetzt antworten, weil ich in meinem Job etwas länger unterwegs war)
rn_lcd_adapter_std_test.bas
Nacht-Grüße aus dem Norden
Peter
Lesezeichen