Wie weet wat leuks om te maken?

Ik heb 3 buttons elk met een 10k ohm naar de GND + aangesloten op een digitalPin en de andere kant van de button naar de +.
Ik heb ook 3 LEDs elk naar de GND en de plus met tussenkomst van een 180ohm naar een digitalPin.

Verder heb ik geen wijzigingen gemaakt met de bedrading. Het is ook een simpel circuit. Kan het door code komen dat ze opschuiven?

EDIT: Ik heb het gevonden, zat in de code:

void pressButton(int button, int led, int randLedState)
{
   //Op deze plek werkt het zoals het hoort
   buttonState = digitalRead(button);
   
   if(buttonState == HIGH)
   {
      digitalWrite(led, HIGH); 
   }
   else if(randLedState == LOW)
   {
      digitalWrite(led, LOW);   
   }

    //buttonState = digitalRead(button); <-- op deze plek veroorzaakt hij het probleem
}

Maar ik heb geen idee waarom, iemand?

MAS3:

thabram:
Ik heb overigens de button met een pulldown 10k ohm naar de GND en de andere naar een digitalPin.

Dit is mij niet geheel duidelijk.
Heb je het hier over 2 buttons, of over de 2 pins van 1 button ?

Je moet voorkomen dat het onbekend is of die button nou wel of niet is ingedrukt, en in beide gevallen een min of meer geforceerde waarde genereren.

Vwb de verschoven LEDs, dat is vreemd.
Heb je ook al iemand anders naar je bedrading laten kijken ?
Vaak zit je zelf zo vast in je werkwijze dat je voor de hand liggende fouten niet opmerkt, terwijl een ander die vrijwel direct ziet.