typestar

Histéresis en Arduino

Dos umbrales evitan que la bomba castañetee en la línea.

// Hysteresis: two thresholds keep the pump from chattering.
const int SOIL_PIN = A0;
const int PUMP_PIN = 7;
const int DRY = 700;
const int WET = 500;

bool watering = false;

void setup() {
  pinMode(PUMP_PIN, OUTPUT);
}

void loop() {
  int soil = analogRead(SOIL_PIN);
  if (!watering && soil > DRY) watering = true;
  if (watering && soil < WET) watering = false;
  digitalWrite(PUMP_PIN, watering ? HIGH : LOW);
  delay(200);
}

Cómo funciona

  1. DRY arma la bomba; solo WET, más bajo, la suelta.
  2. La bandera watering sostiene la decisión entre lecturas.
  3. Una bandera, dos ifs: el patrón clásico del termostato.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
19
Caracteres a escribir
421
Tokens
100
Ritmo de tres estrellas
65 tpm

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

Escribe este fragmento

Paso 3 de 3 en Analógico; paso 9 de 27 en Fundamentos del lenguaje.

← Anterior Siguiente →