Solo para ampliar algunos de los puntos importantes en los comentarios ...
Use un ATtiny24 no un ATmega328
El proyecto que desea copiar utiliza un ATtiny24 por buenas razones.
[El] microcontrolador ATtiny24A ... incluía todas las cosas que el equipo estaba buscando: estaba trabajando con voltajes tan bajos como 1,8 V, consumía pequeñas cantidades de corriente y tenía suficientes pines de E / S.
ATtiny24 vs ATMega328
- menor costo
- paquete más pequeño (DIP-14 vs DIP-28)
Tiene muchos pines GPIO (~ 12) en comparación con un DIP-8 ATtiny45 por ejemplo (5-6).
Si está creando una gran constelación de objetos autónomos que interactúan, puede obtener más por su dinero utilizando piezas que no son más grandes / caras de lo que necesitan.
Si el dinero, el tamaño y el consumo de energía no son un objeto, puede usar un AT32UC3C064C de 144 patillas para obtener la máxima flexibilidad en el futuro. Personalmente, creo que la mitad de la diversión de este tipo de proyecto es exprimirlo en un dispositivo pequeño.
Cargando software
Usted puede usar un Arduino Uno para programar (cargar software en) un ATtiny24 en una placa de pruebas.
Para hacer esto, primero cargue un programa "ArduinoISP" ("boceto") en su Arduino Uno. Luego, puede usar esto para cargar programas en un ATtiny24 o en cualquier microcontrolador AVR que permita cargar software a través de una interfaz ISP (creo que puede haber uno o dos que no lo hagan).
Si su IDE de Arduino no está configurado para el ATtiny24 (vea a continuación) existen otras herramientas gratuitas para compilar programas y programas gratuitos para cargar esos programas en un ATtiny24, por ejemplo, avrdude
Compilación de software para un ATtiny24
Usted puede usar el IDE de Arduino para escribir y compilar programas que se ejecutan en un ATtiny24. Para hacerlo, agregue un "núcleo" adecuado al subdirectorio (carpeta) "hardware" de su IDE de Arduino. Puede obtener un "núcleo" adecuado en code.google .
Tenga en cuenta que muchos tutoriales en línea mencionan el "núcleo" de High-Low-Tech en MIT, pero ese "núcleo" no incluye el ATtiny24, por lo tanto, intente con el código.google "core" en su lugar.
Usando baterías de celda de moneda
Vea otras respuestas: debe elegir un microcontrolador que no sea más poderoso que el mínimo necesario para realizar el trabajo. Ajuste la velocidad del reloj baja. Cierre las funciones no utilizadas y aproveche al máximo los estados de reposo de baja corriente. AVR tiene documentación que cubre específicamente aplicaciones de bajo consumo.