Project Info
Author: Chris
Difficulty: Medium
Time Invested: 2 Hours
Prerequisites:
Take a look at the above
articles before continuing
to read this article.
Author: Chris
Difficulty: Medium
Time Invested: 2 Hours
Prerequisites:
Take a look at the above
articles before continuing
to read this article.
In this article we'll explore how to output VGA signals from an Arduino UNO by using the timer interrupt to keep output in sync with the exact timing required by the VGA protocol. The end result will be a very empty 'main' loop in our software and a lot of interrupt code that handles everything else. The Arduino is only running at 16 MHz so doing VGA with interrupts on it is really pushing the limits!
Purpose & Overview Of This Project
The purpose of this project is to output VGA signals @ 800x600 resolution in a similar fashion as we've done in past Arduino VGA articles. Tri-color output blue, green and red. While this seems boring to average joe-schmoe jack, getting a reliable and static output to a VGA monitor is the first step to actually being able to output more advanced signals and graphics. The timer interrupt in the Arduino will be used to tell the microcontroller everytime a VGA Hsync is necessary.
For this project we'll use the Arduino UNO platform for the processing and a small VGA breakout board that I built back in the day for the masochist's video card. Everything else for this project will be theory and software which means not much hardware to connect together but a lot of software to understand and figure out in order to match the VGA protocol.