2
\$\begingroup\$

I have 200 digital sensors that I need to read its state from a arduino.

What I was thinking about is to make something like digital leds, where i connect 200 IC's in series. the first IC gets a "start" signal over a input pin, and outputs a "done" over one pin, and its state over another pin for (as example) 0.1ms. the next ic, reads the done, and does the same as the pervious chip.. this way each chip outputs its state one after the other to a "main line" that can be read by the arduino instantly.

this has multiple problems:

  • its expensive to buy 200 programmable ICs,
  • its expensive to program 200 ICs.
  • its expensive to buy 200 additional components that are needed to drive the ics.

I was wondering if I am trying to reinvent the wheel.. Is there already a similar product that does the same thing, maybe over a standard protocol? I was not able to find anything.

I am not searching for a specific product, as it would be against the rules, but rather a name for this kind of components that could help me to find something online.

Thank you

\$\endgroup\$
5
  • \$\begingroup\$ @Mat these are touch sensors, but coudl be any digital sensor. they output +5v or 0V. I would like to avoid wiring 200 wires from each sensor to a central board. so i would like to use multiple chips to "forward" its state, and then send a single packet to the arduino all at once \$\endgroup\$ Commented Mar 6, 2022 at 18:52
  • \$\begingroup\$ How far are the sensors apart, and what data rate do you require? \$\endgroup\$
    – jayben
    Commented Mar 6, 2022 at 18:56
  • \$\begingroup\$ @jayben they are about 10 cm apart, and it would be great to read every sensor within 50 ms. \$\endgroup\$ Commented Mar 6, 2022 at 18:58
  • \$\begingroup\$ duckduckgo.com/?q=parallel+in+serial+out+circuits&ia=web \$\endgroup\$
    – jsotola
    Commented Mar 6, 2022 at 19:48
  • 1
    \$\begingroup\$ Watch "EEVblog #1132 - The 3 Cent Microcontroller!" on YouTube youtu.be/VYhAGnsnO7w \$\endgroup\$
    – jsotola
    Commented Mar 6, 2022 at 19:54

2 Answers 2

3
\$\begingroup\$

Shift registers are really cheap; an 8-bit device costs around US $0.10.

If you get a device with parallel-in, serial-in & serial-out capability (such as the 74HC165) then you can just chain the serial output from one device to the input of the next. Toggle a single 'strobe' line to load in the parallel data on all the devices, then just generate 200 SPI clock cycles and you'll receive your 200-bit data. A modest clock speed of 100 kHz would give you a 2 millisecond sample time, well within your requirements.

If this circuitry is operating in an area with a lot of electrical interference, you might need to take some defensive measures; the data rate is sufficiently low that you could just add a simple low-pass filter, or opto-isolate the sensors from your arduino.

\$\endgroup\$
2
\$\begingroup\$

Quite understandable that you don't want to use MCUs, with all the overhead costs of developing, testing, proving and manufacturing such a thing.

To meet your wider goal rather than your sketched-out protocol, you can use the 1-Wire bus protocol and COTS ICs.

Each 1-wire bus device can (a) be bus powered or have local power and (b) has a 64-bit unique device ID assigned during manufacture.

Your bus master can use a device discovery procedure to obtain the IDs of all connected devices. You can then address and access each device in turn. You can also add and remove devices and your bus master software can adjust dynamically.

You can either hang all devices off of the single 1-wire bus or split them across multiple 1-wire buses. The single bus uses least wires but has the slowest access (one device at a time) and the highest fault susceptibility (one short and everything's gone). Split buses reduce the effect of a single short on the whole network and allow for multiple device access simultaneously, using suitable software. You don't specify those requirements in your question, so that's all something for you to assess as a system designer.

The 1-wire bus was originally developed by Dallas Semiconductor, now Maxim. They publish an standard for it.

\$\endgroup\$
2
  • \$\begingroup\$ Maxim is now Analog Devices \$\endgroup\$
    – MarkU
    Commented Mar 6, 2022 at 20:49
  • 1
    \$\begingroup\$ @MarkU, no Maxim's not now Analog Devices. AD is now a majority shareholder in Maxim and the latter's website shows this with 'now part of Analog Devices' in the banner. Maxim continues to be a separate company. That's different to Maxim's acquisition of Dallas Semiconductor years back. \$\endgroup\$
    – TonyM
    Commented Mar 6, 2022 at 21:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.