Para poder utilizar la Placa de desarrollo para ATMEGA2560 como si fuera la placa Arduino/Genuino Mega y que el software Arduino IDE pueda cargar sketches directamente, hay que realizar una serie de pasos. Este artículo describe dos formas de preparar la placa y el chip para poder usarlo como un Arduino.
Para ambos métodos es necesario disponer de un programador ISP. El primer método también se puede llevar a cabo con un programador ArduinoISP o con una placa de Arduino extra, convirtiéndola en programadora como se explica en este artículo. Las instrucciones que se indican a continuación son siempre desde Windows. Existen alternativas para realizarlo en MacOS y GNU/Linux, siendo los pasos muy similares.
Método directo: utilizando el propio IDE de Arduino
El propio IDE a Arduino permite, utilizando algunos de los programadores soportados por el proyecto AVRDUDE, convertir la placa a Arduino. Esto lo hace utilizando las herramientas que el propio software AVRDUDE, que viene integrado con el software de Arduino, proporciona para controlar algunos programadores. El inconveniente de este método es que, a la hora de instalar el programador NO SE PUEDEN UTILIZAR los drivers que Windows proporciona. Tampoco se puede tener instalado Atmel Studio, puesto que instala automáticamente cualquier programador con sus drivers, impidiendo a AVRDUDE acceder al dispositivo, imposibilitando poner en práctica este método.
Como se ve en la imagen, en el menú Herramientas > Programador se puede seleccionar entre los que soporta. Una vez escogido el adecuado, Herramientas > Quemar Bootloader instalará el bootloader y configurará el chip automáticamente.
En caso de resultar satisfactoria la programación por parte del IDE de Arduino, no es necesario hacer nada más. La placa en este momento es totalmente compatible con Arduino. El programador ISP ya no será necesario la próxima vez ya que, a partir de ahora, los sketches se podrán descargar a través del COM virtual que monta la placa al conectarla por USB. Sólo resta acordarse de que en la placa existe un jumper, cerca del pulsador de reset, que es imprescindible colocado para usarla como Arduino, ya que éste provee la funcionalidad de reset a través del puerto serie virtual.
Método manual: utilizando Atmel Studio
Si el método anterior no se puede llevar a cabo de manera satisfactoria o ya se dispone de Atmel Studio instalado y de un programador compatible, se puede utilizar la herramienta Device Programming (penúltimo botón de la barra principal o en el menú Tools > Device programming) para cargar el bootloader y configurar los valores necesarios de los fuses.
Una vez cargada la herramienta, se deben seleccionar el programador que se va a utilizar y el chip de la placa (en este caso ATmega2560).
En la sección Memories se pueden elegir los archivos a grabar en la flash y en la EEPROM del chip. En este caso sólo se necesita grabar el bootloader en la flash. Al final de este artículo, en descargas, está disponible el archivo .HEX con el bootloader (versión distribuida con Arduino a fecha del artículo). El bootloader para este chip se puede encontrar entre los archivos que se descargan con el software de Arduino en la siguiente ruta:
Arduino/hardware/arduino/avr/bootloaders/stk500v2/stk500boot_v2_mega2560.hex
Después de indicar el archivo se procede a programar y verificar la flash. Si todo resultó OK, sólo resta configurar los valores de los fuses.
Para ello, y sin salir de la ventana del programador, hay que ir a la sección Fuses, donde se puede ver la configuración actual de fusibles del chip y cambiarla a los valores adecuados para que funcionen el bootloader. En la captura se puede ver la configuración requerida, que se pude configurar introduciendo directamente el valor de los tres registros de fusibles o yendo uno por uno. Los valores que deben tener los registros son:
EXTENDED: 0xFD HIGH: 0xD8 LOW: 0xFF
Una vez puestos los valores se procede a programarlos, verificarlos... et voilà!
Importante
No está de más reiterar que, independientemente del método utilizado para volver compatible la placa con Arduino, es imprescindible la colocación del jumper que permite al IDE de Arduino resetear el chip para cargar los sketches.
Documentos
- Escrito por DArk
- Creado: 02 Octubre 2015