Source:
http://www.atmel.com/dyn/resources/P...ga163_3_04.pdf
Best regards,
Luciano
Source:
http://www.atmel.com/dyn/resources/P...ga163_3_04.pdf
Best regards,
Luciano
When they say SYNC is negative, what is really meant is that it is negative as compared to the black level of the video. So if sync is at 0 volts, you just have to insure that what you want to be black is at about 0.4 volts and what you want to be white is at 1.0 volts. Most all video monitors capacitively couple to the video input, and do some sort of internal clamping to put the black level where they want it to be.
wahoooo!
see the attachment! its a little blury because I had to turn the flash off so the screen wouldnt be all glareish.
I'm not sure where this project will go next, but it will probably be in the form of some portable video game device. I also need to find out why there is a voltage spike whenever the colors change. You can barely see it in the picture but the first pixel of the gray bar is white. Perhaps a capacitor would fix this.
Congratulations.
Now it'll be interesting to see how far you can go with this PicBasic approach to video.
Congratulations!
Very nice rocking chair! Who is on the couch?
Luciano
RUBiksCUbe,
Before I forget... You should post the code that created that video bar display. Maybe this way you'll get some useful ideas on how to proceed, and/or inspire others in there video related efforts.
Sure the code. BTW noone is on the couch, its just a knitted blanket thats all twisted and some pillows.
I used some really cheap delay methods, like setting the variable i to different things and setting a pin to a value twice to slow the pic down a bit because PAUSEUS actually pauses for about 1.4ish us. Come to think of it, setting a pin twice might create those voltage spikes...
DEFINE OSC 20
'Set them up as outputs
Output PortB.0
Output PortB.1
main:
'Front porch: 1.5us total delay
PortB.1 = 0
PortB.0 = 1
'SIMPLE DELAY
PortB.1 = 0
i = 11
i = i
'Synch: 4.7us total delay time
PortB.1 = 0
PortB.0 = 0
'SIMPLE DELAY
i = 3
i = i + 1
i = i + 1
i = 7
pauseus 3
'NEXT:
'Back Porch: 4.7us total delay time
PortB.1 = 0
PortB.0 = 1
'Simple Delay
PortB.1 = 0
pauseus 4
'SIMPLE DELAY
i = i + 1
'Time to get drawing! 52.6us total time to draw.
'Gray: 4.4us total delay time
PortB.1 = 1
PortB.0 = 0
Pauseus 3
'SIMPLE DELAY
i = i + 1
i = i + 1
i = i + 1
i = i + 1
i = i + 1
i = i + 1
'NEXT:
'Black: 20us total delay time
PortB.1 = 0
PortB.0 = 1
Pauseus 19
'SIMPLE DELAY
i = i + 1
i = i + 1
i = i + 1
'NEXT:
'White: 4us total delay time
PortB.1 = 1
PortB.0 = 1
Pauseus 3
'Black: 20us total delay time
PortB.1 = 0
PortB.0 = 1
Pauseus 19
'SIMPLE DELAY
i = i + 1
i = i + 1
i = i + 1
'NEXT:
'Gray: 4.6us total delay time
PortB.1 = 1
PortB.0 = 0
Pauseus 1
'SIMPLE DELAY
i = i + 1
i = i + 1
i = i + 1
i = i + 1
i = i + 1
i = i + 1
'NEXT:
goto main
And thats the magic. No vertical synch (yet) but it worked on my NTSC TV. Now I just need to fix those stupid i = i + 1 delays and make the video animated.
Bookmarks