Arduino ATMega328P en una protoboard

https://www.minitronica.com/arduino-uno-atmega328p-una-protoboard/

Hace poco vimos como programar un ATtiny85 con Arduino UNO, lo que buscábamos era reducir el tamaño de proyectos sencillos y con pocos requisitos. El ATtiny85 es perfecto para este tipo de proyectos, pero a veces necesitamos reducir el tamaño sin perder ninguna de las funcionalidades así que en este tutorial veremos como usar el microcontrolador ATMega328P en una protoboard o placa PCB, montando solo los componentes necesarios para la ejecución de nuestro sketch, además veremos como reprogramarlo una vez que lo tenemos montado en la protoboard y funcionando.

Para este tutorial usaremos el microcontrolador ATMega328P del Arduino UNO.

NOTA: Si has comprado algún ATMEGA328P y no sabes como grabar el bootloader, mira el tutorial como grabar el bootloader en un ATMega328P que hemos escrito para ti.

Pinout del ATMega328P

Paso #1: Extraer el microcontrolador del Arduino

Antes de extraer el microcontrolador grabamos el ejemplo BLINK del IDE de Arduino, así comprobaremos que funciona correctamente una vez tengamos todos los componentes montados en la protoboard. Una vez grabado el sketch sacamos el microcontrolador del Arduino haciendo palanca con un destornillador plano pequeño por los lados, poniendo la punta entre el zócalo y el microcontrolador con mucho cuidado de no rayar las pistas de la placa, hacemos palanca un poco por cada extremo hasta que quede suelto y podamos extraerlo con los dedos, una vez que lo extraemos ya podemos pincharlo en una protoboard o en una placa para prototipos.

CONSEJO: Os recomendamos pinchar el pin 1 del microcontrolador en la fila de agujeros marcado como nº10 en la protoboard, esto os servirá de referencia visual a la hora de pinchar los demás componentes.

Paso #2: Alimentando el microcontrolador

Para este proyecto vamos a usar como fuente de alimentación una pila de 9V regulada por un LM7805 que nos reducirá la tensión a 5v, también hemos puesto un condensador de 10uF/16V entre positivo (5v) y negativo (GND) para filtrar y estabilizar la corriente.

Este circuito de alimentación no es necesario si ya dispones de una fuente regulada de 5v.

Paso #3: Instalando los componentes

El microcontrolador ATMega328P no puede arrancar solo con la alimentación, necesita una serie de componentes y conexiones para poder funcionar correctamente. Los componentes son: Un oscilador de cristal de cuarzo de 16MHz, una resistencia de 10K y 2 condensadores tipo lenteja de 22 Picofaradios. En este esquema podemos ver el microcontrolador ATMega328P alimentado con la fuente regulada que hemos montado antes y con todos los componentes en su sitio.

El pin 1 del ATMega328P es el pin de RESET, este debe tener un estado HIGH para evitar que el microcontrolador se reinicie, para ello ponemos una resistencia de 10k entre el pin 1 y positivo (5v). Si no ponemos la resistencia el microcontrolador funcionará igualmente, pero para evitar posibles reseteos aleatorios es mejor curarse en salud y ponerla.

Para poder resetear el microcontrolador a nuestro antojo ponemos un pulsador conectado entre el pin 1, justo antes de la resistencia de 10k, y negativo (GND). Así cuando lo pulsemos el microcontrolador detectará el estado LOW en el pin 1 (RESET) y se reiniciará.

Conectamos el pin 7 (VCC) del ATMega328P a positivo (5v) y el pin 8 a negativo (GND), con estas 2 conexiones alimentamos el microcontrolador. El pin 22 también va conectado a negativo (GND) y los pines 20 (AVCC) y 21 (AREF), que son los voltajes de referencia, van a positivo (5v).

Entre el pin 9 (TOSC1) y el pin 10 (TOSC2) ponemos el oscilador de 16MHz, el oscilador no tiene polaridad, así que se puede colocar como queramos. En cada extremo del oscilador ponemos un condensador de 22pF conectados a negativo (GND) para darle estabilidad al microcontrolador, en circuitos básicos estos condensadores de 22pF no son necesarios, pero si es recomendable ponerlos.

Entre el pin 19 (Digital 13) y negativo (GND) ponemos un led con una resistencia de 330 Ohm, este debería encenderse y apagarse intermitentemente ya que hemos cargado el ejemplo BLINK del IDE de Arduino. Con esto ya tenemos todas las conexiones y los componentes necesarios para ejecutar nuestro sketch, solo quedaría conectar la pila de 9v al regulador y comprobar que funciona correctamente.

Paso #4: Programando el ATMega328P en una protoboard

Si queremos reprogramar el ATMega328P y subirle otro sketch tenemos 2 opciones, una opción sería sacarlo de la protoboard, pincharlo otra vez en el Arduino UNO y subir el nuevo sketch. La otra opción es programar el ATMega328P sin sacarlo de la protoboard, para ello retiramos la alimentación (pila de 9v) y sacamos 2 cables (5v y GND) del Arduino y los pinchamos en la protoboard, en los carriles de alimentación laterales. Con esto alimentamos el microcontrolador a través del Arduino UNO.

También conectamos el pin 0 del Arduino (RX) al pin 2 del ATMega y el pin 1 del Arduino (TX) al pin 3 del ATMega, a través de estos 2 cables se realizará el intercambio de datos.

Finalmente conectamos un cable entre el pin RESET del Arduino y el pin 1 del ATMega328P, justo antes de la resistencia de 10k, aquí tenéis el esquema detallado de las conexiones:

ATENCIÓN: Recuerda desconectar la pila de 9v antes de alimentar el microcontrolador a través del Arduino y recuerda también que el Arduino UNO no debe tener pinchado ningún microcontrolador en el zócalo, este debe quitarse para programar el ATMega de la protoboard.

Ahora ya puedes subir tu nuevo sketch como si lo subieses al Arduino, verás los LED del Arduino parpadeando mientras lo haces, cuando dejen de parpadear es que ya ha acabado, en ese instante ya puedes desconectar el Arduino y conectar de nuevo la pila de 9v.