I'm using my R-Pi to control two 3x8 demultiplexers to switch 16 reed relays carrying high voltage supply, the aim of the instrument will be to survey for groundwater. I'm at the initial stages now and new to R-Pi's.
- 3 x GPIO outputs address each demultiplexer, I have these attached directly.
- Demultiplexers are powered by external 5 V supply which is directed to the ouput channel to operate the reed relay coil. Again, this is connected directly.
- Reed relays are diode protected.
- Everything works fine when I have my code running and all relevant GPIOs are set to output either high or low values.
- When I have GPIO.cleanup() at the end of the code I notice that all GPIOs in the circuit sit at just under 1V then go above 1V when I put my hand near the wire (no need to actually touch it), this then sets the demultiplexers into a state of confusion and the reed relays randomly flick on and off.
I have not included any pull-up or pull-down resistors in my circuit and I suspect that this may be the issue but I would love some advice on how to implement them and why they are required.
I understand that GPIO.cleanup() will reset all the GPIOs which were used in that code back to their defult values. I believe this means that they will all be inputs. I have noticed that some of my GPIOs (4, 5 and 6) are reading 3.3V following GPIO.cleanup(), does this sound right?
I have soldered the demultiplexers to the strip board, I was careful and quick with plenty of time to cool but is it possible that the heat has caused an issue?