Estoy haciendo una prueba básica con el comando Do ... While y no me funciona.
No sale del bucle a pesar de que vario el pin 12 de HIGH a LOW y viceversa.
Lo cierto es que cojí el código de un portal de internet
Katynga. Ten en cuenta que loop es un bucle infinito por lo que se repetirá continuamente, y que el bucle do-while se ejecuta siempre la primera vez, ya que evalúa la condición al final. Cambia tu bucle a
while (digitalRead(pulsador) == HIGH) {
Codigo
}
Y tendrá un comportamiento más acorde a lo que esperas (salvo problemas de rebotes)