-         

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 16

Thema: Probleme mit der Ausgabe über LCD

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    31.03.2008
    Beiträge
    17

    Probleme mit der Ausgabe über LCD

    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    Hallo,

    ich habe mir für die RN Control den LCD Adapter besorgt und das LCD Display.Das Beispielprogram wird einwandfrei compiliert und auch bei der Übertragung gibt es keine Probleme. Wenn das Program startet ertönen auch die richtigen Signale und das Licht vom LCD schaltet sich ein. Text wird mir nicht angezeigt.
    Bei Betätigung der Taster ertönt der richtige Ton jedoch auch hier gibt es keine Ausgabe am Display. Bei Betätigung von Taster 5 ertönt der zugehörige Ton und die Bildschirm Beleuchtung schaltet wie gewünscht um.Text gibt es auch hier nicht. Habe auch schon am Poti rumgeschraubt, was aber keinen erfolg brachte
    Ist vielleicht was mit meinem Adapter nicht in Ordnung?
    Über Hilfe Ratschläge würde ich mich freuen

    MfG Daniel

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Alter
    48
    Beiträge
    2.731
    Hallo,

    An welchem Port ist das LCD an gesteckt ?
    Wie wurde das Programm auf den Mega32 geflasht ?

    Sind die Antworten "PortB" und "ISP", dann ist die nächste Frage:
    Steckt der ISP-Adapter noch bei Programmstart ?

    Ansonsten einfach noch ein paar weitere Infos anbieten !

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    31.03.2008
    Beiträge
    17
    Hi,

    ja das LCD ist an PortB angeschlossen.Hatte auch schon den gedanken dass es am ISP liegt weil ich in der Doku der RN Control gesehen habe dass PortB zum Teil auch vom ISP verwendet wird. Aber auch wenn der ISP nicht angesteckt ist ändert sich nichts. Welche Infos brauchst du denn?
    Das verwendete LCD ist das 20*4 von robotikhardware.Ausserdem verwende ich den dazugehörigen standard Adapter.

    MfG Daniel

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Alter
    48
    Beiträge
    2.731
    Interessant wär wo genau das LCD angeschlossen ist, also wo welches Pin, der Rest ist bei den Text-LCDs relativ gleich, egal wie gross.

    Dann könnte evtl. noch der Motortreiber (L293) dazwischenfunken, mit PB0 und PB1 ?

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    31.03.2008
    Beiträge
    17
    Die Pin Belegung is folgende:
    PortB.0 = DB7
    PortB.1 = DB6
    PortB.2 = DB5
    PortB.3 = DB4
    PortB.5 = E
    PortB.7 = RS
    PortB.6 = Lcd_rw
    PortB.4 = Lcd_power

    Toggle Befehl für das Licht mit Taste 5 funktioniert.

    PortB.0 entspricht Pin 1

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    31.03.2008
    Beiträge
    17
    ach ja, noch was:

    Hab den l293 jetzt entfernt, zeigt aber auch keine wirkúng

    MfG Daniel

  7. #7
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Alter
    48
    Beiträge
    2.731
    Du hast ja den LCD-Adapter vom RN, da kann man mit der Belegung auch nicht aus.

    Jetzt könntest Du dann mal bei PortD und PortC ausprobiern.
    Bei PortD darf aber kein $baud und keine Prints im Code sein, denn dann sind die beiden Ports PD0/1 für UART belegt.


    Oo, da wird ja das RW-Pin benutzt, was aber der Config LCD bei Bascom nicht vorsieht, deshalb kommt nix am LCD an !

    Bau mal das am Anfang ins Programm ein, aber nach dem Config:

    Code:
    ' Bascom verwendet kein RW zum LCD !
    Config Portd.6 = Output
    Portd.6 = 0                                                 ' R/W LCD
    
    Initlcd
    Nur noch den richtigen Port angeben an dem angesteckt ist.

  8. #8
    Neuer Benutzer Öfters hier
    Registriert seit
    31.03.2008
    Beiträge
    17
    '################################################# ##
    '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 = 1 '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 = 9600
    '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 Pinc.4 = Output 'Spannung an LCD aktivieren
    Lcdpower Alias Portc.4
    Config Pinc.6 = Output
    Lcd_rw Alias Portc.6
    Lcd_rw = 0
    Lcdpower = 1
    Wait 1
    Config Lcd = 20 * 4 , Chipset = Ks077
    Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.5 , Rs = Portc.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 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

    So sieht es momentan aus. Ich hab´s jetzt zuerst mit Port D versucht. Das Problem mit der Ausgabe war unverändert. Vielleicht liegt es auch daran, dass der "Beep" auch über Port D läuft. Hab jetzt alles was mit Port C zu tun hat als Kommentar markiert sowie $baud und die print Anweisungen. Auch da ist die Ausgabe unverändert. Der ton wird ausgegeben und das Licht lässt sich an und ausschalten. Nur Text wird nicht angezeigt. Es leuchten LED1-3 und 6 und 7. Je nach Tastendruck leuchten unterschiedliche LEDs was zumindest zeigt dass sich die Ausgänge ändern.
    Auch bei diesem Program wird wie in deinem Vorschlag portc.6 bzw.d.6 auf null gesetzt.
    Config Pinc.6 = Output
    Lcd_rw Alias Portc.6
    Lcd_rw = 0
    Aber ich denke das Program sagt dir eh mehr als meine Erklärungen

    MfG Daniel

  9. #9
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Alter
    48
    Beiträge
    2.731
    Nächster Versuch,
    wenn im AVR garkein Programm ist, also alles löschen,
    dann die Stromversorgung (wieder) eingeschaltet wird, was zeigt dann das LCD an ?
    Wenn nix da ist, musst Du etwas am Kontrastpoti drehen, bis bei einer Zeile die Kästchen zu sehen sind, danach wieder mit dem Programm testen.

    Beim PortD kommt noch dazu, dass wegen der UART der MAX232 eine Leitung beeinflusst, am besten sollte der PortC taugen, da sieht man auch gleich die Signale an den LEDs blinken (solange man I2C nicht benutzt).


    Edit-PS:
    Du hast ja auch diesen Adapter mit passendem LCD, da ist das anders mit den Kästchen, bei dem am besten am Kontrast drehen wenn Text angezeigt werden sollte. Wenn man zu weit dreht, kommen alle Kästchen, dann ist es zuviel, und ein klein wenig zurück, das diese gerade nicht angezeigt werden.

    Ich hoffe das kapiert jetzt noch einer

  10. #10
    Neuer Benutzer Öfters hier
    Registriert seit
    31.03.2008
    Beiträge
    17
    Der Speicher ist jetzt leer und es befindet sich kein Program mehr im AVR.
    Am Display tut sich gar nichts, egal auf welchem port ich es anschliesse.Es erscheint auch keine Zeile mit Kästchen. Wenn ich die Hintergrundbeleuchtung aktiviere und am Poti drehe sieht man ganz leicht im Hintergrund dass sich Kästchen Abheben.
    Hab ich das Adapterboard vielleicht falsch gejumpert? Hab den Jumper für die Beleuchtung an Position 2

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •