Esto que te pongo no es Codigo para que copies y pegues, es simplemente para que te guies y puedas aprender el funcionamiento...
boolean Valor_pulsador = 0; // OFF
void loop(){
if (digitalRead(pulsador)){ // Cuando el pulsador está activo...
Valor_pulsador = !Valor_pulsador; // Asigna el valor contrario (ON --> OFF --> ON --> OFF...)
}
if(Valor_pulsador){ // si Valor_pulsador es Verdadero --> 1 --> ON
digitalWrite(led,HIGH); // Enciende el Led
}
else { // De lo contrario
digitalWrite(led,LOW); // Apaga el Led
}
}
Intenta entenderlo linea por línea...
Este es un codigo muy sencillo, se puede mejorar mucho...