huborarduino.com

La web de Hubor para la simulación de Arduino con Proteus

Banner Guia Programacion Arduino Con Proteus

[Versión 8.1 de Proteus]

Empezar a simular Arduino con Proteus es fácil y rápido. Una vez abierta la aplicación, desde la pantalla de inicio, en la sección ‘Empezar a trabajar’ podemos elegir la opción ‘Nuevo Proyecto’.

 

Img01 001

Nos aparece la ventana de diálogo siguiente.

Img01 002

Lo primero que tenemos que hacer es seleccionar la opción ‘De la tarjeta de desarrollo’ y después seleccionaremos en los desplegables las siguientes opciones que aparecen en la imagen:

Img01 003

Cómo es lógico podemos escoger otra de las tarjetas de desarrollo disponibles para Arduino. En este caso vamos a escoger una basada en el micro ATmega328P.

Al dar al botón finalizar para crear el proyecto, veremos dos pestañas nuevas en nuestra área de trabajo. En la denominada ‘Esquema electrónico’ podemos ver el diseño electrónico de nuestra placa principal de Arduino y en la denominada ‘Código fuente’ un armazón muy sencillo preparado para que podamos escribir el código de nuestra aplicación.

Img01 004

 

Img01 005

Activaremos esta segunda pestaña y seleccionaremos la opción de menú Sistema -> Configuración de compiladores.

Img01 006

En la ventana emergente que aparece, seleccionaremos Arduino AVR en la columna Compilador.

Img01 007

Y seleccionaremos el botón ‘Descargar’. Puede ser, según la versión de Windows que estemos utilizando, que nos aparezca un mensaje de aviso sobre los permisos de administrador necesarios.

Img01 008

Si aceptamos, se procederá a la descarga y veremos cómo progresa el proceso de descarga.

Img01 009

Nos aparecerá la ventana de instalación del compilador. Lo primero que tenemos que hacer es aceptar el acuerdo de licencia general GNU. Y a continuación, seleccionar los componentes necesarios.

Img01 010

Img01 011

Seleccionaremos a continuación, el directorio donde se instalará el compilador para Arduino.

Img01 012

Img01 013

Depende de su ordenador, es posible que nos pida también instalar el dispositivo Arduino USB driver.

Img01 014

Al acabar el proceso nos mostrará la siguiente ventana donde debemos pulsar el botón ‘Close’ para finalizar.

Img01 015

Al hacerlo visualizaremos una ventana emergente que había quedado oculta en segundo plano. Debemos pulsar el botón ‘Aceptar’.

Img01 016

Y podemos comprobar que ya tenemos listo el compilador para utilizarlo desde Proteus.

Img01 017

Para salir de la ventana de diálogo de configuración de compiladores, debemos utilizar el botón ‘Aceptar’.

 

[Versión 8.1 de Proteus]

Los ‘shields’ son tarjetas que han sido diseñadas para realizar una tarea específica y que pueden se enchufadas sobre la tarjeta principal de Arduino de forma directa. Hay una serie pequeña de tarjetas ‘shields’ oficiales y un gran número de ellas no oficiales que se pueden encontrar en internet. Además, podemos crear nuestra propia tarjeta shield en cualquier momento.
Proteus nos facilita la utilización de los ‘shields’ utilizando la técnica nueva que se ha incorporado desde la versión 8.1 denominada ‘recortes de proyecto’.

Nos colocaremos en la pestaña del diseño electrónico y utilizaremos la opción de menú Fichero -> Importar un recorte de proyecto.

Img02 001

 

Proteus es lo suficientemente inteligente para ofrecernos los recortes de proyecto de los ‘shields’ de Arduino disponibles. Podemos observar que tenemos varios más que los oficiales.

Img02 002

Para nuestro ejemplo, vamos a seleccionar el Arduino LCD Shield.

 

Nos aparece en la ventana del diseño, la forma difuminada del shield para que podamos colocarla donde deseemos.

Img02 003

La colocaremos junto a nuestra placa principal.

Img02 004
Realmente es muy sencillo utilizar los shields con Proteus, puesto que los conectores utilizados en una y otra placa tienen el mismo nombre y por lo tanto están eléctricamente unidos.

Img02 005

 

[Versión 8.1 de Proteus]

Para conocer las posibilidades que Proteus nos brinda para la depuración de nuestros programas, volveremos a la pestaña ‘Código fuente’ y pulsaremos sobre el botón ‘Pausa’ situado en los controles de la zona inferior. En el desplegable de la zona superior seleccionaremos main.ino (el único archivo fuente disponible).

Img04 001
De esta manera podemos observar el código fuente que se está ejecutando.

Img04 002
Vamos a crear un punto de ruptura en la línea 014C. Para ello haremos una doble pulsación con el botón izquierdo del ratón con el cursor colocado sobre ese número de línea. Un punto rojo indicará que se ha generado un punto de ruptura en esa línea del programa.

Img04 003
Ahora vamos a poner de nuevo en marcha la simulación utilizando el botón ‘Play’ de los controles de simulación situados en la zona inferior. Aparentemente no sucede nada. Pero ahora, vamos a pulsar sobre el pulsador que aparece en la ventana emergente activa superior. Este es el botón de reset de la placa principal de arduino y provocará que el equipo vuelva a su situación de inicio y el programa se ejecute de nuevo desde el principio.

