Hi,
nu mal was neues. Ein erstes Video meiner neuesten Creation.
Eine 16Segmentanzeige welche durch einen 6stelligen Code
dazu bewegt wird ihre Infos's zu verraten.
Video
Der Nachleuchtefekt tritt nur bei der Videoaufnahme ein, das Auge ist dafür zu Langsam.
An dem Steckverbinder befinden sich die Tasten des Codeschloß wobei die Tasten am Stecker K1X9 angeschlossen sind. Die 6 richtigen Tasten schalten das Ausgangssignal des 4017 jeweils um einen Port weiter indem der Ausgang einfach über die Taste wieder auf den Clockeingang geführt wird. Alle anderen Tasten resetten den Zähler wieder. Wenn der Endstand erreicht ist wird der Tiny über das Photomosrelais ( AQY212EH ) auf Spannung gelegt und rattert dann seinen gespeicherten Text ab. Am Schluß resettet der Tiny dann über den Port PA1 den Zähler.
Code dazu:
nu mal was neues. Ein erstes Video meiner neuesten Creation.
Eine 16Segmentanzeige welche durch einen 6stelligen Code
dazu bewegt wird ihre Infos's zu verraten.
Video
Der Nachleuchtefekt tritt nur bei der Videoaufnahme ein, das Auge ist dafür zu Langsam.
An dem Steckverbinder befinden sich die Tasten des Codeschloß wobei die Tasten am Stecker K1X9 angeschlossen sind. Die 6 richtigen Tasten schalten das Ausgangssignal des 4017 jeweils um einen Port weiter indem der Ausgang einfach über die Taste wieder auf den Clockeingang geführt wird. Alle anderen Tasten resetten den Zähler wieder. Wenn der Endstand erreicht ist wird der Tiny über das Photomosrelais ( AQY212EH ) auf Spannung gelegt und rattert dann seinen gespeicherten Text ab. Am Schluß resettet der Tiny dann über den Port PA1 den Zähler.
Code dazu:
Code:
$hwstack = 20
$regfile = "ATtiny2313.DAT"
$crystal = 128000
Config Porta = &B00000011
Config Portb = &B11111111
Config Portd = &B01111111
Porta = 0
Portb = 0
Portd = 0
Stop Ac
Enable Interrupts
Dim Zeichen As String * 1
Restore Daten 'Am Beginn der Daten anfangen
Do
Read Zeichen
Wdtcr = &B11010110 'Watchdog auf 1s stellen
If Zeichen = "0" Then Gosub P0 'schreibt 0 ins Display
If Zeichen = "1" Then Gosub P1 'schreibt 1 ins Display
If Zeichen = "2" Then Gosub P2 'schreibt 2 ins Display
If Zeichen = "3" Then Gosub P3 'schreibt 3 ins Display
If Zeichen = "4" Then Gosub P4 'schreibt 4 ins Display
If Zeichen = "5" Then Gosub P5 'schreibt 5 ins Display
If Zeichen = "6" Then Gosub P6 'schreibt 6 ins Display
If Zeichen = "7" Then Gosub P7 'schreibt 7 ins Display
If Zeichen = "8" Then Gosub P8 'schreibt 8 ins Display
If Zeichen = "9" Then Gosub P9 'schreibt 9 ins Display
If Zeichen = "a" Then Gosub Pa 'schreibt a ins Display
If Zeichen = "b" Then Gosub Pb 'schreibt b ins Display
If Zeichen = "c" Then Gosub Pc 'schreibt c ins Display
If Zeichen = "d" Then Gosub Pd 'schreibt d ins Display
If Zeichen = "e" Then Gosub Pee 'schreibt e ins Display
If Zeichen = "f" Then Gosub Pf 'schreibt f ins Display
If Zeichen = "g" Then Gosub Pg 'schreibt g ins Display
If Zeichen = "h" Then Gosub Ph 'schreibt h ins Display
If Zeichen = "i" Then Gosub Pi 'schreibt i ins Display
If Zeichen = "j" Then Gosub Pj 'schreibt j ins Display
If Zeichen = "k" Then Gosub Pk 'schreibt k ins Display
If Zeichen = "l" Then Gosub Pl 'schreibt l ins Display
If Zeichen = "m" Then Gosub Pm 'schreibt m ins Display
If Zeichen = "n" Then Gosub Pn 'schreibt n ins Display
If Zeichen = "o" Then Gosub Po 'schreibt o ins Display
If Zeichen = "p" Then Gosub Pp 'schreibt p ins Display
If Zeichen = "q" Then Gosub Pq 'schreibt q ins Display
If Zeichen = "r" Then Gosub Pr 'schreibt r ins Display
If Zeichen = "s" Then Gosub P5 'schreibt s ins Display
If Zeichen = "t" Then Gosub Pt 'schreibt t ins Display
If Zeichen = "u" Then Gosub Pu 'schreibt u ins Display
If Zeichen = "v" Then Gosub Pv 'schreibt v ins Display
If Zeichen = "w" Then Gosub Pw 'schreibt w ins Display
If Zeichen = "x" Then Gosub Px 'schreibt x ins Display
If Zeichen = "y" Then Gosub Py 'schreibt y ins Display
If Zeichen = "z" Then Gosub Pz 'schreibt z ins Display
If Zeichen = "-" Then Gosub Pss 'schreibt Bindestrich
If Zeichen = " " Then Gosub Leer 'Leerzeichen
If Zeichen = "+" Then Gosub Pres 'resettet Zahlenschloss
If Zeichen = "X" Then End
Loop
P0:
Portb = &B11111111
Portd = &B00000100
Porta = &B00000001
Reset Watchdog
Powerdown
Portd = 0
Portb = 0
Porta = 0
Return
P1:
Portb = &B00001100
Reset Watchdog
Powerdown
Portb = 0
Return
P2:
Portb = &B01110111
Portd = &B01001000
Reset Watchdog
Powerdown
Portd = 0
Portb = 0
Return
P3:
Portb = &B00111111
Portd = &B01001000
Reset Watchdog
Powerdown
Portd = 0
Portb = 0
Return
P4:
Portb = &B10001100
Portd = &B01001000
Reset Watchdog
Powerdown
Portd = 0
Portb = 0
Return
P5:
Portb = &B10111011
Portd = &B01001000
Reset Watchdog
Powerdown
Portd = 0
Portb = 0
Return
P6:
Portb = &B11111011
Portd = &B01001000
Reset Watchdog
Powerdown
Portd = 0
Portb = 0
Return
P7:
Portb = &B00001111
Reset Watchdog
Powerdown
Portb = 0
Return
P8:
Portb = &B11111111
Portd = &B01001000
Reset Watchdog
Powerdown
Portd = 0
Portb = 0
Return
P9:
Portb = &B10111111
Portd = &B01001000
Reset Watchdog
Powerdown
Portd = 0
Portb = 0
Return
Pa:
Wdtcr = &B11010101
Portb = &B11001111
Portd = &B01001000
Reset Watchdog
Powerdown
Portd = 0
Portb = 0
Return
Pb:
Wdtcr = &B11010101
Portb = &B00111111
Portd = &B00011010
Reset Watchdog
Powerdown
Portd = 0
Portb = 0
Return
Pc:
Wdtcr = &B11010101
Portb = &B11110011
Reset Watchdog
Powerdown
Portb = 0
Return
Pd:
Wdtcr = &B11010101
Portb = &B00111111
Portd = &B00010010
Reset Watchdog
Powerdown
Portd = 0
Portb = 0
Return
Pee:
Wdtcr = &B11010101
Portb = &B11110011
Portd = &B01000000
Reset Watchdog
Powerdown
Portd = 0
Portb = 0
Return
Pf:
Wdtcr = &B11010101
Portb = &B11000011
Portd = &B01000000
Reset Watchdog
Powerdown
Portd = 0
Portb = 0
Return
Pg:
Wdtcr = &B11010101
Portb = &B11111011
Portd = &B00001000
Reset Watchdog
Powerdown
Portd = 0
Portb = 0
Return
Ph:
Wdtcr = &B11010101
Portb = &B11001100
Portd = &B01001000
Reset Watchdog
Powerdown
Portd = 0
Portb = 0
Return
Pi:
Wdtcr = &B11010101
Portb = &B00110011
Portd = &B00010010
Reset Watchdog
Powerdown
Portd = 0
Portb = 0
Return
Pj:
Wdtcr = &B11010101
Portb = &B01111100
Reset Watchdog
Powerdown
Portd = 0
Return
Pk:
Wdtcr = &B11010101
Portb = &B11000000
Portd = &B01100100
Reset Watchdog
Powerdown
Portd = 0
Portb = 0
Return
Pl:
Wdtcr = &B11010101
Portb = &B11110000
Reset Watchdog
Powerdown
Portb = 0
Return
Pm:
Wdtcr = &B11010101
Portb = &B11001100
Portd = &B00000101
Reset Watchdog
Powerdown
Portd = 0
Portb = 0
Return
Pn:
Wdtcr = &B11010101
Portb = &B11001100
Portd = &B00100001
Reset Watchdog
Powerdown
Portd = 0
Portb = 0
Return
Po:
Wdtcr = &B11010101
Portb = &B11111111
Reset Watchdog
Powerdown
Portb = 0
Return
Pp:
Portb = &B11000111
Portd = &B01001000
Reset Watchdog
Powerdown
Portd = 0
Portb = 0
Return
Pq:
Wdtcr = &B11010101
Portb = &B11111111
Portd = &B00100000
Reset Watchdog
Powerdown
Portd = 0
Portb = 0
Return
Pr:
Wdtcr = &B11010101
Portb = &B11000111
Portd = &B01101000
Reset Watchdog
Powerdown
Portd = 0
Portb = 0
Return
Pt:
Wdtcr = &B11010101
Portb = &B00000011
Portd = &B00010010
Reset Watchdog
Powerdown
Portd = 0
Portb = 0
Return
Pu:
Wdtcr = &B11010101
Portb = &B11111100
Reset Watchdog
Powerdown
Portb = 0
Return
Pv:
Wdtcr = &B11010101
Portb = &B00001100
Portd = &B00100001
Reset Watchdog
Powerdown
Portd = 0
Portb = 0
Return
Pw:
Wdtcr = &B11010101
Portb = &B11001100
Portd = &B00100000
Porta = &B00000001
Reset Watchdog
Powerdown
Portd = 0
Portb = 0
Porta = 0
Return
Px:
Wdtcr = &B11010101
Portd = &B00100101
Porta = &B00000001
Reset Watchdog
Powerdown
Portd = 0
Porta = 0
Return
Py:
Wdtcr = &B11010101
Portd = &B00010101
Reset Watchdog
Powerdown
Portd = 0
Return
Pz:
Wdtcr = &B11010101
Portb = &B00110011
Portd = &B00000100
Porta = &B00000001
Reset Watchdog
Powerdown
Portd = 0
Portb = 0
Porta = 0
Return
Pss:
Portd = &B01001000
Reset Watchdog
Powerdown
Portd = 0
Return
Leer:
Portb = &B00000000
Portd = &B00000000
Reset Watchdog
Powerdown
Return
Pres:
Porta = &B00000010
Reset Watchdog
Powerdown
Porta = 0
Return
End
Daten:
Data "3" , "2" , "1" , "0" , " "
Data "g" , "e" , "h" , "e" , " " , "2" , "0" , "7" , "g" , "r" , "a" , "d" , " "
Data "u" , "n" , "d" , " " , "3" , "5" , "0" , "m" , "e" , "t" , "e" , "r"
Data " " , " " , "+"
Data " " , "X"