methods for several analog channels?

Okay so here's the deal - I need to take a digital signal and turn it into several analog signals. Is there any practical way of doing this?

Could I, for example, use a DAC to create several analog voltages in serial, then store those voltages in an analog shift register/latch (do those even exist?) and then output those voltages simultaneously in parallel for a certain amount of time? The simultaneous part is pretty important in my project.

Or is there a much simpler method that I'm not aware of? Analog multiplexing maybe? Any suggestions would be helpful.

BTW, I only need current in one direction, this isn't an audio project.

How many channels do you need, you can drive six channels using analogWrite.

Eventually, 96 channels :D yea I know :P

Also, I'm shooting for 8 bits of resolution, although if bandwidth becomes a problem (read on), I could live with less.

Right now I'm using the arduino to learn how to interface between the AVR chip and whatever chips I end up using. Eventually I may have to move to a more powerful AVR microcontroller so that I can push out the bits quickly enough, but for now, I'm practicing with the Diecimila, so I understand 96 may not be possible. The challenge is to see how I can distribute controlled voltages to more channels than I have IO pins.

mem: If I'm not mistaken, analogwrite uses PWM, which by itself won't do because I need steady dc voltage. I might be able to use an RC circuit to level the signal, but there may be some granularity lost. Another option for digital to analog conversion which I've been experimenting with is using an R-2R ladder (

It will take experimentation to get it right with whatever route I take, but I'll get it eventually, so take digital to analog conversion as given. The key question is how could you distribute controlled voltages to more channels than you have IO pins?

I work on RTD, Thermocouple, ADC and DAC devices used in plant automation. I do the RMA for a company.

You use can use a MAX132

And have it control an analog multiplexer like,,768_836_ADG428,00.html

That gives you 8 inputs to the ADC and it will only eat up a few arduino pins. I've not interfaced the arduino to the max chip yet.

If that's too much just use the mux chip and directly control it with the arduino.

There are ways to extend the number of mux ICs you can control with a shift register.

The real trick is getting your analog converted to a format either an a/d chip like the max or the arduino can accurately interpret.

Sweet, except I'm converting digital to analog and outputting those voltages, not the other way around. Are there comparable DACs and demuxers to your ADCs and muxers? I'll look too until I'm tired, I'll update if I find anything.

CCD bucket brigade analog shift registers were used for that kind of app before pure digital solutions became more accessible at reasonable cost for commercial applications. Here is a reference to one such device:

DOH! Misread that. :-[

Yea you need a device you can set the output on and then go do something else.
Again Dallas is the one I’m familiar with but I’ve not hacked it together with the with the Arduino yet as it needs a breakout board.

32 outputs

Sweet, except I’m converting digital to analog and outputting those voltages, not the other way around. Are there comparable DACs and demuxers to your ADCs and muxers? I’ll look too until I’m tired, I’ll update if I find anything.

Oh, man, that is perfect! I'm giddy :D

So I'd just use 3 of those to get 96 channels then... wow, that makes everything so simple. THANK YOU! ;D