Introducción a los Microcontroladores ESP
Los microcontroladores ESP8266 y ESP32, desarrollados por Espressif Systems, han revolucionado el mundo de la electrónica embebida y la mecatrónica. Estos chips de bajo costo con capacidades WiFi completas han democratizado el acceso al Internet de las Cosas (IoT) y han abierto nuevas posibilidades en sistemas de automatización y robótica.
ESP8266 (2014)
- WiFi integrado
- Bajo costo
- 32-bit RISC
- 80/160 MHz
ESP32 (2016)
- WiFi + Bluetooth
- Doble núcleo
- Más periféricos
- 240 MHz
Especificaciones Técnicas del ESP32
El ESP32 es un microcontrolador de 32 bits con arquitectura de doble núcleo Xtensa LX6, diseñado para aplicaciones de bajo consumo energético y alta performance. Sus características lo convierten en la elección ideal para proyectos de mecatrónica e IoT.
Características Principales
- Procesador Dual-core 32-bit
- Frecuencia 240 MHz
- RAM 520 KB
- Flash 4-16 MB
- WiFi 802.11 b/g/n
- Bluetooth 4.2 BR/EDR/BLE
- GPIO 34 pines
- ADC 18 canales
Primer Programa: Conexión WiFi
El ESP32 se puede programar fácilmente utilizando el Arduino IDE. A continuación, te mostramos un ejemplo básico para conectar tu ESP32 a una red WiFi:
#include
// Credenciales de red WiFi
const char* ssid = "TU_SSID";
const char* password = "TU_PASSWORD";
void setup() {
// Inicializar comunicación serie
Serial.begin(115200);
delay(1000);
// Mostrar información del chip
Serial.println("\n=== ESP32 WiFi Connection ===");
Serial.printf("Chip Model: %s\n", ESP.getChipModel());
Serial.printf("Chip Revision: %d\n", ESP.getChipRevision());
Serial.printf("CPU Frequency: %d MHz\n", ESP.getCpuFreqMHz());
// Iniciar conexión WiFi
WiFi.begin(ssid, password);
Serial.print("Conectando a WiFi");
// Esperar conexión
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
// Mostrar información de conexión
Serial.println("\n¡Conectado a WiFi!");
Serial.printf("SSID: %s\n", WiFi.SSID().c_str());
Serial.printf("IP: %s\n", WiFi.localIP().toString().c_str());
Serial.printf("MAC: %s\n", WiFi.macAddress().c_str());
Serial.printf("RSSI: %d dBm\n", WiFi.RSSI());
}
void loop() {
// Verificar conexión cada 30 segundos
if (WiFi.status() == WL_CONNECTED) {
Serial.printf("Conexión activa - RSSI: %d dBm\n", WiFi.RSSI());
} else {
Serial.println("Conexión perdida, reintentando...");
WiFi.reconnect();
}
delay(30000);
}
Ejercicios Prácticos
Objetivo: Conectar el ESP32 a tu red WiFi doméstica y mostrar información de conexión.
Materiales:
- ESP32 DevKit
- Cable USB
- PC con Arduino IDE
- Red WiFi disponible
Objetivo: Programar el ESP32 para escanear y mostrar todas las redes WiFi disponibles.
Conceptos: Exploración de redes, RSSI, encriptación
Aplicaciones en Mecatrónica
¿Por qué ESP32 en Mecatrónica?
En sistemas mecatrónicos, la comunicación inalámbrica y la conectividad IoT son fundamentales para:
- Monitoreo remoto de sistemas
- Control desde dispositivos móviles
- Almacenamiento en la nube
- Análisis de datos en tiempo real
- Mantenimiento predictivo
- Integración con sistemas existentes