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]

Detengamos la simulación que comenzamos en el punto anterior con el botón ‘STOP’ y luego volvamos a ejecutar la simulación con el botón ‘Avanzar un fotograma’ de los controles.

Img06 001
Volvamos a escoger en el desplegable el código de nuestro programa main.ino.

Img06 002
Observemos que en la parte inferior de la ventana se visualiza la variable línea.

Img06 003
Nos muestra su dirección y su valor (cero al iniciar el programa). Pulsemos repetidamente sobre la tecla ‘Avanzar un fotograma’ hasta que observemos que el valor de la variable cambia.

Img06 004
Si seguimos con la simulación paso a paso, veremos que vuelve a cambiar y recupera el valor 0 y 1 de forma sucesiva según se ejecute el programa.

Img06 005

Img06 006

[Versión 8.1 de Proteus]

Proteus nos permite activar el histórico de simulación y observar todas las órdenes que enviamos al display LCD. Primero tenemos que activar la ventana donde se muestra el histórico de la simulación utilizando la opción ‘Simulation log’ del menú ‘Depuración’.

Img07 001
La ventana con el histórico de la simulación se muestra en la zona inferior de la pestaña ‘código fuente’.

Img07 002
Ahora vamos a definir que mensajes se muestran. Para ello utilizaremos la opción ‘Configurar los diagnósticos’ del menú ‘Depuración’.

Img07 003
En la ventana de diálogo que se abre, seleccionaremos el dispositivo LM016L (el display LCD) y expandiremos todas sus opciones dando al signo ‘+’ que figura a su izquierda.

Img07 004
Nos colocaremos encima de la opción ‘Controller Diagnostics’ y seleccionaremos la opción ‘Completo’ en la zona inferior.

Img07 005
Volveremos a ejecutar la simulación paso a paso y veremos como la ventana del histórico se actualiza con las órdenes que se han enviado al display LCD a medida que avanzamos por el programa.

Img07 006

Img07 007

[Versión 8.2 de Proteus]

Hasta ahora hemos visto todas las capacidades que nos ofrece Proteus para simular el comportamiento de un equipo Arduino. Una vez que hemos depurado nuestro programa y que todo funciona correctamente, Proteus también nos posibilita la carga de nuestro código en la placa Arduino real. En este artículo vamos a ver todos los pasos de este proceso.

Como es lógico, el primer paso consiste en unir la placa Arduino receptora del programa con nuestro ordenador PC mediante el cable USB. Cómo a estas alturas es seguro que ya hemos instalado Proteus y el entorno de programación de Arduino en nuestra computadora, todos los drivers están listos y sólo tenemos que conectar los dos equipos con el cable USB.

Img 009 001

En cuanto lo hagamos tenemos que ver que las luces de nuestra placa se encienden, puesto que toman la alimentación directamente del puerto USB.

Los drivers instalados han tenido que asignar un puerto serie (COM<n>) al que se ha conectado nuestro equipo Arduino. Nuestra primera labor consiste en averiguar qué puerto se le ha asignado. Para ello consultaremos el administrador de equipos. Como dependiendo de la configuración de nuestro ordenador, el administrador de equipos puede estar visible en un menú u en otro, lo mejor es dejar que Windows lo busque por nosotros. Para eso abrimos el menú inicio y en el cuadro de búsqueda de la zona inferior escribimos 'Administrador de dispositivos'. Windows se encargará de buscarlo y nos lo oferecerá en los resultados.

Img 009 002

Pulsando sobre el resultado, se abrirá el administrador de equipos de Windows. En la parte izquierda seleccionaremos en el árbol de opciones 'Administrador de dispositivos' y en la zona derecha la opción Puertos (COM y LPT):

Img 009 003

En la rama de esta opción tiene que aparecer nuestro equipo y el puerto que se le ha asginado. En nuestro caso como hemos utilizado una placa Arduino Uno podemos observar que el puerto serie ha sido el COM7.

Img 009 004

Una vez que ya sabemos el puerto serie al que se ha conectado nuestro Arduino, ya podemos volver a nuestro proyecto de Proteus e ir a la pestaña "código fuente". Ahí tendremos todo nuestro código que ya sabemos que funciona correctamente cuando hemos ejecutado su simulación en el entorno Proteus.

