Extensive Tests: Software
First operation is calibration and then colours are learnt for later recognition. I boosted the number of memorised colour to 16.
The only change is about sending the values to the TX-C. I'm no longer using a 2-bit opto-isolator but a 8-bit I/O expander.
Actually, I send the value of the colour n to the TX-C on bits 0~3, and light on the corresponding red LEDs on bits 4~7:
myIOs.set( (n ^ 0xf) | (n << 4));
The industrial colour sensor, the Arduino board with its software and the remote 8 I/Os expander may be considered as an independent sub-system or a smart sensor.
74h RGBC (sensor)
i : initial settings
l : calibrate - int = speed, cap = capacities / ISO - white object required
o : offset - no object and sensor taped
w : white balance - white object required
v : show settings
h : show help
0..f : memorise colour - object required
r : recognise memorised colour - object required
SPACE : read color RGBC - object required