Archiv verlassen und diese Seite im Standarddesign anzeigen : Kein Roboter, nur Unsinn: Scrolltext auf 7-Segmentanzeige
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 (http://www.miworld.com.sg/mplayer/index.jsp) oder den VLC (Video-Lan-Client).
http://img211.imageshack.us/img211/4599/scroller15pz.jpg
http://img394.imageshack.us/img394/7673/scroller27kj.jpg
Video (http://wwwhomes.uni-bielefeld.de/jhartmann2/avr-testplatine/scroller.3gp)
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.
ja nur k, m, w, x sind halt ned machbar.
HannoHupmann
02.03.2006, 13:45
Trozdem lustig, muss man halt andere Wörter verwenden.
Haben wir so gemacht:
K
|_
|
M immer gross
__
| |
| |
N dagegen klein
__
| |
X
__|
|
Wie gesagt, in einem Wort (im Kontext) geht das halbwegs, naja.
Baumschubser
02.03.2006, 17:45
Moin Moin,
kannst du vielleicht deinen Quellcode zeigen?
ist aber nicht sooo schön:
$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
NumberFive
03.03.2006, 07:34
Nur zu deine Info der Quicktime player kann das Video auch wieder geben.
Gruß
oh, klasse. :) seit ich den vlc hab hab ich gar keinen qt-player mehr drauf.
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ß. :)
Felixx87
09.03.2006, 11:33
ach der Realplyer schafft des mit nem update auch ;)
sieht net schlecht aus :)
die sechste stelle ist jetzt auch in betrieb. ich überleg nen modul für die parallele schnittstelle zu machen, das sich mit den gängigen lcd-progs ansteuern lässt und das dann daten vom winamp oder so anzeigt. ist mal was anderes :)
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.