Inspirándome en este video de YouTube de Make Magazine , me gustaría usar los chips ATtiny en lugar del Arduino para la mayoría de mis proyectos. El autor del video advierte que algunas funciones de Arduino no funcionarán en los ATtinys. ¿Hay una lista completa de lo que es y no es compatible?
Actualización: para responder mejor a la pregunta, ATTiny puede hacer cualquier cosa que no requiera el hardware que faltan los ATTiny, que incluyen el puerto serie del hardware, el hardware i2c o múltiples interrupciones. Dado que esto está oculto en las bibliotecas Arduino, a menos que tenga una buena comprensión de cómo funcionan o lea los archivos de la biblioteca real, cosas como la biblioteca Wire (hardware i2c) no funcionarán.
Desde http://forum.arduino.cc/index.php/topic,5582.0.html :
Por ejemplo, un ATTINY84 tiene 1 interrupción, no tiene UART de hardware (serie o i2c) y un pequeño puñado de pines GPIO, menos espacio de programa y mucho menos ram, pero viene en un paquete de 14 pines.
Un ATMEGA328 tiene 2 interrupciones, 1 UART de hardware, más RAM, más espacio para programas y más GPIO, lo cual es genial, si realmente lo necesitas.
Además, la mayoría de los ATTiny no tienen multiplicación de hardware, por lo que un compilador tendría que hacer una multiplicación sin base 2 en el software.
Finalmente, Arduinos se basa en un gestor de arranque en lugar de programación spi, por lo que necesita un ATTiny con al menos 4 ~ 8 kb de flash para que funcionen con el gestor de arranque de Arduino.
ATTiny44/45/84/45/2313 son populares como micro-Arduinos. Tienen alrededor de un cuarto u octavo del ram y flash de un ATMega328 que usa el Arduino Uno oficial.
Hay muchos ATTiny, por lo que no se puede decir una sola declaración sobre todos ellos.
Ver también aquí: http://hlt.media.mit.edu/?p=1695
La mayoría de los attinys no tienen un módulo USART de hardware, por lo que no podrá comunicarse con ellos a través de una serie. Para algunos attinys, en lugar de periféricos de hardware I2C y SPI dedicados, hay un periférico USI simplificado para el que debe escribir un poco de código de pegamento para implementar la comunicación SPI o I2C. Algunos attinys no tienen ADC.
En general, debe tener más cuidado al elegir attiny para su proyecto, ya que tienden a no tener un conjunto completo de funciones disponibles en el atmega328 de Arduino. Por ejemplo, attiny2313 tiene un UART pero no tiene ADC, attiny44 tiene ADC, pero no tiene UART, etc.
Simplemente consulte la tabla de selección de microcontroladores Atmel y una hoja de datos al principio.
Un punto trivial aunque relevante, además de las excelentes respuestas ya publicadas:
La mayoría de las placas Arduino, sin contar la Pro Mini / Pro Micro y quizás otras raras, contienen además del microcontrolador principal, un segundo AVR o alguna otra parte de la interfaz USB. Esto permite no solo la programación del Arduino desde una computadora, sino también la depuración del terminal serial en tiempo de ejecución. La misma conexión USB también proporciona energía al Arduino.
Si bien, obviamente, el requisito de energía de ATTiny se habrá abordado en su diseño, la depuración del código en tiempo de ejecución utilizando el software de terminal puede ser bastante útil.
Ignacio Vázquez-Abrams
yippie
pinMode();
ydigitalWrite();
en un ATtiny, solo directamente a los registros apropiadosDDRx
,PORTx
directamente. Se pueden encontrar muchas funciones similares.Kurt E. Clothier
chris stratton
chris stratton
Kurt E. Clothier