I am a mechanical engineer starting my journey with Arduino, so please excuse me if I put some very generalized message.
- I need to sequentially operate 20 output relays, and then verify if the correct relay has been triggered. If the correct relay was triggered, the next relay will be triggered after a delay of 1-2 seconds.
- I plan to do this with an Arduino Uno so that I can generate error messages if any output has not been triggered.
However, the Uno doesn't have sufficient inputs and outputs to do this. So what are my options?
I want to ask you the below:-
- If there are I/O expansion boards available for the Uno? If yes, sharing the details will be helpful;
- A friend recommended to use a multiplexer. Can I use a multiplexer to convert a 4 pin output from the Arduino to 16 pin output, and probably use the saved pins to monitor the inputs? If yes, how?
- Is there something available like a reverse multiplexer wherein the chip can convert the 16 output signals to 4 pin inputs to the Arduino?
Please let me know the best solution wrt the below parameters - reliability of operation, cost, compactness.
Thanks for your time and support.
use a multiplexer to convert a 4 pin output from arduino to 16 pin output
... no, use a de-multiplexer for that, but that would energize only one relay at a timeIs there something available like a reverse multiplexer
... that is incorrect ... you are describing a multiplexer here ... hackaday.com/wp-content/uploads/2016/08/mux-demux.gif