-
        

Ergebnis 1 bis 10 von 10

Thema: Wiedermal eine LCD Frage

  1. #1
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    25.01.2006
    Ort
    Straubing
    Alter
    40
    Beiträge
    698

    Wiedermal eine LCD Frage

    Anzeige

    Hallo Leute ich habe ein Problemchen:

    Ich habe RN-Control 1.4, ein LCD vom Pollin LCD YL 162-90 16x2 Und ein RN Adapter Wannenstecker auf Steckklemmen.
    Link zum Pollin Datenblatt:
    http://www.pollin.de/shop/downloads/D120060D.PDF
    Und hier noch eins:

    Klicke auf die Grafik für eine größere Ansicht

Name:	Display_Datenblatt.JPG
Hits:	20
Größe:	79,8 KB
ID:	20156

    So nun wirds kompliziert, zumindestens für mich. Ich habe das Display wie folgt angeschlossen:

    Pin1 GND am RN Adapter
    Pin2 +5V am RN Adapter
    Pin3 Leer
    Pin4 auf Pin6 RN Adapter
    Pin5 Leer
    Pin6 auf Pin5 RN Adapter
    Pin7 Leer
    Pin8 Leer
    Pin9 Leer
    Pin10 Leer
    Pinn11 auf Pin1 RN Adapter
    Pinn12 auf Pin2 RN Adapter
    Pinn13 auf Pin3 RN Adapter
    Pinn14 auf Pin4 RN Adapter
    Pinn15 +5V am RN Adapter

    Der RN Adapter ist mit dem PortB verbunden
    (gerade beim Tippen ist mir jetzt was aufgefallen. Am RN Adapter sind es Pin0-Pin7 und Im Bascom Pin1-bis Pin8 dann bin ich um ein Pin verschoben oder?)

    Ich habe kein Poti dram um Kontrast zu regeln.

    Eigentlich sollte doch auf dem Display Hallo Welt erscheinen. Aber das Display bleibt leer kein cursor kein Zeichen nur die Hintergrundbeleuchtung leuchtet.
    Kann mir da jemand helfen bitte.
    Und das ist mein Bascom Code:
    Code:
     
    Declare Sub Zufallszahlperseriellsenden()
    'Declare Sub Motortest()
    'Declare Sub Lauflicht()
    'Declare Sub Showporta()
    'Declare Sub Showdigitalporta()
    Declare Function Tastenabfrage() As Byte
    
    $regfile = "m32def.dat"
    $framesize = 32
    $swstack = 32
    $hwstack = 32
    
    Dim I As Integer
    Dim N As Integer
    Dim Ton As Integer
    $crystal = 16000000                                         'Quarzfrequenz
    $baud = 9600
    Config Adc = Single , Prescaler = Auto                      'Für Tastenabfrage und Spannungsmessung
    Config Pina.7 = Input                                       'Für Tastenabfrage
    Porta.7 = 1                                                 'Pullup Widerstand ein
    Config Lcd = 16 * 2
    Config Lcdpin = Pin , Db4 = Portb.1 , Db5 = Portb.2 , Db6 = Portb.3 , Db7 = Portb.4 , E = Portb.5 , Rs = Portb.6
    Config Lcdmode = Port
    Cls
    Locate 1 , 1
    Lcd "Hallo Welt"
    Const Ref = 5 / 1023                                        'Für Batteriespannungsberechnung
    Dim Taste As Byte
    Dim Volt As Single
    I = 0
    Sound Portd.7 , 400 , 450                                   'BEEP
    Sound Portd.7 , 400 , 250                                   'BEEP
    Sound Portd.7 , 400 , 450                                   'BEEP
    Print
    Print "**** RN-Control 1.4 *****"
    Print "Eddies Test und Lernprogramm"
    Print
    Do
     
    
       Taste = Tastenabfrage()
       If Taste <> 0 Then
          Select Case Taste
             Case 1
                Call Zufallszahlperseriellsenden                'Batteriespannung    'Taste 1 Zeigt Bateriespannung über RS232 an
             Case 2
                Call Zufallszahlperseriellsenden                'Motortest           'Taste 2 Motoren beschleunigen und abbremsen
             Case 3
                Call Zufallszahlperseriellsenden                'Lauflicht           'Einige Male Lauflicht über LEDs anzeigen.
                                                                                           'Am I2C-Port darf in diesem Moment nichts angeschlossen sein
             Case 4
                Call Zufallszahlperseriellsenden                'Showporta           'Zeigt Messwerte an allen Port A PINs
             Case 5
                Call Zufallszahlperseriellsenden                'Showdigitalporta    'Zeigt digitalen I/O Zustand von PA0 bis PA5 an
     
          End Select
          Sound Portd.7 , 400 , 500                             'BEEP
       End If
       Waitms 100
    Loop
    End
     
    'Diese Unterfunktion fragt die Tastatur am analogen Port ab
    Function Tastenabfrage() As Byte
    Local Ws As Word
       Tastenabfrage = 0
       Ton = 600
       Start Adc
       Ws = Getadc(7)
      ' Print "Tastenabfrage anpassen!ADC Wert ws=" ; Ws
       If Ws < 500 Then
          Select Case Ws
             Case 400 To 450
                Tastenabfrage = 1
                Ton = 550
             Case 330 To 380
                Tastenabfrage = 2
                Ton = 500
             Case 260 To 305
                Tastenabfrage = 3
                Ton = 450
             Case 180 To 220
                Tastenabfrage = 4
                Ton = 400
             Case 90 To 130
                Tastenabfrage = 5
                 Ton = 350
     '        Case Else
    '              Print "Tastenabfrage anpassen!ADC Wert ws=" ; Ws
          End Select
          Sound Portd.7 , 400 , Ton                             'BEEP
       End If
    
    End Function
    
    Sub Zufallszahlperseriellsenden()
    Dim A As Integer
    Dim B As Integer
    Dim C As Integer
    Dim D As Integer
    A = Rnd(100)
    B = Rnd(100)
    C = Rnd(100)
    D = Rnd(100)
     Print Val(a) ; ";" ; Val(b) ; ";" ; Val(c) ; ";" ; Val(d) ; ";"
    End Sub
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
    
    '(
    
    'dieser Abschnitt kommt oben nach Dim Vvolt rein
    ' Für Motorentest
    'Ports für linken Motor
    Config Pinc.6 = Output                       'Linker Motor Kanal 1
    Config Pinc.7 = Output                       'Linker Motor Kanal 2
    Config Pind.4 = Output                       'Linker Motor PWM
    'Ports für rechten Motor
    Config Pinb.0 = Output                       'Rechter Motor Kanal 1
    Config Pinb.1 = Output                       'Rechter Motor Kanal 2
    Config Pind.5 = Output                       'Rechter Motor PWM
    Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down
    Pwm1a = 0
    Pwm1b = 0
    Tccr1b = Tccr1b Or &H02                                     'Prescaler = 8
    'Diese Unterfunktion zeigt Batteriespannung an
    Sub Batteriespannung()
    Local W As Word
       Start Adc
       W = Getadc(6)
       Volt = W * Ref
       Volt = Volt * 5.2941
       Print "Die aktuelle Spannung beträgt: " ; Volt ; " Volt"
    End Sub
    'Testet Motoren und Geschwindigkeitsreglung
    Sub Motortest()
       'Linker Motor ein
       Portc.6 = 1                          'bestimmt Richtung
       Portc.7 = 0                          'bestimmt Richtung
       Portd.4 = 1                          'Linker Motor EIN
       'Rechter Motor ein
       Portb.0 = 1                          'bestimmt Richtung rechter Motor
       Portb.1 = 0                          'bestimmt Richtung rechter Motor
       Portd.5 = 1                          'rechter Motor EIN
    
       I = 0
       Do
          Pwm1a = I
          Pwm1b = I
          Waitms 40
          I = I + 5
       Loop Until I > 1023
       Wait 1
       Do
          Pwm1a = I
          Pwm1b = I
          Waitms 40
          I = I - 5
       Loop Until I < 1
       Pwm1a = 0                            'Linker Motor aus
       Pwm1b = 0                            'rechter Motor aus
    End Sub
    
    ' Einige Male Lauflicht über LEDs anzeigen. Am I2C-Port darf in diesem
    ' Moment nichts angeschlossen sein
    Sub Lauflicht()
       Config Portc = Output
       Portd = 0
       For N = 1 To 10
          For I = 0 To 7
             Portc.i = 0
             Waitms 100
             Portc.i = 1
          Next I
       Next N
       Config Portc = Input
    End Sub
    
    'Zeigt die analogen Messwerte an Port A an
    Sub Showporta()
    Local Ws As Word
       Config Porta = Input
       For I = 0 To 5                        ' Alle internen Pullup Widerstände ein, bis auf Batteriespannungsmessungsport
          Porta.i = 1
       Next I
       Print
       Print "Ermittelte Messwerte an Port A:"
       For I = 0 To 7                        ' Alle Eingänge inkl. messen
          Start Adc
          Ws = Getadc(i)
          Volt = Ws * Ref
          Print "Pin " ; I ; " ADC-Wert= " ; Ws ; " bei 5V REF waeren das " ; Volt ; " Volt"
       Next I
    End Sub
    
    'Zeigt den Zustand einiger freier I/O von Die Analogen Messwerte An Port A An
    Sub Showdigitalporta()
    Local Zustand As String * 6
       Config Porta = Input
       For I = 0 To 5                        ' Alle internen Pullup Widerstände ein, bis auf Batteriespannungsmessungsport
          Porta.i = 1
       Next I
       Print
       Print "Ermittelter I/O Zustand Port A:"
       For I = 0 To 5                        ' Alle Eingänge inkl. messen
          If Pina.i = 1 Then
             Zustand = "High"
          Else
             Zustand = "Low"
          End If
          Print "Pin " ; I ; " I/O Zustand= " ; Pina.i ; " " ; Zustand
       Next I
    End Sub
     
    
    ')
    Geändert von meddie (30.09.2011 um 11:30 Uhr)
    Gruß Eddie
    __________________________________________________ ___________________
    Habe keine Angst davor, etwas Neues auszuprobieren, ein Amateur hat die Arche gebaut, Profis die Titanic!

  2. #2
    Erfahrener Benutzer Robotik Visionär Avatar von Hubert.G
    Registriert seit
    14.10.2006
    Ort
    Pasching OÖ
    Beiträge
    6.186
    Ohne Poti wirst du nichts sehen, zumindest 1k nach GND geben.
    Pin5 gehört auf GND
    Grüsse Hubert
    ____________

    Meine Projekte findet ihr auf schorsch.at

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    25.01.2006
    Ort
    Straubing
    Alter
    40
    Beiträge
    698
    Hallo Hubert, was meinst Du genau mit dem 1k nach GND. Vom Pin3 auf GND?
    Gruß Eddie
    __________________________________________________ ___________________
    Habe keine Angst davor, etwas Neues auszuprobieren, ein Amateur hat die Arche gebaut, Profis die Titanic!

  4. #4
    Erfahrener Benutzer Robotik Visionär Avatar von Hubert.G
    Registriert seit
    14.10.2006
    Ort
    Pasching OÖ
    Beiträge
    6.186
    Ja, 1k von Pin3 nach GND. Ein 10k Poti wäre aber besser, das mit dem Widerstand funktioniert nicht bei allen LCD.
    Pin5 ist R/W des LCD und gehört, wenn es wie in deinem Fall nicht vom µC her belegt ist, ebenfalls auf GND.
    Grüsse Hubert
    ____________

    Meine Projekte findet ihr auf schorsch.at

  5. #5
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    25.01.2006
    Ort
    Straubing
    Alter
    40
    Beiträge
    698
    Hallo Hubert,

    habe heute nochmal probiert aber leider ohne erfolg. Das Display zeigt nichts an.

    Gruß Eddie
    Gruß Eddie
    __________________________________________________ ___________________
    Habe keine Angst davor, etwas Neues auszuprobieren, ein Amateur hat die Arche gebaut, Profis die Titanic!

  6. #6
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    28
    Beiträge
    3.517
    Blog-Einträge
    9
    Sicher das das LCD auch so angeschlossen ist wie du es im Programm deklariert hast?

  7. #7
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    25.01.2006
    Ort
    Straubing
    Alter
    40
    Beiträge
    698
    Sciher bin ich mir nicht, drum frage ich hier.

    Ich habe mal ein paar Fotos gemacht und habe mal die Kabel markiert. Ich hoffe man kann hier die Anschlüße nachvollziehen.








    Bei Pin 3 bei dem grünen Kabel dort ist ein 1k Widerstand eingelötet. Das ist auf dem Foto etwas schwer erkennbar.
    Gruß Eddie
    __________________________________________________ ___________________
    Habe keine Angst davor, etwas Neues auszuprobieren, ein Amateur hat die Arche gebaut, Profis die Titanic!

  8. #8
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    28
    Beiträge
    3.517
    Blog-Einträge
    9
    Mess die Leitungen mal mit einem Multimeter durch und prüfe ob das Display so angeschlossen ist wie du es im Programm festlegst.

  9. #9
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    12.01.2007
    Ort
    westliches Pannonien
    Beiträge
    123
    Hallo!


    Zuallererst die Lötstellen nachbessern!!!!!!


    MfG
    Rone

  10. #10
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    22.07.2009
    Beiträge
    405
    Wenn Du tatsächlich das oben abgebildete LCD hast brauchst Du eine negative Kontrastspannung (-2,5V) an Pin3.

Ähnliche Themen

  1. wiedermal Bascom und SD Karte Atmega8
    Von kollimann im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 0
    Letzter Beitrag: 28.08.2009, 16:26
  2. wiedermal Probleme mit dem Prog.-gerät
    Von ToniThiele im Forum PIC Controller
    Antworten: 4
    Letzter Beitrag: 05.08.2007, 15:28
  3. Wiedermal Problem mit 24C64 EEPROM
    Von basil_05 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 1
    Letzter Beitrag: 20.06.2006, 02:15
  4. SD20 wiedermal
    Von djdune im Forum PIC Controller
    Antworten: 0
    Letzter Beitrag: 22.01.2006, 22:05
  5. Wiedermal ein LCD Problem
    Von ThunderD im Forum Elektronik
    Antworten: 5
    Letzter Beitrag: 31.12.2004, 18:10

Berechtigungen

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