I need to read the analog values of up to 50 analog light reflection sensors which are used to determine distance to a specific object with an Arduino-compatible Microcontroller such as:
- Arduino Due with the Atmel SAM3X8E CPU
- Arduino Zero with ATSAMD21G18, 32-Bit ARM Cortex M0+ CPU
But when thinking about my idea I come up with quite some questions I can't really answer myself:
My first Idea was to use several ATSAMD21G18 to read a bunch of 6 analog devices. But that would end up in having at least 9 ATSAMD21G18 and in having to connect them with SPI or I2C.
So I thought of using several analog Multiplexer/Demultiplexer like the 4067 instead. Even this would end up in multiple units of the 4067 but I could use a single Arduino Due / Zero.
My concerns however are that the 4067 does not switch the analog inputs fast enough for my needs. I really would like to read all those analog values as fast as possible. How fast would a 4067 be in this application?
And also. Using the 4067 I have to use digital I/Os to set the input channel of the 4067. Can I wire them in parallel so that I would be able to share the digital I/Os with every single 4067?
And also does the length of the circuit affect the readings when having to deal with distances between the 4067 and the Arduino of about 50cm?