case-device-block-diagram,
.prometeo-educational-note,
.prometeo-device-postcode-section,
.prometeo-device-section-card {
margin: 2.4rem 0;
padding: 1.45rem 1.55rem;
border: 1px solid rgba(148, 163, 184, 0.30);
border-radius: 14px;
background:
linear-gradient(135deg, rgba(30, 41, 59, 0.50), rgba(15, 23, 42, 0.18)),
rgba(17, 24, 39, 0.48);
box-shadow: 0 18px 48px rgba(0, 0, 0, 0.20);
}
.case-objective > h2:first-of-type,
.case-device-block-diagram > h2:first-of-type,
.prometeo-device-postcode-section > h2:first-of-type,
.prometeo-device-section-card > h2:first-of-type {
margin-top: 0;
}
.prometeo-device-section-card > :last-child,
.case-objective > :last-child,
.case-device-block-diagram > :last-child,
.prometeo-device-postcode-section > :last-child {
margin-bottom: 0;
}
.prometeo-device-section-card.prometeo-device-section-card-code {
border-left: 4px solid rgba(56, 189, 248, 0.86);
background:
linear-gradient(135deg, rgba(8, 47, 73, 0.42), rgba(15, 23, 42, 0.18)),
rgba(15, 23, 42, 0.58);
}
.prometeo-device-section-card.prometeo-device-section-card-compact {
padding: 1.2rem 1.35rem;
}
.prometeo-device-section-card pre,
.case-objective pre,
.case-device-block-diagram pre,
.prometeo-device-postcode-section pre {
max-width: 100%;
}
.prometeo-device-postcode-section .prometeo-device-flow-item {
background:
linear-gradient(135deg, rgba(15, 23, 42, 0.50), rgba(30, 41, 59, 0.28)),
rgba(15, 23, 42, 0.28);
}
@media print {
.case-objective,
.case-device-block-diagram,
.prometeo-educational-note,
.prometeo-device-postcode-section,
.prometeo-device-section-card {
background: #fff;
color: #111827;
box-shadow: none;
break-inside: avoid;
page-break-inside: avoid;
}
}
Objetivo y caso de uso
Qué construirás: Un controlador básico de termostato para una pequeña incubadora educativa o cámara térmica usando un Arduino UNO R3, sensor de temperatura LM35, relé de 1 canal y LCD HD44780 de 16×2. Lee la temperatura aproximadamente 2-5 veces por segundo, muestra valores en vivo en la LCD y enciende/apaga un calentador con histéresis para mantener una banda objetivo con una estabilidad aproximada de 1-2°C, según el tamaño del recinto y la potencia del calentador.
Por qué importa / Casos de uso
- Prototipo de incubadora educativa: Demuestra control en lazo cerrado en un montaje realista de aula, como una maqueta de incubadora de huevos pequeña o una caja de germinación de semillas.
- Cámara térmica DIY para ejercicios de laboratorio: Mantiene un recinto pequeño cerca de un punto de ajuste elegido, por ejemplo 30-37°C para demostraciones de materiales o electrónica.
- Práctica de control con relé: Muestra cómo una salida digital acciona una carga real y por qué la histéresis evita el golpeteo rápido del relé y el desgaste prematuro.
- Integración de sensor a actuador: Combina sensado analógico, visualización en tiempo real y control de actuador en un flujo de trabajo embebido similar a muchos fundamentos industriales.
- Monitoreo con conciencia de fallos: La LCD y los registros serie ayudan a detectar sobreimpulso, calentamiento lento, sensores desconectados o lecturas inestables con una latencia de respuesta típicamente inferior a 500 ms por ciclo de actualización.
Resultado esperado
- Un termostato funcional que enciende el calentador ON por debajo de un umbral inferior y lo apaga OFF por encima de un umbral superior.
- Lectura en vivo en la LCD de la temperatura actual y del estado del calentador, actualizada cada 200-500 ms.
- Control estable de temperatura en una cámara pequeña, típicamente dentro de ±0.5 a ±1°C después del calentamiento inicial cuando la histéresis está ajustada correctamente.
- Salida serie para calibración y depuración, útil para comparar las lecturas del LM35 con un termómetro de referencia.
- Una base clara para futuras mejoras como botones para ingresar el punto de ajuste, alarmas con zumbador o registro de datos.
Audiencia: principiantes en Arduino, estudiantes y educadores que construyen sistemas de control de nivel inicial; Nivel: principiante a intermedio
Arquitectura/flujo: voltaje analógico del LM35 → conversión ADC del Arduino UNO → cálculo de temperatura y lógica de umbral/histéresis → el relé conmuta el calentador → la LCD 16×2 y el monitor serie muestran la temperatura actual y el estado del calentador; no aplican FPS ni %GPU porque este es un proyecto de control basado en microcontrolador.
Diagrama de bloques conceptual
Vista de alto nivel: qué entra, qué procesa cada bloque y qué sale del sistema.
Arquitectura funcional
Flujo conceptual de señales y responsabilidades entre bloques del dispositivo.
Ruta de validación
Resumen conceptual de las herramientas usadas para comprobar el material publicado.
Nota educativa de validación
Antes de publicar este caso, el contenido pasó la puerta automática de validación de Prometeo con estado PASS. El validador comprobó los bloques de código, la estructura del artículo, los comandos copiables y la coherencia con el catálogo de dispositivos soportados.
Evidencia de validación publicada
- Resultado automático: PASS.
- Estructura parseada: 3 apartados, 3 tablas y 3 bloques de código detectados antes de publicar.
- Código comprobado: 1 Arduino/arduino-cli compile, 1 Bash/copy-paste checks.
- Catálogo soportado: el texto se contrastó contra los perfiles de dispositivo validables de Prometeo y los stacks no soportados bloquean la publicación.
- Hallazgos del informe: sin hallazgos bloqueantes.
Esta validación confirma compatibilidad sintáctica y de herramientas para el material publicado, pero no sustituye la prueba física sobre tu hardware, cableado y entorno exactos.
Nota educativa de seguridad
Este proyecto es un prototipo educativo de termostato, no un producto certificado de control de temperatura.
Límites importantes y reglas de seguridad:
- No lo consideres a prueba de fallos. Un error de software, fallo de cableado, relé trabado, sensor defectuoso o conexión floja puede causar sobrecalentamiento o pérdida de control.
- Prefiere calentadores de bajo voltaje para trabajos de principiantes. Un elemento calefactor resistivo de bajo voltaje o una lámpara alimentada por una fuente externa apropiada es mucho más seguro para aprender.
- Advertencia sobre tensión de red: Si tu relé conmuta calefacción alimentada por red eléctrica, eso introduce riesgo de descarga y de incendio. Los principiantes no deben cablear cargas de red por sí solos. Usa supervisión calificada y envolventes aisladas adecuadas, fusibles, alivio de tensión y prácticas eléctricas legales.
- No alimentes el calentador desde el Arduino. El UNO es solo para señales de control y electrónica de baja potencia.
- Nunca dejes el prototipo sin supervisión durante las pruebas, especialmente dentro de una cámara cerrada.
- Mantén el sensor alejado del contacto directo con el calentador. Si el LM35 toca el calentador, puede leer la temperatura de la superficie del calentador en lugar de la temperatura del aire de la cámara, causando un mal control.
- Espera una precisión limitada. El LM35, el control simple por histéresis, la conmutación por relé y el diseño del recinto limitan la estabilidad.
- Sin certificación de seguridad: Este montaje no es para uso industrial, producción de alimentos, incubación comercial ni ninguna situación en la que un fallo pueda causar daños, incendio o daños a la propiedad.
Prerrequisitos
Antes de comenzar, deberías sentirte cómodo con:
- Cargar un sketch a un Arduino UNO R3 (ATmega328P).
- Leer un diagrama de protoboard en formato de texto.
- Usar un cable USB y un monitor serie.
- Seguridad básica en cableado DC.
- Entender que un relé es un interruptor, no una fuente de alimentación.
Preparación recomendada:
- Instala Arduino CLI en tu computadora.
- Ten un cable USB en buen estado para el UNO.
- Decide si tu calentador es:
- un elemento calefactor DC de bajo voltaje controlado a través del relé, o
- un calentador alimentado por red, lo cual no se recomienda para principiantes sin supervisión calificada.
Para una construcción educativa básica, se prefiere fuertemente un calentador pequeño de bajo voltaje.
Materiales
Usa exactamente este conjunto de hardware como familia y modelo principal del dispositivo:
- Arduino UNO R3 (ATmega328P) + sensor de temperatura analógico LM35 + módulo de relé de 1 canal + LCD HD44780 de 16×2
Lista completa sugerida de piezas:
| Elemento | Modelo exacto/recomendado | Cant. | Notas |
|---|---|---|---|
| Placa microcontroladora | Arduino UNO R3 (ATmega328P) | 1 | Requerido |
| Sensor de temperatura | Sensor de temperatura analógico LM35 | 1 | Requerido |
| Placa de relé | Módulo de relé de 1 canal, bobina de 5 V, compatible con Arduino | 1 | Requerido |
| Pantalla | LCD HD44780 de 16×2, interfaz paralela | 1 | Requerido |
| Potenciómetro | Trimmer de 10 kOhm | 1 | Para contraste de la LCD |
| Resistencia | 220 Ohm | 1 | Limitación de corriente de la retroiluminación de la LCD si es necesario |
| Protoboard | Protoboard estándar sin soldadura | 1 | Para el cableado |
| Cables jumper | Macho a macho | 20+ | Para todas las conexiones |
| Cable USB | USB A a USB B | 1 | Para programar el UNO |
| Calentador/carga | Pequeño calentador o lámpara de bajo voltaje usada como fuente de calor | 1 | Carga de prototipo educativo |
| Fuente externa para el calentador | Adaptada al calentador | 1 | No alimentes el calentador desde el UNO |
| Recinto opcional | Caja pequeña aislada | 1 | Para pruebas realistas de incubadora |
| Termómetro opcional | Termómetro de referencia independiente | 1 | Útil para validación |
Configuración/Conexión
Este proyecto usa:
- LM35 para medición analógica de temperatura
- módulo de relé para conmutación del calentador
- LCD HD44780 de 16×2 en modo de 4 bits para mostrar el estado
Plan de pines
Usa exactamente esta asignación de pines de Arduino en el sketch de abajo:
- Salida del LM35 ->
A0 - Entrada del relé ->
D8 - LCD RS ->
D12 - LCD EN ->
D11 - LCD D4 ->
D5 - LCD D5 ->
D4 - LCD D6 ->
D3 - LCD D7 ->
D2
Cableado del LM35
Con la cara plana de un LM35 típico TO-92 mirando hacia ti y los pines hacia abajo, la disposición usual de pines es:
- Pin izquierdo ->
+5V - Pin central ->
A0 - Pin derecho ->
GND
Confirma siempre la hoja de datos de tu sensor o el etiquetado del proveedor antes de alimentarlo.
Cableado del módulo de relé
La mayoría de los módulos de relé de 1 canal tienen VCC, GND e IN.
VCC->5VGND->GNDIN->D8
Los terminales del lado de carga del relé suelen ser:
COMNO(Normalmente Abierto)NC(Normalmente Cerrado)
Para un calentador que debe estar apagado por defecto, usa:
- línea de la fuente de alimentación ->
COM - entrada del calentador ->
NO
El calentador regresa a su ruta de retorno de alimentación según su propio circuito de potencia.
Cableado de la LCD en modo de 4 bits
Pines típicos de la LCD:
VSS->GNDVDD->5VVO-> pin central del potenciómetro de 10 kOhmRS->D12RW->GNDE->D11D0-> no conectadoD1-> no conectadoD2-> no conectadoD3-> no conectadoD4->D5D5->D4D6->D3D7->D2Ao LED+ ->5Va través de una resistencia de220 Ohmsi es necesarioKo LED- ->GND
Potenciómetro para contraste:
- un pin exterior ->
5V - el otro pin exterior ->
GND - pin central -> pin
VO3 de la LCD
Reglas de alimentación y tierra
- El UNO, LM35, lado de entrada del relé y la LCD deben compartir una tierra común.
- No alimentes el calentador desde el pin 5 V del Arduino.
- Usa una fuente de alimentación separada para el calentador si la carga lo requiere.
- Si controlas cualquier cosa más allá de cargas educativas de bajo voltaje, obtén supervisión calificada.
Lógica de control usada en este montaje
Este termostato usa una ventana de histéresis:
- Encender el calentador on cuando la temperatura esté por debajo de 36.5 C
- Apagar el calentador off cuando la temperatura esté por encima de 37.5 C
Eso evita el golpeteo del relé cerca del punto de ajuste. Puedes cambiar los umbrales en el código para tu recinto y calentador.
Código validado
lm35_incubator_thermostat.ino
Vista pública parcial del archivo validado. El código completo se muestra a miembros y en PDF/Print.
#include <LiquidCrystal.h>
// LCD pins: RS, E, D4, D5, D6, D7
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
const int LM35_PIN = A0;
const int RELAY_PIN = 8;
// Adjust these thresholds for your chamber.
// Hysteresis prevents rapid relay toggling.
const float TEMP_ON_C = 36.5; // Heater turns ON below this
const float TEMP_OFF_C = 37.5; // Heater turns OFF above this
// Set this to true if your relay module is active LOW.
// Many Arduino relay boards energize the relay when IN is LOW.
const bool RELAY_ACTIVE_LOW = true;
bool heaterOn = false;
unsigned long lastSampleMs = 0;
const unsigned long SAMPLE_INTERVAL_MS = 1000;
float readTemperatureC() {
const int samples = 10;
long sum = 0;
for (int i = 0; i < samples; i++) {
sum += analogRead(LM35_PIN);
delay(5);
}
float averageAdc = sum / (float)samples;
float voltage = averageAdc * (5.0 / 1023.0);
// LM35 output is 10 mV per degree C
float temperatureC = voltage * 100.0;
return temperatureC;
}
void setRelay(bool on) {
heaterOn = on;
if (RELAY_ACTIVE_LOW) {
digitalWrite(RELAY_PIN, on ? LOW : HIGH);
} else {
digitalWrite(RELAY_PIN, on ? HIGH : LOW);
}
}
void updateControl(float temperatureC) {
if (!heaterOn && temperatureC < TEMP_ON_C) {
setRelay(true);
} else if (heaterOn && temperatureC > TEMP_OFF_C) {
setRelay(false);
}
}
// ...#include <LiquidCrystal.h>
// LCD pins: RS, E, D4, D5, D6, D7
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
const int LM35_PIN = A0;
const int RELAY_PIN = 8;
// Adjust these thresholds for your chamber.
// Hysteresis prevents rapid relay toggling.
const float TEMP_ON_C = 36.5; // Heater turns ON below this
const float TEMP_OFF_C = 37.5; // Heater turns OFF above this
// Set this to true if your relay module is active LOW.
// Many Arduino relay boards energize the relay when IN is LOW.
const bool RELAY_ACTIVE_LOW = true;
bool heaterOn = false;
unsigned long lastSampleMs = 0;
const unsigned long SAMPLE_INTERVAL_MS = 1000;
float readTemperatureC() {
const int samples = 10;
long sum = 0;
for (int i = 0; i < samples; i++) {
sum += analogRead(LM35_PIN);
delay(5);
}
float averageAdc = sum / (float)samples;
float voltage = averageAdc * (5.0 / 1023.0);
// LM35 output is 10 mV per degree C
float temperatureC = voltage * 100.0;
return temperatureC;
}
void setRelay(bool on) {
heaterOn = on;
if (RELAY_ACTIVE_LOW) {
digitalWrite(RELAY_PIN, on ? LOW : HIGH);
} else {
digitalWrite(RELAY_PIN, on ? HIGH : LOW);
}
}
void updateControl(float temperatureC) {
if (!heaterOn && temperatureC < TEMP_ON_C) {
setRelay(true);
} else if (heaterOn && temperatureC > TEMP_OFF_C) {
setRelay(false);
}
}
void updateDisplay(float temperatureC) {
lcd.setCursor(0, 0);
lcd.print("Temp: ");
lcd.print(temperatureC, 1);
lcd.print((char)223); // degree symbol
lcd.print("C ");
lcd.setCursor(0, 1);
lcd.print("Set ");
lcd.print(TEMP_ON_C, 1);
lcd.print("-");
lcd.print(TEMP_OFF_C, 1);
lcd.print(" ");
lcd.setCursor(12, 1);
if (heaterOn) {
lcd.print("ON ");
} else {
lcd.print("OFF");
}
}
void printSerial(float temperatureC) {
Serial.print("Temperature_C=");
Serial.print(temperatureC, 2);
Serial.print(", Heater=");
Serial.println(heaterOn ? "ON" : "OFF");
}
void setup() {
pinMode(RELAY_PIN, OUTPUT);
// Start with heater off
setRelay(false);
lcd.begin(16, 2);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Incubator Ctrl");
lcd.setCursor(0, 1);
lcd.print("Starting...");
Serial.begin(9600);
delay(1500);
lcd.clear();
}
void loop() {
unsigned long now = millis();
if (now - lastSampleMs >= SAMPLE_INTERVAL_MS) {
lastSampleMs = now;
float temperatureC = readTemperatureC();
updateControl(temperatureC);
updateDisplay(temperatureC);
printSerial(temperatureC);
}
}
Patrón opcional de registro serie para comparación
Este no es un segundo programa. Es un ejemplo de cómo puede verse una ejecución correcta en el monitor serie mientras el sensor se calienta:
Temperature_C=29.86, Heater=ON
Temperature_C=30.10, Heater=ON
Temperature_C=31.02, Heater=ON
Temperature_C=34.88, Heater=ON
Temperature_C=36.42, Heater=ON
Temperature_C=37.61, Heater=OFF
Temperature_C=37.43, Heater=OFF
Temperature_C=36.28, Heater=ON
Interpretación:
- El calentador permanece ON hasta que la lectura sube por encima de
TEMP_OFF_C. - Permanece OFF hasta que la lectura baja por debajo de
TEMP_ON_C. - Esto confirma el comportamiento de histéresis.
Comandos de compilación/carga/ejecución
Usa Arduino CLI, no PlatformIO.
Tabla de comandos
| Tarea | Comando |
|---|---|
| Actualizar índice de placas | arduino-cli core update-index |
| Instalar núcleo AVR | arduino-cli core install arduino:avr |
| Compilar sketch | arduino-cli compile --fqbn arduino:avr:uno ./lm35_incubator_thermostat |
| Cargar sketch | arduino-cli upload --fqbn arduino:avr:uno --port <PORT> ./lm35_incubator_thermostat |
| Abrir monitor serie | arduino-cli monitor --port <PORT> --config baudrate=9600 |
Flujo de trabajo breve
- Crea una carpeta de proyecto llamada
lm35_incubator_thermostat. - Guarda el sketch como:
lm35_incubator_thermostat/lm35_incubator_thermostat.ino- Ejecuta los comandos en orden:
arduino-cli core update-index
arduino-cli core install arduino:avr
arduino-cli compile --fqbn arduino:avr:uno ./lm35_incubator_thermostat
arduino-cli upload --fqbn arduino:avr:uno --port <PORT> ./lm35_incubator_thermostat
arduino-cli monitor --port <PORT> --config baudrate=9600
- Sustituye
<PORT>por tu puerto serie real: - Ejemplo en Linux:
/dev/ttyACM0 - Ejemplo en Windows:
COM4 - Ejemplo en macOS:
/dev/cu.usbmodem14101
Validación paso a paso
Usa estos puntos de control en orden. Están agrupados para que la validación sea práctica y repetible.
1. Encendido y activación de la LCD
Qué hacer:
– Alimenta el UNO desde USB.
– Ajusta lentamente el potenciómetro de contraste de la LCD.
Observación esperada:
– La LCD primero muestra:
– Incubator Ctrl
– Starting...
– Luego se actualiza a la temperatura y al estado del calentador.
Condición de aprobación:
– La LCD es legible y continúa actualizándose una vez por segundo.
– Si la retroiluminación está encendida pero no aparece texto, el ajuste de contraste o el cableado necesita corrección.
2. Comprobación básica del sensor
Qué hacer:
– Deja el LM35 a temperatura ambiente durante 30-60 segundos.
– Abre el monitor serie a 9600 baudios.
– Compara el valor mostrado con las condiciones de la habitación o con un termómetro independiente si está disponible.
Observación esperada:
– La lectura debe ser plausible para la habitación, típicamente alrededor de 20-35 C según tu entorno.
– La salida serie debe imprimir una línea por segundo.
Condición de aprobación:
– La temperatura no permanece fija en 0.0 C, 50+ C en una habitación normal, ni salta aleatoriamente en cantidades muy grandes.
– Los valores de la LCD y del puerto serie deben coincidir estrechamente.
3. Prueba de calentamiento controlado
Qué hacer:
– Calienta suavemente el LM35 usando tus dedos, o muévelo cerca de aire caliente sin sobrecalentarlo.
– Observa la LCD y la salida serie.
Observación esperada:
– La temperatura medida sube gradualmente.
– Una vez que cruza 37.5 C, el estado del relé cambia a OFF si antes estaba en ON.
Condición de aprobación:
– La temperatura responde al calentamiento de una manera suave y creíble.
– El relé cambia de estado cuando se cruza el umbral.
4. Prueba de enfriamiento controlado
Qué hacer:
– Deja que el LM35 se enfríe de manera natural de vuelta hacia la temperatura ambiente.
– Si es necesario, retira la fuente de calor y espera varios minutos.
Observación esperada:
– La temperatura baja gradualmente.
– Cuando desciende por debajo de 36.5 C, el relé cambia a ON.
Condición de aprobación:
– El relé no golpetea rápidamente encendiéndose y apagándose cerca de una única temperatura exacta.
– Sigue la regla de histéresis: apagado por encima del umbral superior, encendido por debajo del umbral inferior.
5. Prueba de comportamiento de la cámara con carga calefactora real
Qué hacer:
– Coloca el LM35 en el mismo espacio de aire que el calentador dentro de un pequeño recinto.
– Ejecuta el sistema durante 10-20 minutos usando una configuración educativa de calentador de bajo voltaje.
Observación esperada:
– La temperatura aumenta cuando comienza el calentamiento.
– El relé finalmente apaga el calentador cerca del umbral superior.
– Luego la temperatura deriva hacia abajo hasta que el calentador vuelve a encenderse.
Condición de aprobación:
– El recinto cicla entre los dos umbrales.
– El sistema se comporta como un termostato, no como un interruptor de una sola vez.
Solución de problemas
| Síntoma | Causa probable | Solución |
|---|---|---|
| Retroiluminación de la LCD encendida pero sin texto | Contraste mal ajustado, RW no conectado a GND, cableado incorrecto de pines | Ajusta el potenciómetro, verifica los pines 4/5/6/11/12/13/14 de la LCD, asegúrate de que RW esté a GND |
| La LCD muestra texto pero la temperatura es 0.0 C | La salida del LM35 no llega a A0, orientación incorrecta del LM35 | Vuelve a comprobar el pinout del sensor y la conexión a A0 |
| La lectura de temperatura es demasiado alta o inestable | Tierra flotante, cableado ruidoso, pinout incorrecto del sensor | Confirma tierra común, acorta los cables del sensor, vuelve a comprobar la orientación del LM35 |
| El relé nunca cambia de estado | Polaridad incorrecta de entrada del relé | Cambia RELAY_ACTIVE_LOW entre true y false |
| El relé hace clic pero el calentador no enciende | Cableado incorrecto COM/NO en el lado de carga, problema en la fuente de alimentación del calentador | Vuelve a comprobar el cableado de terminales del relé y la ruta de alimentación externa del calentador |
| El relé golpetea rápidamente | Umbrales demasiado cercanos, cámara demasiado pequeña, sensor demasiado cerca del calentador | Aumenta la separación de histéresis, aleja el sensor del calor radiante directo |
| La carga serie falla | Puerto o placa seleccionados incorrectos | Usa el <PORT> correcto y el FQBN arduino:avr:uno |
| La temperatura tiene demasiado sobreimpulso | Calentador demasiado potente, flujo de aire deficiente, problema de ubicación del sensor | Reduce la potencia del calentador, añade flujo de aire suave, mueve el sensor a una ubicación representativa del aire |
Mejoras
Mejoras de control y medición
- Punto de ajuste ajustable: Añade botones o un codificador rotatorio para que el rango objetivo pueda cambiarse sin editar el código.
- Desfase de calibración: Añade un desfase por software si tu LM35 difiere de manera consistente de un termómetro de referencia por una pequeña cantidad.
- Promediado más largo: Incrementa el conteo de muestras o usa un promedio móvil para reducir el ruido en pantalla.
Mejoras de recinto y diseño térmico
- Mejor ubicación del sensor: Coloca el LM35 en la corriente de aire o en el centro de la cámara, sin tocar el calentador ni la pared de la cámara.
- Circulación de aire: Un pequeño ventilador de bajo voltaje puede mejorar la uniformidad de la temperatura dentro de la incubadora.
- Aislamiento: Un mejor aislamiento del recinto reduce el ciclado del relé y hace la cámara más estable.
Mejoras de usabilidad y confiabilidad
- Indicación de alarma: Añade un zumbador o LED si la temperatura sube o baja mucho del rango previsto.
- Tiempo mínimo de apagado del relé: Añade reglas de temporización para reducir el desgaste si tu calentador responde muy rápido.
- Registro de datos: Envía datos serie a una PC para registrar tendencias de temperatura a lo largo del tiempo.
Lista de verificación final
Usa esta lista antes de considerar el proyecto terminado:
- [ ] Usé exactamente Arduino UNO R3 (ATmega328P).
- [ ] Usé exactamente sensor de temperatura analógico LM35 + módulo de relé de 1 canal + LCD HD44780 de 16×2.
- [ ] El cableado de la LCD coincide con el mapeo de pines del sketch.
- [ ] La salida del LM35 va a
A0, con orientación correcta de alimentación y tierra. - [ ] La entrada del relé va a
D8. - [ ] El UNO, el lado de entrada del relé, el LM35 y la LCD comparten una tierra común.
- [ ] El calentador usa su propia ruta de alimentación adecuada y no se alimenta desde el UNO.
- [ ] El sketch compila con:
- [ ]
arduino-cli core update-index - [ ]
arduino-cli core install arduino:avr - [ ]
arduino-cli compile --fqbn arduino:avr:uno ./lm35_incubator_thermostat - [ ] El sketch se carga con:
- [ ]
arduino-cli upload --fqbn arduino:avr:uno --port <PORT> ./lm35_incubator_thermostat - [ ] La LCD muestra la temperatura y el estado del calentador.
- [ ] El monitor serie imprime una lectura por segundo a 9600 baudios.
- [ ] Al calentar el LM35 sube la temperatura mostrada.
- [ ] El relé se apaga off por encima del umbral superior y se enciende on por debajo del umbral inferior.
- [ ] La cámara cicla dentro de la banda de histéresis durante una prueba supervisada.
- [ ] Entiendo que este es un prototipo educativo y no un controlador de incubadora a prueba de fallos.
Encuentra este producto y/o libros sobre este tema en Amazon
Como afiliado de Amazon, gano con las compras que cumplan los requisitos. Si compras a través de este enlace, ayudas a mantener este proyecto.




