- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 13

Thema: Laufschrift mit Bascom

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    02.03.2006
    Beiträge
    67

    Laufschrift mit Bascom

    Anzeige

    Powerstation Test
    Gestern habe ich mein 16*2-LCD erfolgreich mit meinem ATMega8 ansteuern können. Mit Bascom habe ich mir ein kleines Programm geschrieben und alles funktioniert soweit.
    Jetzt meine Frage:
    Ist es möglich mit Bascom eine Laufschrift zu programmieren?

    Mit PHP könnte ich sowas recht einfach programmieren.
    Ich habe halt den String und schneide die Zeichen 1-16 davon aus und zeige sie auf dem LCD-Display, nach einer kurze Wartezeit werden die Zeichen 2-17 ausgeschnitten und angezeigt usw.

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    01.03.2004
    Ort
    Bielefeld (JA, das gibt es!)
    Alter
    35
    Beiträge
    1.614
    jupp, das geht auch, dann nimmste die funktion MID() die macht aus nem string nen substring, das willst du doch mal schätze ich?

    Martin
    Ich will Microsoft wirklich nicht zerstören. Das wird nur ein gänzlich unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds, Entwickler von Linux

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    11.11.2005
    Beiträge
    321
    www.sprut.de/electronic/lcd/ .......befehle zum steuern, auch von Bascom aus nutzbar......

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    26.01.2005
    Ort
    Neuburg / Donau
    Alter
    63
    Beiträge
    80
    Hallo Jul-Ian

    Für eine Laufschrift verwendest du einfach den Befehl [glow=red:afd835059d] shiftlcd [/glow:afd835059d]
    Schau mal in die Bascom Hilfe.

    Hier hab ich das mal schnell bei meinem LCD ausprobiert:

    Code:
    'Laufschrift auf LCD
     'Quick and Dirty from Gandalf
    
    
    'LCD mit HD44780 kompatiblem Controller 4 Zeilen a 20 Zeichen
    'Anschluß
    'LCD Pin 1 =  0Volt (GND)
    'LCD Pin 2 =  +5 Volt (VDD)
    'LCD Pin 3 =  0-5 Volt Kontrast (V0): Poti 10k zwischen 0V und 5V Schleifer an LCD3
    'LCD Pin 4 =  RS an PortA.2
    'LCD Pin 5 =  R/W an +5V
    'LCD Pin 6 =  E an Porta.3
    'LCD Pin 7 =  DB0       'frei
    'LCD Pin 8 =  DB1       'frei
    'LCD Pin 9 =  DB2       'frei
    'LCD Pin 10 = DB3       'frei
    'LCD Pin 11 = DB4   an Porta.4
    'LCD Pin 12 = DB5   an Porta.5
    'LCD Pin 13 = DB6   an Porta.6
    'LCD Pin 14 = DB7   an Porta.7
    
    '_____________________________________________________________
    
     $crystal = 16000000
     $regfile = "m16def.dat"                                    ' Ich verwende AT Mega 16
    
    
     Config Lcd = 20 * 4
     Config Lcdpin = Pin , Db4 = Porta.3 , Db5 = Porta.2 , Db6 = Porta.1 , Db7 = Porta.0 , E = Porta.4 , Rs = Porta.5
    
    Cls
    Initlcd                                                     'initialisiert das LCD
                                                     
    '--------------------------------------------------------------
    
    Do                                                          'Begin Hauptschleife
    Cursor Off
    Upperline                                                   'setzt Cursor in die obere Zeile
    Lcd "Schiebe Text"
    Shiftlcd Left                                               ' schiebt Text nach links
    'Shiftlcd Right                                         ' schiebt Text nach rechts
    Waitms 300
    Lowerline
    Lcd "Gandalf made it!"
    Waitms 300                                                  'wartet 0,4 Sekunden
    
    Loop                                                        'erneut aufrufen
    End
    Gruß Bernd (Gandalf)

    Schrott im Keller macht das Erfinden schneller. ( Dietrich Drahtlos )

  5. #5
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    01.03.2004
    Ort
    Bielefeld (JA, das gibt es!)
    Alter
    35
    Beiträge
    1.614
    funzt aber nicht wirklich würde ich sagen, denn der schiebt das im ram rum, und irgendwann schiebt der das dann auch inne nächste zeile ^^

    Martin
    Ich will Microsoft wirklich nicht zerstören. Das wird nur ein gänzlich unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds, Entwickler von Linux

  6. #6
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    03.11.2004
    Beiträge
    370
    Ich denke auch mit mid() nen substring zu bauen ist die realistischste variante. So mache ich es bei allen meiner lcds. Vorteil ist das du eine sub immer wieder verwenden kannst - ausser bei zb Nokia displays

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    02.03.2006
    Beiträge
    67
    Ich bin mit meinem Lauflicht noch kein Stück weiter.

    Gibt es irgendwo eine Dokumentation, welche Befehle Bascom kennt und wie man diese verwendet?

    Ist es eigentlich möglich mit Bascom auch System-Informationen oder z.B. den aktuellen Track in Winamp an das LCD zu senden?

  8. #8
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    01.03.2004
    Ort
    Bielefeld (JA, das gibt es!)
    Alter
    35
    Beiträge
    1.614
    ... nein ... zum glück sonst wärs schon genauso kaputt, wie alles andere an windows ^^

    aber kannst kein englisch? iss doch inner dokumentation drin

    Martin
    Ich will Microsoft wirklich nicht zerstören. Das wird nur ein gänzlich unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds, Entwickler von Linux

  9. #9
    Benutzer Stammmitglied
    Registriert seit
    02.03.2006
    Beiträge
    67
    Meine Englisch-Kenntnisse sind eigentlich recht gut und zum Nachschlagen ist die Hilfe ganz ok.
    Aber sobald ich eine bestimmte Funktion Suche bin ich aufgeschmissen oder muss mir nen Ast suchen.

    Meine Laufschrift funktioniert schon. Aber es ist ein wenig viel gefuscht.

    Code:
    'Settings'
    $regfile = "m8def.dat"
    $crystal = 4000000
    Config Lcd = 16 * 2
    
    'Input/Output'
    Config Lcdpin = Pin , Db4 = Portd.0 , Db5 = Portd.1 , Db6 = Portd.2 , Db7 = Portd.3 , E = Portd.5 , Rs = Portd.4
    Config Lcdbus = 4
    
    'Program'
    
    Do
     Cls
     Dim I As Byte 
     Dim S As String * 21 , Z As String * 21
     S = "               JULIAN"
     I = 1
     Upperline
     While I <= 22
      Cls
      Locate 1 , 1
      Z = Right(s , I) : Lcd Z
      Incr I
      Waitms 500
     Wend
     Loop
    End
    Ich Suche jetzt noch drei Funktionen:
    - zum ausschneiden bestimmter Zeichen aus einem String
    - zum Zählen der Zeichen eines Strings
    - Anfügen von Leerzeichen vor oder nach einem String

    Kann mir da jemand weiterhelfen?

  10. #10
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    03.11.2004
    Beiträge
    370
    die befehle sind in vielen basics eigentlich sehr ähnlich

    ausschnittstring=MID(string,anfangsposition,anzahl _der_zeichen)

    länge=len(string)

    neuer_string=" "+string+" "

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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

MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad