I would like to test continuity from one end of a harness to another. Each end has 110 connections.
I would like to automate this test as it's quicker than using a DVM!
As I'm limited by the number of I/O pins available on an Arduino, does anyone have any thoughts on how this can be achieved?
Ideally I would like to pulse a pin and read the other end as an input. All the other inputs will be read to make sure no voltage is read back for each pin. This will inform me of any shorts and do a proper cross check on all pins.
Set one end to low, pull-up resistor on the other end. High reading is no contact, low reading is contact. For good measure enable only one output at a time and check all inputs to see whether it's maybe connected to another one.
For the outputs: 74HC595 shift registers. 14 of them. Shift in 112 1s, then a single 0. Do measurement. Shift in a 1. Do measurement. Repeat for 110 times, and the 0 has passed by all wires.
Input side: 74HC165 shift registers. Add a pull-up resistor to every single input (1k-10k between input and Vcc).
For each measurement: read out all inputs; check that they are all 1s except where you expect the 0 (from the corresponding output). If so, it's connected. If you find a 0 elsewhere, it's wrongly connected. If you find no 0, it's not connected.
This whole process an Arduino can do in a fraction of a second.
Of course you can also use pull-down resistors and reverse all the bits. I'm just used to working with pull-ups as you use on buttons. Remember to add a 100 nF decoupling cap to the supply pins of every single shift register.