Img04 004
Al hacerlo, el programa pasa por la línea 014C y se detiene porque es en esa línea donde hemos definido un punto de ruptura.

Img04 005
Podemos observar que el display está en blanco, porque todavía no hemos llegado a la línea donde ordenamos escribir nuestras cadenas de caracteres.

Img04 006
Ahora podemos utilizar el botón ‘saltar hasta la línea de código (over) en la función o subrutina’. Con ello indicamos a Proteus que deseamos ejecutar una sola línea de código.

Img04 007
La ejecución del programa se lleva a cabo y en el código aparece señalizada la siguiente línea lista para seguir llevando a cabo la simulación.

Img04 008
Repitamos el mismo proceso y podremos ver que el cursor se coloca sobre la siguiente línea.

Img04 009

Y que el display ya muestra la primera cadena de caracteres, puesto que se ha ejecutado la primera sentencia lcd.print.

Img04 010

Si repetimos el proceso dos veces más, podremos ver cómo el display se rellena con las dos cadenas de caracteres.

Img04 011

Y que el código se ha ejecutado una línea más.

Img04 012
Si lo preferimos, poder ver el código en ensamblador. Para ello pulsaremos con el botón derecho sobre la ventana que contiene el código y en el menú contextual elegir la opción ‘Dissassembly’.

Img04 013
Obteniendo el código en ensamblador.

Img04 014

Podemos volver al código en ‘C’ con la misma opción de menú.

 

[Versión 8.1 de Proteus]

Tenemos que ir a la pestaña del código fuente e incorporar una sentencia define para que utilizar el shield en nuestro programa. Puesto que hemos utilizado el shield que nos proporciona una pantalla de cristal LCD, debemos utilizar el fichero de cabecear con las definiciones correspondientes llamado <LiquidCrystal.h>.

Img03 001

Ahora podemos añadir unas nuevas líneas a nuestro código para presentar un mensaje en la pantalla Lcd.

Img03 002
Debemos ser cuidadosos en la utilización de las mayúsculas y minúsculas porque el compilador diferencia entre unas y otras.
Podemos compilar el proyecto utilizando la tecla F7 o la opción de menú Construir -> Construir proyecto.

Img03 003
Si todo ha ido bien, recibiremos un mensaje de que todo se ha ejecutado de forma correcta (compilado ok).

Img03 004

Podemos poner en marcha ya nuestra simulación utilizando el botón ‘Play’ de los controles de simulación de la zona inferior de la pantalla.

Img03 005
Veremos la pantalla siguiente.

Img03 006

La simulación se pone en marcha. Por defecto, Proteus nos presenta la pestaña de código fuente y tres ventanas emergentes activas. Las ventanas emergentes activas son una nueva función que se incorporó a Proteus en la versión 8. Nos permiten visualizar e interactuar con una porción del esquema. Para más información, puede consultar nuestra guía ‘Primeros pasos con Proteus VSM’.

En este caso hay tres ventanas emergentes activas. En una podemos ver el pulsador y el led de la placa principal, en la segunda el display y en la tercera el conjunto de pulsadores de la placa shield.

Podemos observar que el display muestra correctamente nuestro mensaje.

También podemos ir a la pestaña del diseño para comprobar la ejecución de la simulación con el conjunto completo.

Img03 007

En la zona inferior se puede visualizar los mensajes que se reciben durante la simulación.

Img03 008
Todo ha sido muy rápido y sencillo.

 

[Versión 8.1 de Proteus]

Puesto que el código que escribimos en nuestra primera simulación es muy sencillo y sólo se ejecuta una vez, puede resultar un poco extraña una simulación donde no cambia nada. Vamos a añadir un poco de código dentro del bucle que se está ejecutando continuamente en nuestro programa. Para ello, detenemos la simulación con el botón ‘STOP’ de los controles de la simulación y escribimos el siguiente código:

Img05 001

Recuerde respetar las mayúsculas y minúsculas. 

Compilemos de nuevo el programa y ejecutemos la simulación. El programa se detendrá donde tenemos creado nuestro punto de rutpura.

Img05 002

Pulsemos de nuevo la tecla ‘Play’ y observe cómo el display LCD va cambiando sus líneas.

Img05 003

Img05 004
En cualquier momento, podemos eliminar todos los puntos de ruptura con la opción del menú contextual.

Img05 005


Esta página es propiedad de Hubor.

2014.

Guardar
Preferencias de usuario para las Cookies
Estamos utilizando las cookies para asegurarnos de que le podemos ofrecer el mejor servicio posible en este sitio web. Si rechaza el uso de las cookes, es posible que esta web no funcione como estaba previsto por el equipo de programadores.
Aceptar todo
Rechazar todo
Leer más
Estadísticas
Las cookies de preferencias permiten a la página web recordar información que cambia la forma en que la página se comporta o el aspecto que tiene, como su idioma preferido o la región en la que usted se encuentra.
Google Analytics
Aceptar
Rechazar