I have a problem with a circuit I just built (cf. attached schematic). In works perfectly well on the breadboard. The perfboard version, with everything soldered on, has a small issue which I don’t understand.
The Arduino sketch mainly lights up different LEDs with the HC595s according to button presses shifted in through the HC165s (it’s a complicated menu system for a device). This functionality is preserved entirely in the perfboard version, i.e. I can select buttons and LEDs display like they should.
The one notable exception is the top right button: when it’s pressed, the button pressed is registered by the sketch but all the board LEDs start blinking quickly at a very dim level. If, say, a LED somewhere in the middle is set to be ON (normally getting 1.8V), then the LEDs to the left of it are dimmer than the ones to the right of it, and the LED itself is now getting only 1.2V (i.e. the HC595 seems to be sending it, and it only, 0.6V less than it should). This behavior only lasts as long as the button is held.
I’ve checked the sketch several times, outputting variables to the Serial Monitor, and it’s not a software issue. I’ve also replugged everything back to the breadboard version and the problems disappeared. I’ve examined several times the perfboard version but I can’t figure out what could be causing the problem.
Is there any way someone could help me figure this out?