Img 009 005

Vamos a configurar la información de nuestra conexión a la placa Arduino en Proteus. Para ello usaremos el menú Construir->Configurar proyecto.

Img 009 006

 

En la ventana de diálogo que se abre, podemos comprobar en la opción Port que ya está disponible el puerto asignado a nuestra placa (en nuestro caso el COM7).

Img 009 007

Tenemos que configurar todas las opciones de acuerdo con la placa Arduino que estamos utilizando. En nuestro caso, los datos mostrados a continuación se refieren al Arduino Uno.

Img 009 008

Una vez hecho esto, ya podemos utilizar la opción que nos ofrece Proteus de enviar el programa a nuestra placa Arduino. Para ello seleccionamos el menú Construir->Enviar

Img 009 009

 

Al hacerlo, en la zona inferior de la ventana de Proteus, podemos ver el progreso de la operación.

 

Img 009 010

 

Sólo nos resta destacar una cosa más. En la pantalla de configuración de Proteus hemos seleccionado en nuestro caso la velocidad (port speed) de 115200 baudios. No sé bien la razón por la que me he encontrado placas Arduino Uno que se conectan a diferentes velocidades por el puerto de programación. Tal vez algún lector quiera dejarnos en nuestra página de facebook (https://www.facebook.com/pages/Hubor-Proteus/294446180592964?ref=hl) la explicación del método dónde se selecciona en Arduino esta velocidad para que lo podamos compartir con todos vosotros.

Si la velocidad seleccionada no coincide con la de nuestra placa Arduino, el programa no se cargará y recibiremos un mensaje de error después de un par de minutos.

Img 009 011

En este caso, conviene probar con varias velocidades diferentes hasta que lo logremos. Las velocidades estándar para probar son: 9600, 14400, 19200, 38400, 57600, 115200, 128000.

Esperamos que esta lección os haya resultado interesante.

 

 

[Versión 8.1 de Proteus]

Veamos un ejemplo de simulación que le ayudará a familiarizarse con el uso de los instrumentos virtuales.
Utilizaremos el botón ‘Abrir ejemplo’ de la sección ‘Empezar a trabajar’ desde la pantalla de inicio.

Img08 001
En la ventana emergente que aparece elegiremos la categoría ‘VSM for AVR’ y entre los resultados el ‘Arduino Motors Example’

Img08 002
Y podremos disponer de un complejo ejemplo totalmente operativo donde se controla con un Arduino dos motores y un terminal.

Img08 003
Ejecutemos la simulación y accionemos el pulsador A superior.

Img08 004
Podremos observar que en el terminal aparece:

Img08 005
Y que el primer motor se pone en marcha lentamente.

Img08 006
Si accionamos cuatro veces más el pulsador, la velocidad se irá incrementando y aparecerán en el terminal las órdenes enviadas.

Img08 007
Si accionamos ahora varias veces sobre el pulsador B superior, la velocidad del segundo motor se incrementará.

Img08 008
Detengamos la simulación y coloquemos el osciloscopio virtual en nuestro diseño. Para ello utilizaremos el botón de la barra de herramientas lateral ‘instrumentos’ y en el panel que aparece seleccionaremos ‘oscilloscope’.

Img08 009
Y lo colocamos sobre nuestro área de trabajo.

Img08 010
Ahora debemos unir el terminal A del osciloscopio con el cable rotulado PWMA y el terminal B del osciloscopio con el cable rotulado PWMB.

Img08 011
Volvemos a la pestaña del código fuente y ejecutamos la simulación con la tecla PLAY. El osciloscopio y el terminal se tienen que mostrar en blanco.

Img08 012
En la ventana emergente activa situada en la zona inferior derecha podemos utilizar los pulsadores A y B superiores para ir incrementando la velocidad de los motores y observar como varía la frecuencia de la señal PWM ue controla los motores en el osciloscopio.

Img08 013

Img08 014

Img08 015

Img08 016
Además, podemos aprovechar la ventana emergente activa intermedia para ver al mismo tiempo como se aceleran los motores.

Img08 017
Y todo de un simple vistazo y en la misma ventana.

 


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