Simulador para placas de desarrollo Arduino, ESP32, ESP8266...
Hasta hace algunos meses, para poder probar cualquier cambio en un programa para mis placas de desarrollo de mis proyectos de IoT tenía que compilarlo y subirlo al hardware que correspondiera (Arduino, ESP32...)
Sin contar el desgaste para la placa de hacer estas operaciones, varias decenas de veces al día, ese proceso me demoraba un tiempo precioso.
Es por ello que me planteé buscar un simulador que me agilizara el proceso de ir viendo los pequeños cambios que iba haciendo de una forma rápida, y lo encontré 🎉
Simulador para placas de desarrollo
Wokwi es un simulador en línea de placas de desarrollo.
Puedes simular distintas versiones de Arduino, ESP32, Raspberry Pi Pico...
Cuenta con un lector del puerto serie.
Puedes programar no sólo en C++, también puedes hacerlo en Rust o MicroPython.
Puedes añadir componentes a tus placas como motores, leds, pulsadores... todo lo que necesites para tu proyecto de IoT.
Puedes añadir las librerías que necesites, por ejemplo para pantallas LED, MQTT...
Simulando una ESP32 haciendo parpadear un led
A continuación te dejaré el típico ejemplo de hacer parpadear un led con una ESP32.
Si accedes a este link accederás a un entorno para simular una ESP32-DEVKIT de 30 pines.
En el ejemplo que te dejo a continuación, además de hacer parpadear un led por la salida 14 de la ESP32, también haré parpadear el led integrado de la placa.
Código
Te dejo el código para que lo puedas copiar.
void setup() { pinMode(LED_BUILTIN, OUTPUT); pinMode(14, OUTPUT); Serial.begin(115200); Serial.println("Hola, soy @fjmduran!"); } void loop() { digitalWrite(LED_BUILTIN, HIGH); digitalWrite(14, LOW); delay(1000); digitalWrite(LED_BUILTIN, LOW); digitalWrite(14, HIGH); delay(1000); }
Añadiendo elementos al proyecto
Teniendo la simulación parada, si hacemos clic en el botón de + se nos desplegará los componentes que podemos añadir a nuestros proyectos.
Extensión para VS Code
Wokwi cuenta con un extensión para integrar el simular en VS Code.
Puedes acceder a dicha extensión aquí
Hasta luego 🖖