Paso 4: Módulo 1 - el Arduino / módulo RTC - Resumen
Podría utilizar este módulo o una variante de la misma para cualquier aplicación basada en el tiempo. Casi todas las clavijas útiles romper encabezados masculino y puede volver a programar por serie en el tablero. Usted necesitará un cable de USB a TTL para programar el despertador código o código de prueba (o incluso su propio código). Mina se llama "CP2102" basado y fue £4,75 para dos incluida la entrega (e-bay). Ahora son incluso más baratos.
Para programar por conexión serie necesita un 328 con el gestor de arranque "Duemilanove". Puedes comprar estas fichas previamente programados con el gestor de arranque o utilizar un programador ISP. Usé un Arduino existente como ISP con mi nuevo chip en un protoboard según este tutorial:
http://Arduino.CC/en/Tutorial/ArduinoToBreadboard
Sin embargo, lo que no dice es que tienes que desactivar el auto-reset así mira:
http://www.Arduino.CC/Playground/Code/MegaISP
para la solución a eso. Usé una resistencia de 100 Ohm y 10 Ohm en serie reset pin a + 5V. Un condensador de 100uF entre ellos funciona igualmente bien.
Si, como yo, se obtiene un 328-PU en lugar de una P 328 (no sé la diferencia pero al parecer ellos tienen diferentes modos de ahorro de energía) entonces usted puede encontrar que el gestor de arranque no se carga porque estos dos chips tienen una firma de otro dispositivo y el software que realmente habla del programador (AVRdude) se confunde. La solución más rápida para esto es encontrar el archivo avrdude.conf y en la entrada bajo ATmega328, editar la línea:
firma = 0x1e 0x95 0x0F;
para leer:
firma = 0x1e 0x95 0x14;
Que hace AVRdude busque un 328-PU y todo está bien. Cambio el archivo .conf regreso después (una vez este programado el bootloader). Bootloaded 328-PU se programa desde el IDE de serie sin ningún problema y se comporta exactamente como un Arduino normal.
Es el ATMega328 Datasheet: http://www.atmel.com/Images/doc8161.pdf sólo en caso de necesitar 448 páginas de lectura luz!
También verá que más bien he ido a la ciudad en los condensadores en este foro (y de hecho este proyecto). Tal vez debido al pesada PWM de varios amperios del LED, he ido encontrando este reloj era un poco inestable y a veces se atasque. También la pantalla fue un poco loca de vez en cuando. Por lo tanto he tomado el enfoque de la adición de un 100nf para cada conexión de alimentación de cada chip, un 100uF en cada tablero y un masivo 470-1000uF en el Ardu' tablero y tablero de conductor. Es probablemente matar demasiado pero parece que funciona. Utilice su criterio en cuanto a lo dejar hacia fuera si usted tiene una mejor comprensión de estas cosas que yo.
Como nota final, he incluido headers hembra para LEDs temporales en la línea de energía y en el pin 13. Estamos utilizando el pin 13 para la comunicación y no realmente lo quiero lejos oscilar toda la noche. Con un encabezado puedo barro amasado en el LED cuando quiero probar algo y luego sacarlo otra vez después. Si usted quiere una permanente LED en el pin 13 a soldadura en lugar de los encabezados de la mujer.
Lista de materiales para el módulo 1:
1 PCB o Perf Board (X por Y agujeros)
1 zócalo de 28 pines DIN (opcional pero recomendable)
1 bootloaded ATmega 328
Cristal de 16 de 1 MHz
2 capacitores cerámicos de 22 pf
RTC 1307 1 **
1 32,768 kHz, 12.5 pF cristal de reloj
1 sostenedor de batería 2032
1 2032 3V batería de litio (no fotografiada)
1 interruptor táctil (6 x 6 mm)
3 condensadores cerámicos de 100 nf
3 resistencias de 10K *
2 resistencias de 1K
1 naranja 3 m m LED
1 verde 3mm LED
opcional - Rúbrica femenina 2 x 2pin.
1 casquillo electrolítico de 1000 uf (no fotografiado)
Jefe varón del pin de 2 x 7 (recto o 90')
cabecera de 2 x 6 pin macho (recto o 90')
1 x 2 pin header macho recto
cable de conexión si uso de perf-(utilicé algunos cable de 3 pares de teléfono viejo). Voy a suponer esto en todos los otros módulos.
* de acuerdo a la hoja de datos, ** el RTC probablemente debe tener 2,5 K finalizar pero 10K parece para trabajar bien.
http://www.Sparkfun.com/datasheets/Components/DS1307.pdf