Arduino es una plataforma electrónica de código abierto que permite realizar proyectos interactivos. Si quieres trastear con un Arduino, necesitarás una placa de prueba, un montón de pequeños componentes y, por supuesto, un Arduino. Por otra parte, si pones en marcha más de un proyecto a la vez (como hacemos muchos de nosotros), necesitarás tiempo y algo de dinero. Además, deberás trastear con un montón de pequeños cables puente con los que hacer realidad tus ideas.
Quizás te parezcan demasiados frentes abiertos, pero hay una alternativa. Antes de dar el salto a la realidad, puedes empezar a experimentar con un simulador Arduino. Un buen simulador te permitirá recrear digitalmente varios aspectos del proceso:
Este artículo te ayudará a averiguar qué simulador es el más adecuado para tu proyecto. Para cada opción, te daremos información de fondo y un ejemplo sencillo para que lo pruebes.
Para empezar, veamos las opciones disponibles en Internet. Para usar estos productos, necesitarás un navegador y una buena conexión a Internet, pero no es necesario descargar ningún programa.
En Microsoft Maker Code, la creación de simulaciones con varias placas, incluidos modelos Arduino, se realiza mediante bloques visuales, lo que lo hace accesible incluso para quienes no tienen experiencia previa en codificación. También se puede optar por programar en Python o JavaScript. Todo en este entorno es muy intuitivo, y una vez que domines los conceptos básicos, podrás crear excelentes simulaciones.
A pesar de ser una plataforma online, también puedes conectar dispositivos físicos. Tendrás acceso a una gran variedad de extensiones para sensores y otros componentes, de gran ayuda para las simulaciones. Además de las funciones más básicas, hay extensiones más avanzadas. Estas se encuentran más abajo en el panel y te ofrecen funciones adicionales como un joystick, sensores o incluso comandos para soporte de lápices USB y almacenamiento flash.
La interfaz de usuario resulta bastante sencilla: muestra un panel ilustrativo con animaciones a la izquierda y el panel de programación por bloques a la derecha. Algunos comandos de salida muestran resultados incluso sin que haya un Arduino o un componente conectado, como ocurre con el sonido. Además, puedes imprimir el diagrama de cableado electrónico como ayuda para el montaje físico.
Veamos un ejemplo básico de una operación:
Tinkercad Circuits es un servicio gratuito y online de Autodesk disponible desde 2017. Probablemente se trate del simulador Arduino más fácil de usar. Este servicio te permite diseñar fácilmente tus propios circuitos, crear un programa en formato de bloques o de texto y, posteriormente, depurarlo.
La simulación de las placas Arduino y las interfaces de E/S y la interacción con el código funcionan a las mil maravillas. Además, podrás descargar el código y compartirlo con otros creadores.
Por supuesto, tiene limitaciones. Tinkercad te permite utilizar cualquier elemento de su biblioteca, pero no te permite añadir nuevas opciones de componentes (módulos Arduino, diferentes modelos de placas Arduino, sensores Arduino) ni modificar los elementos disponibles en la biblioteca. Algunos de los componentes más básicos, como las resistencias, se pueden parametrizar, pero esta opción no existe en el caso de los microcontroladores, y para Arduino, solo existe el modelo Arduino Uno R3.
Si quieres probar Tinkercad, tendrás que registrarte, eligiendo una cuenta de educador, de estudiante o personal.
Para echar un vistazo al programa sin necesidad de registrarte, puedes probar esta cinta métrica virtual. Una vez que hayas abierto el enlace:
¡Y funciona! Las distancias en la pantalla LCD son iguales a los datos mostrados por el sensor. Para saber más, consulta nuestro artículo sobre cómo diseñar y simular circuitos en Tinkercad.
Wokwi se basa en AVR8js, una implementación en JavaScript de la arquitectura AVR de 8 bits. En su página de GitHub, puedes encontrar Wokwi-elements y Wokwi-playgrounds. Desde aquí, puedes explorar los ejemplos y crear simulaciones, así como modificar el sketch y la apariencia del circuito (usando el archivo diagram.json).
Si quieres guardar (hacer una copia) de un ejemplo, tendrás que registrarte en Google o GitHub. Después de registrarte, verás un pequeño menú (en la esquina superior derecha de la pantalla) con las siguientes opciones: Discord server, My projects, The Club y Logout.
No es una interfaz de arrastrar y soltar, así que tendrás que estudiar los ejemplos existentes, copiarlos, modificarlos y comprobar los resultados por tu cuenta. Una vez hecho esto, puedes crear tu propia simulación. Para diseñar tu circuito, necesitas modificar el archivo diagram.json. Consulta la documentación para obtener más información.
Los usuarios avanzados pueden crear o añadir sus propias piezas y componentes, así como añadir librerías de Arduino (haz clic en la pequeña flecha junto a la lista de archivos, elige «New File…» y añade archivos .h, .cpp). Las únicas limitaciones consisten en la imposibilidad de exportar placas y esquemas para la fabricación de placas de circuitos impresos.
El desarrollador y la comunidad son muy proactivos y Wokwi ha evolucionado rápidamente. A través del canal de Discord, puedes hacer preguntas y recibir soporte, incluso del desarrollador.
Si la versión gratuita no está a la altura de tus necesidades, puedes unirte al Club Wokwi por unos 7 € al mes, que, además de la personalización, te permite mantener tus proyectos en privado.
Aquí tienes un programa de prueba:
¡Funciona! Las distancias de la pantalla LCD son prácticamente iguales a los datos mostrados por el sensor.
Los siguientes simuladores están disponibles tanto online como offline, por lo que pueden responder a diferentes necesidades.
Virtual Breadboard es una app de Windows Store. La interfaz es fácil de usar y te permite diseñar fácilmente tus propios circuitos (arrastrando y soltando los distintos elementos). También puedes cargar tus sketches en formato HEX desde el entorno de desarrollo integrado de Arduino, Arduino Create, PlatformIO, Visual Studio, etc.
Dentro de sus funcionalidades, se incluye la posibilidad de simular una placa Arduino, interfaces de E/S y la interacción de los programas. Además, puedes exportar tu proyecto en formato SVG y KiCad. Lo que hace especial a Virtual Breadboard es la inclusión de hardware virtual de realidad mixta y la posibilidad de remodelar el hardware.
El simulador es un poco restrictivo en el sentido de que no puedes crear o añadir tus propias piezas y componentes ni crear tus propios programas desde la interfaz del software. Finalmente, tampoco puedes exportar placas y esquemas para la fabricación de placas de circuito impreso (PCB).
Para probar la cinta métrica virtual, descarga el software e instálalo en tu PC. Una vez hecho esto, puedes empezar a utilizar la caja de herramientas Toolbox para añadir tus componentes haciendo clic sobre ellos y arrastrándolos. Por ejemplo: Toolbox > Integrated circuits > ATMega328p.
Ahora puedes cargar tu archivo HEX simplemente arrastrándolo, pero recibirás el siguiente mensaje de error que te sugiere que adquieras una licencia para habilitar los componentes sin licencia actualmente:
Unlicensed components: ATMega328Uno
Consider purchasing a license to enable these components at runtime
Para comprobar si nuestro programa de prueba funciona, necesitarás una licencia. Entonces:
¡Funciona! Y las distancias de la pantalla LCD coinciden con los datos que muestra el sensor.
Si no quieres comprar una suscripción, puedes probar los ejemplos beta en línea.
PICSimLab es un emulador en tiempo real de placas de desarrollo que integra un depurador MPLAB X/AVR-GDB. Es compatible con algunos microcontroladores PICSim y Simavr. PICSimLab cuenta con integración con el entorno de desarrollo integrado (IDE) MPLAB X de Arduino para programar placas de microcontroladores.
Puedes diseñar tus propios circuitos, cargar archivos HEX o realizar cargas directamente desde el IDE de Arduino. También puedes simular interfaces de entrada y salida de Arduino y la interacción con otros programas. Los usuarios avanzados pueden crear o añadir sus propias piezas y componentes, pero tampoco en este caso es posible diseñar placas y esquemas ni exportarlos para la fabricación de placas de circuitos impresos.
Finalmente, aquí tienes algunas opciones disponibles para descarga y con las que puedes trabajar sin necesidad de estar conectado a Internet mientras creas tus simulaciones.
Flowcode es una plataforma de programación gráfica con un IDE (o entorno de desarrollo integrado) para varios controladores como PIC, AVR, ARM, ESP o Raspberry Pi. Además de simular fácilmente un Arduino, ofrece una amplia gama de componentes de prueba y visualización de entornos 3D o 2D. Solo con hacer clic y arrastrar, puedes incluir bloques de comandos editables en un diagrama de flujo para probar tu Arduino ¡sin ni siquiera cambiar de pantalla! Echa un vistazo a este vídeo de YouTube de StudentCompanion Electronics para ver el programa en acción.
Flowcode es bastante intuitivo y adecuado tanto para los usuarios que empiezan como para aquellos que ya tienen cierta experiencia previa. Cuenta con la capacidad única de importar modelos 3D en formatos de archivo MESH, STEP y OBJ, lo que lo hace perfecto para experimentar con sistemas electromecánicos en cuya representación digital se pueden integrar motores, servos y actuadores.
Hay una versión gratuita de Flowcode disponible para fabricantes y aficionados registrados, con mucho que ofrecer y sin limitaciones en el tamaño de los proyectos. Las versiones Pro y Academic incluyen algunas funcionalidades especiales relacionadas con la depuración, los paradigmas y la documentación. Flowcode explica detalladamente todas las diferencias en su sitio web. Está disponible en seis idiomas.
Además de la guía de iniciación y de un vídeo formativo para principiantes, podemos ver nuestro programa de prueba para hacernos una idea de cómo será un flujo de trabajo:
SimulIDE es un simulador de circuitos electrónicos en tiempo real con simulación PIC, AVR y Arduino. SimulIDE tiene una interfaz bastante «espartana», que pretende ser rápida, sencilla y fácil de usar.
Puedes diseñar tus propios circuitos y programarlos con un editor de código y un depurador para GcBasic, Arduino, PIC y AVR. SimulIDE también cuenta con un canal de YouTube con más de 45 vídeos.
Al igual que en los ejemplos anteriores, no puedes crear tus propias piezas o componentes (aunque podrías pedirlo en el foro o en Patreon). Tampoco es posible diseñar placas y esquemas ni exportarlos para la fabricación de placas de circuitos impresos.
Para crear nuestro ejemplo, probaremos la versión gratuita. Hay dos maneras de hacerlo:
A pesar de su nombre, Arduino IO Simulator se utiliza para probar componentes y requiere de un Arduino físico conectado al ordenador para usarlo. Al ejecutar un código o ejemplo en el Arduino conectado al PC, puedes interactuar con este a través de los sensores y componentes del simulador. En la versión gratuita, necesitas estar conectado mediante un cable USB y utilizar un puerto COM, pero en la versión Pro, es posible emular puertos mediante el protocolo TCP y así conectarte a través de wifi. Actualmente, la versión Pro está disponible de forma gratuita.
La idea del programa es facilitar la realización de una prueba si no tienes todos los componentes o comprobar rápidamente cómo se comporta tu código. Todo está bien documentado e incluye un manual de instrucciones y una guía de instalación que explica todo lo necesario para la instalación de Java. El programa ofrece varios ejemplos para realizar pruebas y también hay bibliotecas para facilitar el uso de los componentes. Este programa puede ser muy útil con fines educativos.
Vamos a comprobar cómo se utiliza el programa:
UnoArduSim es una herramienta educativa gratuita en la que puedes diseñar tus propios circuitos (haciendo clic en «Configure > I/O Devices» para configurar dispositivos de E/S»), programas (solo de texto o cargando archivos de Arduino), depurar código y simular las interfaces de E/S de Arduino y la interacción de los programas.
Ten en cuenta que no puedes crear o añadir tus propias piezas o componentes, arrastrar o soltar componentes, diseñar placas o esquemas, ni exportar placas y esquemas para la fabricación de placas de circuitos impresos (PCB).
Aquí tienes un programa de prueba:
Virtronics es un simulador que no ofrece muchos componentes virtuales para montar proyectos con cables, módulos y piezas simbólicas. En su lugar, dispondrás de una prueba de cómo podría comportarse una placa Arduino o un modelo en una situación determinada de una forma más técnica.
Puedes controlar las entradas y salidas para simular componentes y comportamientos, y utilizar monitores para observar posibles errores y entender por qué se producen. Esto resulta muy útil si estás construyendo un proyecto y tienes un problema que no puedes resolver.
No creas que las buenas noticias acaban ahí; también cuentas con un monitor de serie y muchas otras herramientas como una tabla ASCII, un creador de códigos de barras, una calculadora, un analizador lógico de pines digitales, un mapa de conectores USB, Ethernet y un jack de 2,1 mm, entre otras muchas ventajas.
La interfaz también muestra un resumen de las variables en tiempo real, y en el menú «View» encontrarás otras opciones como SubRoutines, EEPROM, Class Explorer, etc. Todo ello se puede utilizar con modelos de diez placas diferentes: Uno, Due, Papilio, Esplora, Leonardo, Lily Pad, Arduino Mega, Arduino Nano, Uno32 y Yun. También es posible probar y simular otros elementos de hardware, como terminales y monitores LCD.
Todas estas funcionalidades permiten tanto probar el código antes de comprar el hardware como depurar, demostrar y enseñar cómo funciona la placa. Además, se trata de un gran aliado para esbozar códigos más complejos y realizar pruebas de forma más rápida y sencilla que utilizando la propia placa física.
La versión gratuita está limitada por tres contadores independientes, y cuando uno de ellos llega al límite, activa un retardo de 300 segundos que ralentiza el uso del programa, pero no lo impide. Los tres contadores que limitan la versión gratuita son 200 líneas, 45 días y 100 bocetos, lo que ocurra primero. El temporizador retrasa la carga del programa, y el mismo retraso se produce si abres otro proyecto o creas uno nuevo o usas otras funciones.
Probarlo es muy sencillo; al fin y al cabo, puedes descargarte la versión gratuita desde Virtronics. El programa ya incorpora algunos ejemplos de demostración. Tras instalar y abrir el programa, solo tienes que seguir los pasos que se indican a continuación:
Proteus VSM para la AVR de Arduino es, con mucho, la opción más cara de la lista. Sin embargo, además de todo lo básico, también ofrece algunas características especiales que no hemos visto en otros simuladores. Por ejemplo, tendrás acceso a miles de modelos de periféricos, además de poder arrastrar y soltar docenas de shields en tus simulaciones.
Aunque no hemos podido probar nuestro ejemplo porque la versión de demostración profesional es bastante limitada, mucha gente en YouTube ha utilizado este mismo sencillo proyecto de cinta métrica.
Si quieres probarlo, hay muchos proyectos de muestra:
Licencia: El texto del artículo "Los mejores simuladores Arduino (online y offline) de 2023" de All3DP está bajo una licencia de Atribución 4.0 CC BY 4.0..