Das Ziel ist, ein Videosignals mit dem (AVR) Mikrocontroller
zu erzeugen....
Das geht leicher als es den Anschein hat.
Diese Seite wurde inspiriert durch eine Idee, die ich gefunden
habe. bei www.UlrichRadig.de.
Der
16Bit Timer erzeugt das 64µSekunden Sync-Signal und der SDI
Synchronausgang erzeugt Jitterfreie SW-Signale. Mischen, Fertig!
Es
gibt verschiedene Realisationen, auch mit VGA Ausgang. Aber
mit
unterschiedlich genutzten Ports. AT8 anders als z.B.AT16
Hier erstmal die Software: AT16_AVR_VIDEO.zip.
( Für ATMega 8)
Habs etwas verändert und mit einem dynamischen
Ausgabebeispiel versehen.
Das Projektfile kann min "WINAVR" geöffnet werden, oder das main.hex
direkt in den ATMega8 geladen werden.
. Schaltung weiter unten..
FBAS ist der Name für ein Farb Video Signal, die
ein Fernseher versteht.. siehe weiter unten.
Wir nutzen hier aber einfach Schwarz-Weiß = BAS
signal
Damit kann man darstellen was man will.. und das auf einem einfachen
Fernseher mit Videoeingang ( hat fast jeder )
eine tolle Sache.....sieht etwa so aus..
( erinnert mich an meinen 1. Computer, den 1K RAM
Sinclair ZX81, den ich mir 1982 gekauft habe.
!!!
SUPER...
ein
schneller Aufbau! fertig mit einem Busstecker und einer
Chicnch
Buchse für den Asnchluss an den Fernseher bzw Videokarte.
Wie man sieht, es gehts auch SAUBER gelötet . Tip: mit Teflondraht,
freie Leitungen oben verknoten. So siehts aufgeräumt aus.
Ausgänge PB1, PB3 , Masse und +5V werden genutzt.
etwas Theorie, Das 'F'BAS ( Fernseh Video) Signal sieht etwas so aus:
Das 64µS BAS Signal wird mit den 16bit Timer, Interrupt und
den seriell-synchron SDI für die Daten erzeugt...
und so wirds gemacht ! MEHR NICHT! Allerdings nur schwarz,
weiß... immerhin...
Graustufe mach ich noch... Stichwort R2R Analogumwandlung
das Signal ist etwas schmutzig.. Weiß-Pegel zu hoch etc..
da
kann man sicher noch einiges verbessern.( Spannungreduzierung z.B. via
grüner Leuchtdiode=1.4V anstelle des 1N4148 am TreiberTransistor etc.)
Achtung belegungen: im ATMega8 udn ATMega16 sind unterscheidlich,
Gemint ist:
an PB3 = MOSI des µController am ATMega16 = PB5
an Pb1 = frei wählbarer , am ATMega16 jetzt = PB1, damit s auf dem Selben Port ist.. siehe Headerfile