-         

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

Thema: Kein Roboter, nur Unsinn: Scrolltext auf 7-Segmentanzeige

  1. #1
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    09.05.2004
    Ort
    Bielefeld / Paderborn
    Beiträge
    1.253

    Kein Roboter, nur Unsinn: Scrolltext auf 7-Segmentanzeige

    Anzeige

    Mini-Projekt zum Zeitvertreib:

    Da ich gerade mal für keine Prüfung lernen muss, plagt mich die Langeweile. Ich hatte noch zwei 3-fach-7-Segmentanzeigen aus 2 Satellitenreceivern rumliegen. Erst war der Plan, ein kleines Modul zu machen, dem ich Zahlen schicken kann und das die dann anzeigt. Nur um I²C mal auszuprobieren. Aber wo ich so am Programmieren war hab ich noch ein paar Buchstaben gemacht und eben bin ich beim Scolltext angekommen. Man kann fast alle Buchstaben anzeigen. Teilweise sogar Groß-und Kleinschreibung. Ich hab jetzt vor, die anzuzeigenden Strings über RS232 zu übertragen.
    Das Ganze hab ich (recht ineffizient und dreckig) in Bascom geschrieben. Momentan funktionieren nur 5 Segmente, weil mir ein Transistor fehlt. Elektronisch siehts so aus dass ich als Controller nen Atmega8 nehme, an PortC (6 bit) die gemeinsamen Anoden der Segmentanzeigen über Transistoren steuere und über PortD die Binärkombination für die Zahl + Punkt anlege. Ganz einfach also.

    Hier noch Bilder und ein Video. Das Video ist mit nem Nokiahandy gemacht, um es abzuspielen braucht man den Nokia Multimedia-Player oder den VLC (Video-Lan-Client).





    Video

  2. #2
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Ist lustig. Bevor auf jedem Kugelschreiber ein graphisches dotmatrix -display war, haben wir das auch probiert. Es sind halt ein paar Zeichen, die schwierig sind. Aber im Kontext, wo man eh' weiß, ob es ein "S" oder eine "5" sein soll, kann man sich schon damit helfen.
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    09.05.2004
    Ort
    Bielefeld / Paderborn
    Beiträge
    1.253
    ja nur k, m, w, x sind halt ned machbar.

  4. #4
    Moderator Robotik Einstein Avatar von HannoHupmann
    Registriert seit
    19.11.2005
    Ort
    München
    Alter
    35
    Beiträge
    4.528
    Blog-Einträge
    1
    Trozdem lustig, muss man halt andere Wörter verwenden.

  5. #5
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Haben wir so gemacht:

    K
    |_
    |

    M immer gross
    __
    | |
    | |

    N dagegen klein

    __
    | |

    X
    __|
    |

    Wie gesagt, in einem Wort (im Kontext) geht das halbwegs, naja.
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    01.11.2004
    Alter
    33
    Beiträge
    29
    Moin Moin,

    kannst du vielleicht deinen Quellcode zeigen?

  7. #7
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    09.05.2004
    Ort
    Bielefeld / Paderborn
    Beiträge
    1.253
    ist aber nicht sooo schön:

    Code:
    $regfile = "m8def.dat"
    $crystal = 1000000
    Config Portd = Output
    Config Portc = Output
    Dim Zahl As String * 1
    Dim Eingabe As String * 255
    Dim Ausgabe As String * 6
    Dim X As Byte
    Dim Waittime As Byte
    Dim Scroller As Byte
    Dim Timervar As Word
    Dim Len6 As Byte
    
    
    Eingabe = "     dies ist ein eingabestring       "
    Len6 = Len(eingabe) - 6
    Scroller = 1
    Ausgabe = Mid(eingabe , Scroller , 5)
    Timervar = 0
    Waittime = 2
    
    Cycle:
    
    
    Incr Timervar
    If Timervar > 6 Then Gosub Timeroverflow
    
    Let X = 5                                                   'Len(eingabe)
    Portc = &B11111110                                          'Stelle 1
    Gosub Zahlenauswahl
    Waitms Waittime
    Gosub Clear
    Decr X
    Portc = &B11111101                                          'Stelle 2
    Gosub Zahlenauswahl
    Waitms Waittime
    Gosub Clear
    Decr X
    Portc = &B11111011                                          'Stelle 3
    Gosub Zahlenauswahl
    Waitms Waittime
    Gosub Clear
    Decr X
    Portc = &B11110111                                          'Stelle 4
    Gosub Zahlenauswahl
    Waitms Waittime
    Gosub Clear
    Decr X
    Portc = &B11101111                                          'Stelle 5
    Gosub Zahlenauswahl
    Waitms Waittime
    Gosub Clear
    Decr X
    Portc = &B11011111                                          'Stelle 6
    Gosub Zahlenauswahl
    Waitms Waittime
    Gosub Clear
    Goto Cycle
    
    Clear:
    Portd = 255
    Waitms 1
    Return
    
    Timeroverflow:
    Timervar = 0
    Incr Scroller
    Ausgabe = Mid(eingabe , Scroller , 5)
    If Scroller > Len6 Then Scroller = 1
    Return
    
    Zahlenauswahl:
    Zahl = Mid(ausgabe , X , 1)
      Select Case Zahl
        Case " " : Portd = &B11111111
        Case "0" : Portd = &B00101000
        Case "1" : Portd = &B11101110
        Case "2" : Portd = &B00110010
        Case "3" : Portd = &B10100010
        Case "4" : Portd = &B11100100
        Case "5" : Portd = &B10100001
        Case "6" : Portd = &B00100001
        Case "7" : Portd = &B11101010
        Case "8" : Portd = &B00100000
        Case "9" : Portd = &B10100000
        Case "A" : Portd = &B01100000
        Case "a" : Portd = &B01100000
        Case "B" : Portd = &B00100101
        Case "b" : Portd = &B00100101
        Case "C" : Portd = &B00111001
        Case "c" : Portd = &B00110111
        Case "D" : Portd = &B00100110
        Case "d" : Portd = &B00100110
        Case "E" : Portd = &B00110001
        Case "e" : Portd = &B00110000
        Case "F" : Portd = &B01110001
        Case "f" : Portd = &B01110001
        Case "G" : Portd = &B10100000
        Case "g" : Portd = &B10100000
        Case "H" : Portd = &B01100100
        Case "h" : Portd = &B01100101
        Case "I" : Portd = &B11101110
        Case "i" : Portd = &B11101110
        Case "J" : Portd = &B00101010
        Case "j" : Portd = &B00101110
        Case "L" : Portd = &B00111101
        Case "l" : Portd = &B00111101
        Case "N" : Portd = &B01100111
        Case "n" : Portd = &B01100111
        Case "O" : Portd = &B00100111
        Case "o" : Portd = &B00100111
        Case "P" : Portd = &B01110000
        Case "p" : Portd = &B01110000
        Case "Q" : Portd = &B11100000
        Case "q" : Portd = &B11100000
        Case "R" : Portd = &B01110111
        Case "r" : Portd = &B01110111
        Case "S" : Portd = &B10100001
        Case "s" : Portd = &B10100001
        Case "T" : Portd = &B00110101
        Case "t" : Portd = &B00110101
        Case "U" : Portd = &B00101100
        Case "u" : Portd = &B00101111
        Case "Y" : Portd = &B10100100
        Case "y" : Portd = &B10100100
        Case "Z" : Portd = &B00110010
        Case "z" : Portd = &B00110010
        Case Else : Portd = &B11011111
      End Select
    
    Return

  8. #8
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    31.01.2004
    Ort
    36399
    Alter
    43
    Beiträge
    1.517
    Nur zu deine Info der Quicktime player kann das Video auch wieder geben.

    Gruß
    Home
    P: Meine Tochter (06.11.07) und Link
    M: Träumen hat nix mit Dummheit zu tun es ist die Möglichkeit neues zu erdenken

  9. #9
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    09.05.2004
    Ort
    Bielefeld / Paderborn
    Beiträge
    1.253
    oh, klasse. seit ich den vlc hab hab ich gar keinen qt-player mehr drauf.

  10. #10
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    14.02.2006
    Ort
    Scheeßel
    Alter
    37
    Beiträge
    233
    Zitat Zitat von PicNick
    Ist lustig. Bevor auf jedem Kugelschreiber ein graphisches dotmatrix -display war, haben wir das auch probiert. Es sind halt ein paar Zeichen, die schwierig sind. Aber im Kontext, wo man eh' weiß, ob es ein "S" oder eine "5" sein soll, kann man sich schon damit helfen.

    Haha, da fällt mir das "alte" Telefon bei der Bundeswehr (für den Laden schon richtig modern) damals wieder ein. Das hatte auch ein 7Segment-Display als Status-Anzeige. Eine der ersten Fragen unseres Ausbilders war dann:

    "Was bedeutet auf dem Telefondisplay die Fehlermeldung A-U-5?"

    Eine Weile hat's gedauert, aber dann war das Gelächter groß.

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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