I have written a sprinkler timer system (Python) for the Raspberry Pi 2B+. The Pi is connected to a 2 line LCD, 4 switch circuits, and an 8-way relay board with all 8 relays being used, and the 5V and GND also connected to the Pi. The relays themselves have a separate 5V power source and are turning on a 24v AC circuit connected to a solenoid.
There are 4 buttons connected to the Pi using a pull down resistor and capacitor.
When running in a loop to control the ON / OFF timing of the relays, the pull-down function is activated on GPIO 16 (which is connected to one of the 4 switches) even though NONE of the relevant buttons has been pushed. Trial and error shows that the voltage on the GPIO16 pin drops below the threshold indicating that the GPIO pin has gone from HIGH to LOW, when in fact NO influencing has come to bear on the pin.
The program works perfectly when the relay's are not connected to the solenoids. When the relays are connected to the 24v AC solenoids, then the problem highlighted above starts
What could cause the voltage on a GPIO to drop when there is no external influence (ie No button was pushed) ?