AV output

Hello Forum

I have had a quick search of the forum and not found anything regarding a av output.

Is the Arduino Uno capable of generating a AV output, my idea is to build a test card generator (Black and white)(Blocks of white/black and lines with a callsign in the center)

One other question
Im new to Arduino and im not 100% if i have to buy a new Arduino Uno board for every project i do, or is it like the PIC chips, program them and drop it into a circuit.
T
hanks.

Shaped:
Hello Forum

I have had a quick search of the forum and not found anything regarding a av output.

Is the Arduino Uno capable of generating a AV output, my idea is to build a test card generator (Black and white)(Blocks of white/black and lines with a callsign in the center)

In the last couple of weeks since I joined the forum, it has come up from time to time, including a query I made (on QVGA) that has now fallen off the first page.

The basic answer is the the Arduino is very limited due its memory size and speed in terms of what it can process. If you have an Uno (and not a Mega), you could use the Video Experimenter shield if you wanted to overlay very low res text or graphics on a video signal:

If you need more processing power, you would best go up to a beefier processor, such as an arm (mbed, Beagle Bone, Raspberry Pi), or a Parallex propeller processor.

Shaped:
One other question
Im new to Arduino and im not 100% if i have to buy a new Arduino Uno board for every project i do, or is it like the PIC chips, program them and drop it into a circuit.
Thanks.

You can reprogram Arduinos anytime you like. The newer development kits you just plug in the USB cable to your computer, and you can upload new software. I believe on older kits, you needed to press a reset button to reprogram it. On some you have to connect the processor via FDDI to a USB connection. If you use a non-development chip, you would need to write it with an ISP to overwrite memory, but most of the Arduinos you buy retail are setup to be reprogrammed quickly.

As I said in another article, if I know I'm going to redo the setup, I often times load something simple into memory before changing the wiring and/or always wait for a button press before beginning any work.

Of course if you do change the board, you might need to rewrite the devices, and I can see for some setups, you wouldn't want to change things in mid-stream, so it might be more convenient to have multiple Arduinos.

Is the Arduino Uno capable of generating a AV output,

Have you looked at TVout?
It'll do the "V" in AV (low-res), but not the "A", for which, you'll need something like a wave shield.

Thanks Michael
I have had a look at Video Experimenter: Arduino shield that lets you do all kinds of experiments with video and that looks like a very interesting project.

Regarding the multiple Uno's, sorry for being stupid but im still no wiser.

When i purchased the Uno (r3) yesterday i charged ahead and built a Lcd display that displayed the input value of Analog(0) port which worked perfectly i might add :slight_smile: This is going to be used as a up/down counter for a CNC milling machine showing the coordinates of each axis. Now i am going to need 3 of these 1, 1 for each axis so 3 x Uno boards at £26, 3 x LCD and any additional components that i require it is going to be a very cost expensive addon.

Last week i purchased the Velleman K8040 Pic programmer with the intention building the above project with pic 16f627 chips, and after looking into the coding i would need to learn, i have give up, but if i could be bothered to learn the programming lanuage required for the PIC chips this looks like the cheapest path to follow. Not only the cheapest but circuit footprint would be a lot smaller.

Can the ATMEGA8 chip can be programmed via the Uno board and then put into a circuit of my own design as a standalone processor.

Shaped:
Thanks Michael
I have had a look at Video Experimenter - nootropic design and that looks like a very interesting project.

Regarding the multiple Uno's, sorry for being stupid but im still no wiser.

When i purchased the Uno (r3) yesterday i charged ahead and built a Lcd display that displayed the input value of Analog(0) port which worked perfectly i might add :slight_smile: This is going to be used as a up/down counter for a CNC milling machine showing the coordinates of each axis. Now i am going to need 3 of these 1, 1 for each axis so 3 x Uno boards at £26, 3 x LCD and any additional components that i require it is going to be a very cost expensive addon.

I'm confused why you would need 3 separate Unos? Note, I am a beginner in terms of Arduinos/hardware, but I've been a professional programmer for 30+ years. The Uno has:

  • 6 analog ports, A0, A1, A2, A3, A4, and A5;
  • 8 digital ports that can emit a single high/low value, 0, 1, 2, 4, 7, 8, 12, and 13;
  • 6 digital ports that can emit a value with PWM (pulse width modulation), 3, 5, 6, 9, 10, and 11.

The Video experimenter uses a few ports:

  • Analog port A2, leaving A0, A1, A3, A4, A5
  • Digital ports 2, 7, 8, and optionally 9, leaving 0, 1, 4, 12, and 13
  • Digital PWM ports 6, 9 leaving 3, 5, 10, and 11

So each time through the loop, you could do 3 AnalogReads of different pins and display them all together.

I haven't tested this, but something like. Note, you would need to modify the screen stuff for what ever your screen defaults are. You would plug the x axis sensor into A1, the y into A2, and the z into A4 (I'm skipping A0 because my lcd screen uses that, and A2 because the Video Experimenter uses that.

// This will be different for your Uno, this is what I would use with my LcdShield
// That uses output pins 4, 5, 6, 7, 8, 9 and 10, and input pin A0

#include <LiquidCrystal.h> 

// select the pins used on the LCD panel
LiquidCrystal lcd (8, 9, 4, 5, 6, 7);

const int pin_x = A1;
const int pin_y = A3;
const int pin_z = A5;

void setup (void)
{
  pinMode (pin_x, INPUT);
  pinMode (pin_y, INPUT);
  pinMode (pin_z, INPUT);
  lcd.init ();
  lcd.clear ();
}

// Read a pin, and write the value on the screen at a given location
void print_axis (const char *string, int pin, int screen_x, int screen_y)
{
  int value = AnalogRead (pin);
  lcd.cursorTo (screen_x, screen_y);
  lcd.print (string);
  lcd.print (value);
  // clear out up to 2 columns depending on the value
  if (value < 10)
    lcd.print ("  ");                // 2 blanks
  else if (value < 100)
    lcd.print (" ");                 // 1 blank
}

void loop (void)
{
  print_axis ("X: ", pin_x, 0, 0);
  print_axis ("Y: ", pin_y, 0, 8);
  print_axis ("Z: ", pin_z, 1, 0);
}

Shaped:
Last week i purchased the Velleman K8040 Pic programmer with the intention building the above project with pic 16f627 chips, and after looking into the coding i would need to learn, i have give up, but if i could be bothered to learn the programming lanuage required for the PIC chips this looks like the cheapest path to follow. Not only the cheapest but circuit footprint would be a lot smaller.

Can the ATMEGA8 chip can be programmed via the Uno board and then put into a circuit of my own design as a standalone processor.

Yes, quite easily. For instance http://arduino.cc/en/Tutorial/ArduinoISP.

Hi Michael
I know the uno is capable of doing what i want all on 1 chip and 1 lcd, i just want 3 displays as they are all going to be different places on the machine.

Regarding the requirement for a uno board for each project, thanks for the link http://arduino.cc/en/Tutorial/ArduinoISP. this was the information i was looking for.

Regards