Select Page

Descripción

Este kit sirve para que podamos diseñar un arduino uno a nuestra medida, ya sea en un protoboard, o en una placa para montaje fijo. Consta de todos los componentes necesarios para hacerlo funcionar y hasta tiene la versatilidad de permitir una resistencia pull-up o pull-down para el boton de reset. Vamos a explicar como sacar funcionando nuestro kit atmega328, desde el armado del circuito testeado, la colocaccion de una resistencia pull-up o pull-down para el reset y como cargarle un programa con un arduino. Existen otras maneras de cargarle un programa, que pueden ver en los siguientes links, USBtiny, y USBttl. No explicaremos en este tutorial como cargarle el bootloader a nuestro atmega ya que lo comercializamos con el mismo ya cargado, pero podes ver mas sobre este tema haciendo click aca

Componentes

Atmega328 (datasheet)

Cristal 16Mhz

2 x Capacitores 22pF

Resistencia de 10kohm

Pushboton

Conexionado y Programacion

Existen dos maneras de programar el atmega328 con un Arduino. La primera es con un arduino uno, removiendo el chip y conectando los pines TX y RX a los del atmega328 como muestra el esquema de conexion a continuacion.

remove microcontroler

ArduinoUSBSerial

De esta menera estamos usando la placa como programadora USB. Luego en nuestro IDE seleccionamos el puerto COM donde este conectada nuestra placa y seleccionamos Arduino Uno (ya que vamos a programar un atmega328. Si programaramos un atmega2560 deberiamos seleccionar Arduino Mega), cargamos un programa de ejemplo y listo!

La segunda manera, muy util en caso de que no tengas un Arduino Uno a tu disposicion, es usando cualquier Arduino como programador:

Paso 1:  Conectamos la placa que tengamos, Mega, Nano, Leonardo, ProMini y le cargamos el programa ArduinoISP

1

Paso 2: Desconectamos nuestra placa de la pc y procedemos a realizar los esquemas de conexion. Esto en principio depende del arduino que utilizemos. Las conexiones a realizar constan de unir los pines SPI de la placa que estamos usando como programadora Mega, Leonardo, Nano, a los pines SPI del atmega328 en este caso. La otra opción es conectar los pines del cabezal ISCP de la placa programadora a los pines SPI del atmega328.

Para lo anterior tenemos que tener en cuenta en que pines se encuentran los pines SPI en el atmega328 y en cada placa:

 Atmega328 / Arduino Uno / Nano / Duemilanove Arduino Mega 
CS D10 D53
MOSI D11 D51
MISO D12 D50
SCK D13 D52
RESET RESET RESET
VCC 5V GND
GND 5V GND

 

Ejemplo de conexiondo con un Arduino Mega como programador, a traves de los pines SPI:

mega

Ejemplo de conexiondo con un Arduino Nano como programador, a traves de los pines SPI:

nano

 Pinout Atmega328:

 

arduino_atmega328_web_by_pighixxx-d5u4ape

Atencion existen dos modelos de ATMega328 con encapsulado DIP: el ATMega328-PU y el ATMega328P-PU.Arduino emplea estos últimos, cuya única diferencia con los primeros es que cuentan con la tecnología picopower, una funcionalidad que permite ahorrar energía ralentizando la frecuencia de ciertas partes del integrado. En caso de que tengas un 328P-PU, puedes ir directamente al último párrafo. Pero en caso contrario, es preciso modificar un archivo de configuración del entorno de Arduino para “engañarlo” y que piense que se trata del otro modelo de chip.
ara ello, sólo hay que abrir el archivo avrdude.conf, que se encuentra enhardware/tools/avr/etc/ y encontrar hacia la segunda mitad del archivo la línea 9245:

signature = 0x1e 0×95 0x0F;

y cambiarla por ésta (lo que viene siendo reemplazar el 0F por un 14):

signature = 0x1e 0×95 0×14;

Cuando hayas terminado de cargar el bootloader, revierte el cambio que acabamos de hacer, ya que entonces si no lo haces no podrás cargar archivos a tu Arduino. No obstante, tendrás que volver a hacer esto siempre que quieras cargar tu ATMega328-PU. Como curiosidad, si se omite esta parte la consola del entorno nos mostrará el siguiente error:

avrdude: Expected signature for ATMEGA328P is 1E 95 0F
Double check chip, or use -F to override this check.

Luego de haber realizado las conexiones, conectamos la placa programadora via USB, seleccionamos el puerto COM en que fue conectada. Despues vamos a Herramientas y seleccionamos la placa que vamos a programar, en este caso atmega328, es decir Arduino Uno, (sin importar la que estemos usando como programadora ya que ya le cargamos el sketch Arduino ISP). Como ultimo en la parte de programador seleccionamos Arduino as ISP y listo, cargamos el programa!