Construir un Arduino
Muchas veces iniciamos un proyecto experimentando y probando cosas con nuestra placa Arduino y una protoboard. Luego las cosas se ponen un poco más serias y es necesario dar un paso más, por ejemplo fabricando un circuito impreso o shield para contener todos los componentes adicionales al Arduino. En este artículo veremos como construir un Arduino Uno a medida, es decir, bajo nuestros requerimientos.
Investigando en Internet bajo los términos Arduino Breadboard o Arduino Standalone encontraremos muchos proyectos para montar una placa Arduino. El circuito mínimo se basa en un microcontrolador ATMEGA328-PU, un cristal de 16MHz, dos capacitores cerámicos y una resistencia.
La placa Arduino a medida funciona con 5 V de corriente continua, por lo que será necesario contar con un regulador de tensión para poder alimentarla desde una batería de 9 V o una fuente. Este montaje utiliza el regulador lineal LM7805 junto a algunos componentes más:
Una vez realizadas todas las conexiones de la fuente de alimentación es importante comprobar que no existan cortocircuitos o problemas de soldadura. Hay que probar con un multímetro que la polaridad y la tensión sean correctas antes de conectar el microcontrolador.
Una vez que el hardware está terminado, es hora de cargar el bootloader. Un microcontrolador generalmente se programa a través de un dispositivo programador, a menos que tenga en su memoria un pequeño firmware que permita instalar un nuevo programa sin la necesidad de un programador externo. Esta es la función del bootloader o gestor de arranque.
Para cargar el bootloader se necesita una placa Arduino Uno a la que se le debe subir el sketch ArduinoISP. Para hacer esto, abrir el sketch desde el menú Archivo > Ejemplos > 11. ArduinoISP > ArduinoISP.
El siguiente paso será conectar la placa Arduino Uno a la placa Arduino «a medida».
Ahora es necesario cambiar el programador. Ir al menú Herramientas > Programador y elegir la opción Arduino as ISP. Volver al menú Herramientas y elegir la opción Quemar Bootloader. ¡Listo!
Puede ocurrir que al intentar cargar el bootloader, el IDE de Arduino informe sobre un error de firma y no permita continuar con el proceso.
En este caso ocurrió debido a que el microcontrolador que se está utilizando es el ATMEGA328-PU y el que utiliza la placa Arduino Uno es el ATMEGA328P-PU. La gran diferencia entre uno y otro es el consumo de energía. Para poder continuar hay que engañar al IDE modificando el archivo avrdude.conf.
- Buscar y abrir la carpeta en la que está instalado Arduino IDE, luego navegar hasta la subcarpeta
\hardware\tools\avr\etc
. - Hacer una copia de respaldo del archivo
avrdude.conf
. - Abrir el archivo
avrdude.conf
en un editor de texto. - Buscar
0x1e 0x95 0x0F
, que es la firma ATMEGA328P. - Reemplazarla por
0x1e 0x95 0x14
(esta es la firma ATMEGA328). - Guardar el archivo.
- Reiniciar el IDE de Arduino.
- Continuar grabando el bootloader, y una vez que se complete la carga, restaurar la copia de seguridad.
Para cargar un sketch deberemos utilizar un adaptador USB-TTL y conectarlo de la siguiente manera: