El ATtiny84 es un chip realmente sorprendente, no es un Arduino, pero de alguna manera mucho más potente. Este es un proyecto pequeño diseñado para mostrar su potencial.
Todos los microcontroladores de Atmel tienen sus pines asignados en los bancos de ocho, si ocho todos los pines están presentes o no. Por ejemplo el ATtiny85 es un chip ocho pin con cinco pines digitales. El chip ATmega328P en un Arduino tiene tres bancos de pines pero ninguno de los bancos tienen todos los ocho pines disponibles. El ATtiny84 cuenta con un total de once pines digitales y todos los ocho pines en un banco (A) estan disponibles.
Cada banco de ocho pines es controlado por tres registros de 8 bits. Registra el registro de dirección de datos (DDR), el PIN y el puerto. En el registro DDR que es claro (0) si el pin debe ser utilizado como insumo y (1) si es una salida. Leer el registro PIN cuando haces un digitalRead, y escribir en el registro de puerto cuando haces una escritura digital. Si un perno es claro para la entrada y es el bit del puerto se convierte en la resistencia de pull-up interna. Es posible escribir directamente en los registros desde el IDE de Arduino y afectar a todos ocho los a la vez. En muchos casos esto puede facilitar un programa de código y el programa compilado será mucho menor.
Este programa muestra lo fácil que es escribir un contador binario que cuenta hacia arriba y hacia abajo al mismo tiempo. El rojo LED cuentan para arriba mientras la cuenta verde de LEDs abajo.
Se necesita:
- ATtiny84 https://www.sparkfun.com/products/11232
- Un Arduino https://www.sparkfun.com/products/11021 (usado tanto como programador para el ATtiny84 y como una fuente de alimentación).
- Tablero https://www.sparkfun.com/products/12615
- 8 LEDs rojo https://www.sparkfun.com/products/9590
- 8 LEDs verde https://www.sparkfun.com/products/9592
- 16 resistencias de 470 Ohm (comprados localmente)
- cable de conexión (comprados localmente) de calibre de 22