En este post quiero explicar la manera en la que se debe configurar el entono de programación IDE de Arduino para extraer el archivo .HEX y poder utilizar este en las simulaciones de Proteus.
En el siguiente video puedes consultar el procedimiento para hacerlo, o también puedes mirar el paso a paso que está más abajo.
Paso 1: configurar el IDE de Arduino
Lo primero que vamos a intervenir será el IDE de Arduino, ya que al momento de instalarlo, la configuración por defecto no permite ver la ruta del archivo .HEX generado enla compilación y almacenado temporalmenteen una carpeta del sistema para luego ser escrito en la memoria del microcontrolador.
Para esto, vamos a abrir el IDE de Arduino y vamos a clicar en “File/Preferences”.
En esta ventana vamos a asegurar que las casillas “compilation” y “upload” de “Show verbose output during:” estén seleccionadas. De no ser así, las seleccionamos.
Paso 2: ruta del archivo .HEX
Habiendo configurado el IDE de Arduino como se explicó en el “Paso 1” de este tutorial, lo siguiente es extraer la ruta del archivo .HEX, para lo cual, lo primero es generar un archivo .HEX.
En este caso vamos a abrir un ejemplo de los que viene por defecto en el IDE de Arduino.
Yo en este caso elegí el ejemplo “Blink” y lo voy compilar para una placa Arduino UNO, aunque esto no es relevante, hay que tenerlo presente para saber con cual microcontrolador haremos la simulación más adelante. Lo siguiente es compilar o “Verificar” el código como lo hacemos antes de programar cualquier placa de Arduino.
Se puede notar que en la parte inferior (ventana negra) del IDE, en la consola, aparece una nueva cantidad de información que antes no podíamos ver. Nos vamos a desplazar hasta la parte final de la consola y vamos a comenzar a buscar, de abajo hacia arriba, una ruta que termine en un archivo .hex.
Vamos a seleccionar la ruta y a copiarla. Luego de esto, abrimos una carpeta cualquiera del sistema y pegamos la ruta en la barra de direcciones, prestando atención en eliminar los slash dobles que quedan en la ruta. Además, se elimina el nombre del archivo .HEX al final de la ruta para que esta apunte a la carpeta contenedora y no al archivo directamente.
Al oprimir “Enter” y llegar a la carpeta, podemos ver diversos y entre estos el archivo .HEX que estamos buscando.
Si en tu carpeta aparecen dos archivos .HEX, vamos a elegir el que NO dice bootloader.
Hace ya bastante tiempo tuve problemas cuando los archivos .HEX se encontraban en una ruta muy larga, de ahí que yo acostumbre siempre copiar este archivo y ubicarlo en la misma carpeta en la que tengo el código o mejor aún, la simulación de Proteus.
Paso 3: Configurando Proteus
En el paso 2 se estableció que se iba a utilizar una placa Arduino UNO, por lo tanto, en la simulación de Proteus debemos utilizar el microcontrolador correspondiente a esta placa, que en este caso es el ATMEGA 328.
Después de haber agregado el microcontrolador y tener todo el sistema a simular montado, hacemos doble clic en el microcontrolador y luego clic en la carpeta amarilla como se muestra en siguiente imagen.
Ahora solo es cuestión de navegar hasta la ubicación del archivo .HEX (donde hayan decidido poner el archivo .HEX al final del Paso 2 de este tuto), seleccionarlo y ya está.
Verificamos que si se haya cargado la ruta en el espacio de la carpeta amarilla, damos clic en “OK” y listo, nuestra simulación debe funcionar de una forma cercana a como correría en el montaje físico.
Hay que tener en cuenta que la simulación no corre en tiempo real y por lo tanto no corre a la velocidad del microcontrolador. Esto puede producir que los bucles, conteos o en general las funciones programadas se ralenticen. Por ejemplo, si se está utilizando un LCD en la simulación y además otros procesos, puede suceder que la actualización de la información del LCD se haga de manera mas lenta de lo que funcionaría en el montaje físico. Sin embargo, el hecho de poder tener una simulación del funcionamiento de nuestro código en un entorno (real) virtual puede ayudarnos a identificar errores de funcionamiento básicos o incluso mejoras en el sistema para ser ejecutadas antes del ensamble físico.
Recuerda que todo el procedimiento descrito en este post puedes visualizarlo paso a paso en el video que se encuentra al inicio de la página.
Si te gustó este post, te invito a seguirme y suscribirte en mi canal de Youtube.
Si deseas hacer una donación para incentivar el desarrollo de este tipo de actividades, puedes hacerlo a través de PayPal.
Si tienes alguna duda o sugerencia, por favor coméntala y trataré de responderla cuanto antes.