Juan Diego Andrés PRADA··RAMÍREZ Entrar
Lección 3 de 7

Arduino

Con la electrónica clara, toca darle inteligencia al circuito. Arduino es la placa que lee sensores y acciona cosas (LED, relés, pantallas) ejecutando código que tú escribes. En este módulo construimos la primera pieza real de la «Estación inteligente del salón»: leer la temperatura y la humedad del ambiente y mostrar una alerta visual.

¿Qué es?

Arduino es un microcontrolador en una placa fácil de usar. Un microcontrolador es un computador diminuto: tiene CPU, memoria y pines de entrada/salida, pero no ejecuta un sistema operativo. Ejecuta un solo programa, el tuyo, en bucle eterno. Lo programas en C/C++ desde el Arduino IDE y lo subes por USB.

¿Cómo funciona?

Todo programa Arduino (un sketch) tiene dos funciones obligatorias:

void setup() {
 // Se ejecuta UNA vez al encender. Aquí configuras pines.
}

void loop() {
 // Se repite POR SIEMPRE. Aquí va la lógica.
}

setup() corre una vez; loop() se repite millones de veces por segundo. Los pines se configuran como entrada (leer un sensor) o salida (encender un LED) con pinMode(), y se manejan con digitalWrite(), digitalRead() y analogRead().

¿Para qué sirve?

Sirve para convertir el mundo físico en datos y reaccionar: si la temperatura pasa de un umbral, enciende una alerta. Esa es exactamente la lógica de nuestra estación.

La pieza que construye: lectura de ambiente con DHT22

El DHT22 es un sensor digital de temperatura y humedad. Habla por un solo pin de datos usando una librería.

Conexiones (DHT22 al Arduino Uno):

  • Pin VCC del DHT22 → 5V del Arduino.
  • Pin GND del DHT22 → GND del Arduino.
  • Pin DATA del DHT22 → pin digital 2 del Arduino.
  • Una resistencia de 10kΩ entre DATA y VCC (resistencia pull-up, recomendada).
  • LED de alerta: ánodo → resistencia 220Ω → pin 8; cátodo → GND.

Instala la librería DHT sensor library (de Adafruit) desde el gestor de librerías del IDE. Luego el sketch:

#include <DHT.h>

#define PIN_DHT 2 // Pin de datos del sensor
#define TIPO_DHT DHT22 // Modelo del sensor
#define PIN_LED 8 // LED de alerta
#define UMBRAL_TEMP 28.0 // °C a partir de los cuales alertamos

DHT dht(PIN_DHT, TIPO_DHT);

void setup() {
 Serial.begin(9600); // Abre comunicación con el PC a 9600 baudios
 pinMode(PIN_LED, OUTPUT);
 dht.begin();
 Serial.println("Estacion lista. Leyendo ambiente...");
}

void loop() {
 delay(2000); // El DHT22 necesita 2s entre lecturas

 float humedad = dht.readHumidity();
 float temperatura = dht.readTemperature(); // en °C

 // Si la lectura falla, los valores son NaN
 if (isnan(humedad) || isnan(temperatura)) {
 Serial.println("Error: no se pudo leer el sensor.");
 return; // sale del loop y reintenta
 }

 Serial.print("Temp: ");
 Serial.print(temperatura);
 Serial.print(" C Humedad: ");
 Serial.print(humedad);
 Serial.println(" %");

 // Lógica de alerta: enciende el LED si hace mucho calor
 if (temperatura >= UMBRAL_TEMP) {
 digitalWrite(PIN_LED, HIGH);
 } else {
 digitalWrite(PIN_LED, LOW);
 }
}

Sube el sketch (botón con la flecha) y abre el Monitor Serie (lupa arriba a la derecha, a 9600 baudios). Verás las lecturas cada 2 segundos. Sopla aire caliente sobre el sensor y, al pasar de 28°C, el LED se enciende.

El DHT22 funciona a 5V con el Arduino Uno. Si después conectas este mismo sensor a un ESP32 (3.3V), aliméntalo a 3.3V, no a 5V, o dañarás la placa.

Ese Serial.print(...) no es decorativo: es cómo el Arduino enviará los datos que en módulos siguientes mandaremos por WiFi a la nube. El formato que imprimes hoy es la base del mensaje de mañana.

Tech English: sketch (programa Arduino), upload (subir el código), baud rate (velocidad serie), threshold (umbral), pull-up resistor (resistencia de subida).

Ejercicios

  1. Añade un segundo umbral de humedad: si la humedad baja de 30%, parpadea el LED (encendido/apagado cada 500ms) en vez de dejarlo fijo.
  2. Modifica el sketch para imprimir las lecturas en formato temp=24.5;hum=60.0, separadas por punto y coma, pensando en cómo otra máquina las leerá después.
Tu progreso se guarda en este navegador. Inicia sesión para guardarlo en tu cuenta y verlo desde cualquier dispositivo.