Hi I need to get the analog data of 50+ fotodiods and send the data via ethernet to my home computer. Is the Arduino Mega able to read so many fotodiods via analog in?
or do I need to make small boards with some atmel microprocessors and let them communicate with an arduino board?
Or has someone a better Idea to solve my problem?
Any arduino is capable, assuming you add some analogue multiplexers externally.
could you explain to me what an analog multiplexer is? And if the Arduino board is able to use those and the ethernet shield?
thx
http://www.arduino.cc/playground/Learning/4051
What you have to remember here is that the AVR has only one A/D converter, so the existing six (or eight) inputs are routed through an internal version of this chip.
Yes, you can use them with an ethernet shield.
Below is an inexpensive multiplex board:
This:-
http://www.thebox.myzen.co.uk/Hardware/MIDI_Footsteps.html
Has two multiplexers added. You can add up to 5 directly with the existing number of A/D inputs, giving 8 X 5 = 40 inputs. Anymore and you have to cascade multiplexers. However how fast do you need to read the data from these, it is not going to be too fast.
Back when I went to HTI here in Phoenix, one of our projects was to create a photo-transistor array (8x8) that could be read by an Amiga 500 via its parallel port (we had to code up in C a program to read the data from the port); from what I (barely) remember, the way it was driven was via a circuit similar to what is seen implemented to drive an 8x8 LED matrix...
One could possibly make an 8x8 matrix of the photodiodes, then multiplex a 1 of 8 output to an 8 diode string, then multiplex a 1 of 8 input for all 8 input strings to see which diode(s) are passing current.
There is no need for an analogue input to read a photo detector.
Pololu explain how they do it, for an AVR processor, for their sensor arrays
I accidentally discovered a similar technique when using an LED as a photodetector. I built a night light with one LED that both lights up the room, and detects when it's dark. I also built a couple of Arduino 'fireflies', each with a single LED, which get 'jiggy' when they detect another flashing firefly nearby.
[edit]Ooops - overlapped with Zomkat
Yes, I think I'd do it using a form of Charlieplexing.
Would work okay as long as the readings don't have to be very fast as it takes a couple of milli seconds/sensor/set of pins[/edit]