typestar

Toggle al presionar en Arduino

Una variable de estado recuerda entre pasadas; ! la voltea.

// A state variable remembers across loop passes; ! flips it.
const int BUTTON_PIN = 2;
const int FAN_PIN = 5;

bool fanOn = false;
int lastReading = HIGH;

void setup() {
  pinMode(BUTTON_PIN, INPUT_PULLUP);
  pinMode(FAN_PIN, OUTPUT);
}

void loop() {
  int reading = digitalRead(BUTTON_PIN);
  if (reading == LOW && lastReading == HIGH) {
    fanOn = !fanOn;
    digitalWrite(FAN_PIN, fanOn ? HIGH : LOW);
  }
  lastReading = reading;
}

Cómo funciona

  1. fanOn y lastReading persisten entre iteraciones.
  2. La prueba de flanco — LOW ahora, HIGH antes — dispara una vez.
  3. fanOn = !fanOn alterna; el ternario maneja el pin.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
20
Caracteres a escribir
419
Tokens
92
Ritmo de tres estrellas
65 tpm

Al ritmo de tres estrellas de 65 tokens por minuto, este intento toma unos 85 segundos.

Escribe este fragmento

Paso 2 de 3 en E/S digital; paso 5 de 27 en Fundamentos del lenguaje.

← Anterior Siguiente →