NoMADA GO es una tarjeta de desarrollo creada por la empresa mexicana Solace Labs, esta tarjeta entrenadora cuenta con un microcontrolador AVR ATmega32U4 de la marca Atmel.
Una de las ventajas principales que ofrece esta tarjeta es que no se necesita de un programador externo, esta se programa mediante la interfaz USB con la aplicación FLIP desarrollada por Atmel, lo cual la hace una herramienta muy versátil para el usuario ya que no requiere de elementos extras, solo basta con conectarla a la computadora y cargarle el firmware, su tamaño también es aceptable porque se puede trabajar con mucha facilidad desde una protoboard.
Si queremos aprender a programar microcontroladores de la línea AVR esta tarjeta es la ideal.
NoMADA GO. Tutorial de introducción. ¡Iniciamos!
[nextpage title = «Partes de la NoMADA GO»]
- Parte Superior
- Parte Inferior
[nextpage title = «Características especiales.»]
1.- Selector de voltaje de operación:
Esta tarjeta permite hacer la selección de voltaje de operación con los estándares 3.3 V y 5 V, esto se hace cambiando el Jumper en la tarjeta.
2.- Pines estándar para trabajar en el protoboard.
3.- Selector de voltaje de referencia del convertidor Analógico-Digital (ADC).
La NoMADA GO aparte de los voltajes de 3.3V y 5V ofrece la posibilidad de utilizar un voltaje externo como voltaje de referencia del ADC.
4.- Housing especializado para programación y/o alimentación del sistema.
El housing lo puede usar el usuario para cambiar el Bootloader del microcontrolador o programarle un firmeware estático, todo esto es posible utilizando el programador externo NoMADA ISP, insertando este programador en el Housing permite tanto programar como alimentar todo el circuito.
5.- Circuitería de protección contra corto circuitos.
Se deshabilita todo el sistema al detectar un corto circuito.
6.- Filtro para eliminación de ruido en la alimentación del Convertidor Analógico-Digital(ADC).
Cabe destacar que la referencia de alimentación externa del ADC no cuenta con el filtro de eliminación de ruido, el filtro solo aplica para los voltajes generados por la tarjeta.
7.- Rápida identificación de los puertos del microcontrolador.
La tarjeta cuenta con leyendas en cada uno de los pines para su rápida identificación.
8.- Orificios para el montaje de la tarjeta de desarrollo.
9.- Alimentación desde el puerto USB.
[nextpage title = «Configuración del entorno de trabajo.»]
Para empezar a programar la tarjeta NoMADA GO necesitamos dos programas:
Atmel Studio
Este programa es el editor de código y compilador.
El programa lo podemos descargar gratis desde la página de Atmel http://www.atmel.com/Microsite/atmel-studio/.
FLIP
Este es el programa que utilizaremos para cargar el firmware a la NoMADA GO.
El programa también lo podemos descargar gratis en la página de Atmel http://www.atmel.com/tools/FLIP.aspx
[nextpage title = «Hola Mundo con NoMADA GO.»]
Una vez instalado los programas requeridos procedemos a realizar el hola mundo de los microcontroladores, lo cual consiste en hacer parpadear un LED.
1.- Abrimos Atmel Studio y damos clic en New Project…
2.- Seleccionamos GCC C Executable Project. Colocamos el nombre de nuestro proyecto y su ubicación. Hacemos clic en OK.
3.- Buscamos el microcontrolador ATmega32U4 y hacemos clic en OK.
4.- Se abre esta ventana y aquí es donde escribiremos el código. Por default nos coloca lo siguiente.
5.- Lo que haremos es encender y apagar todos los LEDs del Puerto D por un segundo. En seguida pasamos a modificar el código, así quedaría el código final para el proyecto Hola Mundo. En los comentarios se describe cada función del código:
[code language=»java»]
/*
* HolaMundo.c
*
* Created: 22/06/2016 05:52:09 p. m.
* Author : YOSO
*/
#define F_CPU 16000000 // Definimos la velocidad del cristal a 16 MHz
#include <avr/io.h>
#include <util/delay.h> //Incluimos la librería delay para poder utilizar los delays
int main(void)
{
CLKPR = (1<<CLKPCE); //Es muy importante configurar este registro para que funcione el reloj.
CLKPR = (1<<CLKPCE)|(0<<CLKPS0)|(0<<CLKPS1)|(1<<CLKPS2); //esta configuración es para usar el cristal a 16 MHz sin preescalador es importante!
MCUCR = (1<<JTD);
MCUCR = (1<<JTD); //Para Deshabilitar el JTAG.
DDRD = 0b11111111;
/* configuramos los pines de salida en este caso el puerto D, para configurar los pines siempre se utiliza la instruccion DDR»x» en x va el puerto que queremos utilizar como pueden ser B, D, C, y F.
se utiliza 1 para salida y 0 para entrada.
*/
PORTD = 0b00000000; // inicializamos nuestros puertos en 0
while (1)
{
PORTD = 0b11111111; // Activamos todos los pines del puerto D (PRENDEN LOS LEDS)
_delay_ms(1000); // Los dejamos encendidos por 1 segundo.
PORTD = 0b00000000; //Desactivamos todos los pines del puerto D (SE APAGAN LOS LEDS)
_delay_ms(1000); // Apagamos los LEDs por 1 segundo. Esto se repetirá infinitamente.
}
}
[/code]
6.- Compilamos nuestro código y vemos si no hay ningún error. Para eso nos vamos al menú Build > Build Solution, o con la tecla F7.
7.- Si todo salió bien y no hay ningún error, nos aparecerá el siguiente mensaje en la parte inferior del programa.
[nextpage title = «Cableado y programación de firmware.»]
Realizamos el siguiente cableado:
Programación de firmware:
1.- Abrimos el programa FLIP y damos clic en Select a Target Device.
2.- Seleccionamos el microcontrolador ATmega32U4.
3.- Después damos clic en Select a Comunication Medium, conectamos el cable USB de la NoMADA GO, pulsamos y soltamos los botones BOOT y RESET al mismo tiempo hasta que se escuche el sonido que nuestra computadora reconoció un nuevo dispositivo y damos clic en USB > Open.
4.- Hacemos clic en Load HEX File. Buscamos la ubicación donde guardamos nuestro proyecto y en la carpeta Debug seleccionamos el archivo con la extensión .hex.
5.- Hacemos clic en Run para cargar el firmware y después deshabilitamos la casilla Reset.
6.- Damos clic en Start Application y con eso nuestra tarjeta empezará a realizar la función que programamos, en este caso hacer parpadear todos los LEDs del Puerto D.
Fuentes de Información
http://www.nomada-e.com/
http://www.atmel.com/
TiendaDeElectronica.MX | Tienda de Electrónica en Puebla, México | Tienda de Electrónica MX