Hello everyone!

Does anyone know about VGA signals? I searched on the web and found some Arduino libraries to generate composite video with Arduino. Then, I found an interesting article about creating VGA images with PIC. Since, the microcontroller in case runs at 2MHz, while Arduino runs at 16MHz, I tought is plausible to generate that signal with Arduino.

I got some results:

1 – Both CRT and LCD monitors detect the signal

2 – Only the CRT shows something flicking on the screen

But, my problem is with timers. I am using the delay() and micros() function, but they aren't accurate enough. Does anyone know how to use interrupts and timers to create a better accurate signal?

Thanks!

Views: 446

Reply to This

Replies to This Discussion

Hi Marcelo,

try using the Arduino Timer 1 http://arduino.cc/playground/Code/Timer1 library. Different from the usual timer library, this one uses the 16-bit timer of atmega328. You can have a precision up to 0.0625uS.

Fernando

Almost there!

Yesterday I could keep a solid blue square on the screen for a few seconds, then it looses sync and come again few seconds later.

But as suggested, I had to use __asm__ and interrupt with timers.

Now, as a fried suggested, I will try the same code in an Arduino Mega, just to test the code and adjust with more precision.

Then, I will go back to UNO.

Hope to have good news soon!

 

Marcelo,

Did you check this link before? http://www.tinyvga.com/avr-vga

It's an Atmega16 based vga project...

Thanks Fenando. This will certainly help.

Today I generate the highest freq signal I could with Arduino: 4MHz.

I did this to make the VGA from the bottom. Now I know how far can I go with it.

I will post the code on the blog.

Very good! I am just trying to understand why she has chosen the ATmega324. Any idea?

I will keep my efforts to do the same but using the ATmega328, or more/less specificaly, the Arduino. :)

My wish is give the opportunity to anyone generate VGA signal using their own Arduinos.

(If nobody has done this yet)

Hey Marcelo, that's my project that HaD linked to, there. The reason I chose an ATmega324 is because:


1) It runs at 20Mhz, and has 10Mhz I/O bandwidth. You need speed to push pixels in VGA. The expected pixel rate is 25.175Mhz, but we can give up some resolution and run a little slower than that.

2) Wide I/O. Unless you generate all your pixels procedurally, you need video memory to render from. Reading memory fast enough to push pixels at VGA rates means you need parallel access to it, and the ATmega324 has a lot of I/O pins. For 8-bit VGA color at a reasonable resolution, you need 16 bit addresses and 8-bit data, for 24 pins total. Then you also need a few other pins for sync signals and such. The ATmega324 is the smallest AVR I know that can meet all these requirements.

The reason some slower chips like the Propeller can generate VGA is because they aren't doing it with the system clock and system I/O. They have special subsystems for the video driving. 

VC,

Thanks for the reply. Now I understood. As I am going forward on my trials with Arduino, more I understand your choice :) . But, I will keep trying with Arduino to see how far I can go.

Please, take a look at the blog post I have just made: http://garagelab.com/profiles/blogs/arduino-generated-vga-color-signal

Any comments are more than welcome.

Thank you!!!

RSS

Latest Activity

Profile IconMarc Stevens, Rafael Caballos, Sobhan kumar vellanki and 1 more joined GarageLab (arduino, electronics, robotics, hacking)
4 hours ago
Profile IconEmma Junge and Halil Birtan joined GarageLab (arduino, electronics, robotics, hacking)
Wednesday
m fluer is now a member of GarageLab (arduino, electronics, robotics, hacking)
May 21
Craig P. Summers commented on GarageLab's blog post A Robot Controlling a Switch
"True automation is becoming more frequent in todays life as automated home helps home homeowners in…"
May 21
Profile Icongeorge villaflor, Steve Kotlowski, John McClure and 1 more joined GarageLab (arduino, electronics, robotics, hacking)
May 20
Anthony M. Hagy commented on GarageLab's blog post Project Sunroof
"Great project idea. The roof is an important part of home, roof contractor plays an important role…"
May 20
Anthony M. Hagy commented on GarageLab's blog post Apple Aims to Test Self-Driving Cars at Military Base
"Nice Post. Thank you for sharing."
May 20
Profile IconMarcus Ataide, abdelrahman taher, Anthony M. Hagy and 4 more joined GarageLab (arduino, electronics, robotics, hacking)
May 16
Profile IconKeshava DEv, bryan mcfadden and babbelkwebbel joined GarageLab (arduino, electronics, robotics, hacking)
May 9
Rosa Yu is now a member of GarageLab (arduino, electronics, robotics, hacking)
May 6
Profile IconMarvin Wright and chaudhari vipin vasudev joined GarageLab (arduino, electronics, robotics, hacking)
May 4
Marcelo Rodrigues replied to Peter Davies's discussion Anyone got stock of Garagelabs automation board
"Peter, I will talk them to check if they can produce more units and make available on their…"
May 3
Brian B. Feaster commented on GarageLab's blog post Information Trade Between Cars by Wi-Fi
"I like this idea of information trade between cars by the WI-Fi . This would contribute in reducing…"
May 2
Peter Davies replied to Peter Davies's discussion Anyone got stock of Garagelabs automation board
"Hi Marcello I have bought all of Seeeds stock in two purchases - 8 units in all.  When I asked…"
May 2
Profile Icontarun patel, Enrique S. Perez Rodriguez, K Fiore and 5 more joined GarageLab (arduino, electronics, robotics, hacking)
May 2
Marcelo Rodrigues replied to Peter Davies's discussion Anyone got stock of Garagelabs automation board
"Peter, You can buy them on…"
May 2
Rob Lambert joined Marcelo Rodrigues's group
Thumbnail

Arduino

Group for the Arduino communitySee More
Apr 30
Sardar Tamoor commented on Thulana Vimukthi's blog post GPS GUIDED AUTONOMOUS ROBOT
"can you plz help me on my project !!! its basically obstacle avoidance in dynamic environment and…"
Apr 27
Sardar Tamoor commented on Thulana Vimukthi's blog post GPS GUIDED AUTONOMOUS ROBOT
"can you plz help me on my project !!! its basically obstacle avoidance in dynamic environment and…"
Apr 27
Sardar Tamoor is now a member of GarageLab (arduino, electronics, robotics, hacking)
Apr 26

© 2016   Created by Marcelo Rodrigues.   Powered by

Badges  |  Report an Issue  |  Terms of Service