25 min. Por qué un programa necesita recordar en qué estado estå, y por qué un solo umbral no basta.

🌐 Sesión 2 en el sitio del curso


¿Por qué un termostato?

Es la misma lĂłgica de control que el ventilador del motor y las alarmas que mandamos a pits. Reaparece completa en el curso Avanzado (umbrales del dashboard) y tiene una trampa conceptual real — la histĂ©resis — que hace que la fase Predict falle de forma productiva. Un semĂĄforo o un contador no dan eso.

Conceptos

  1. Variable de estado — bool ventiladorEncendido. El programa no solo lee: recuerda. Sin memoria, la pregunta "ÂżquĂ© hace a 90 °C?" no tiene respuesta Ășnica.
  2. HistĂ©resis — dos umbrales distintos: enciende a 95 °C, apaga a 88 °C. La banda entre ambos es lo que impide el chattering.
  3. Chattering — con un solo umbral, el ruido de ±0.5 °C alrededor del punto de disparo enciende y apaga el relĂ© varias veces por segundo. Es un modo de falla mecĂĄnico real, no un detalle estĂ©tico.
  4. else if vs dos if — las transiciones son mutuamente excluyentes; con dos if independientes se puede entrar y salir en el mismo ciclo.
  5. Frecuencia de muestreo — delay(200) = 5 Hz. Bajarla pierde eventos; en I6 del Intermedio esto se llama aliasing.

Método PRIMM

Predict → Run → Investigate → Modify → Make. El alumno no escribe código desde cero: parte de un programa que funciona, lo predice, lo rompe, lo entiende y luego lo extiende. Es lo contrario al "empieza con un void setup() vacío", que en nuevo ingreso produce copiado sin comprensión.

⚠ Para el instructor: la pregunta trampa ("a 90 °C, Âżencendido o apagado?") se responde mal casi siempre. No adelantes la respuesta. El error es el contenido de la sesiĂłn.

Se siembra aquí, se cosecha después

Concepto DĂłnde reaparece
Variable de estado BĂĄsico S5 — banderas de bus IÂČC
HistĂ©resis Avanzado A5 — umbrales de alarma en el dashboard
<code>millis()</code> sin bloquear Intermedio I4 — FreeRTOS
Frecuencia de muestreo Intermedio I6 — Nyquist y aliasing

BibliografĂ­a