preciso programar um input com isso

que vai ligar um led ou desligar ele.
esse é o programa que troca o estado do led
#define LED_PIN 5
#define TOOGLE_SWITCH_PIN 13
// switch stuff
int readingSwitch;
int previousSwitch = LOW;
boolean on = false;
void setup()
{
pinMode(TOOGLE_SWITCH_PIN, INPUT);
pinMode(LED_PIN, OUTPUT);
digitalWrite(LED_PIN, LOW);
}
void loop()
{
if (wasButtonPressed()) {
switchRelayState();
} else if (wasSwitchToggled()) {
switchRelayState();
}
}
void switchLedState() {
if (on) {
digitalWrite(LED_PIN, LOW);
on = false;
} else {
digitalWrite(LED_PIN, HIGH);
on = true;
}
}
boolean wasSwitchToggled() {
readingSwitch = digitalRead(TOOGLE_SWITCH_PIN);
boolean toggled = false;
if (readingSwitch != previousSwitch) {
toggled = true;
}
previousSwitch = readingSwitch;
return toggled;
}
esse é o jeito que a switch está ligada.

Quando a switch esta em aberto, ela fica trocando o estado do led muito rapido.
Nao sei se estou colocando o resistor pull-up corretamente, mas do outro jeito (conectado entre a switch e o pin4)
também acontece a mesma coisa.
Alguem por favor me ajude