Serve una resistenza di pull-up o pull-down sull'ingresso di Arduino, per forzare a livello alto o a livello basso l'ingresso quando l'interruttore è aperto. Senza la resistenza, quando l'interruttore è aperto lo stato dell'ingresso è indeterminato. Puoi attiva un pull-up interno al microcontrollore:
pinMode(pin,INPUT); // Imposta il pin come ingresso
digitalWrite(pin,HIGH); // Attiva il pull-up