Demux Help

I'm working on a project that takes 9 analog values, does some processing, and then will need to output 9 analog values. The problem is, I need the analog outputs to hold steady while the other ones are being changed (i.e. One output is being updated while the other 8 hold their previous values) (Forgot to add, the outputs will be RGB leds). Maybe there is a chip that can do this or maybe I am missing something, either way I'm not sure how to go about solving this. Any help would be greatly appreciated!

  • Sam R.

If i get this right, you need both 9 analog inputs and 9 analog outputs ?

Arduino only has 6 analog inputs, but they can easily be expanede with A 4051 IC (see playground)

Arduino also has 6 analog outputs, BUT they are PWM outputs and may not be suitable for your purpose. One solution to his could be to use a bunch of DAC's (digital to analog converter IC's)

Thanks for the quick reply! I already have the inputs covered using only one analog pin since the inputs dont need to be constantly read. As for the outputs, do you have any more info, links, articles or anything to help point me in the right direction? I'm not quite sure what you mean by that. Plus I'm not sure (yet) how many pins in general will be left, after using 4 select pins for the multiplexer. Thanks again!

  • Sam

You can get 4 cahnnel DAC's that have I2C interface. This way you can have 3 of these IC's hooked up using only a few Arduino pins.

Here's one i just randomly picked from a google search (I2C DAC) :

http://focus.ti.com/docs/prod/folders/print/dac5573.html?lpos=See_Also_Container&lid=Alternative_Devices

If your only using the analogue outputs to drive an RGB LED like you said then you could use the TLC5940 :-

http://www.farnell.com/datasheets/85896.pdf

This can control 16 LEDs (so 5 RGB ones) and controls the brightness by the PWM method. That might be easer for you.