Inspirado 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. ¿Existe una lista completa de lo que es y no es compatible?
12
pinMode();
ydigitalWrite();
en un ATtiny, directamente a los registros apropiadosDDRx
,PORTx
directamente. Se pueden encontrar muchas funciones similares.Respuestas:
Actualización: para responder mejor a la pregunta, ATTiny's puede hacer cualquier cosa que no requiera hardware que falta de ATTiny, que incluye el puerto serie de hardware, hardware i2c o interrupciones múltiples. Dado que esto está oculto en las Bibliotecas Arduino, a menos que comprenda bien cómo funcionan o lean los archivos de la biblioteca real, cosas como la biblioteca Wire (hardware i2c) no funcionarán.
De http://forum.arduino.cc/index.php/topic,5582.0.html :
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 confía en un gestor de arranque en lugar de programación spi, por lo que necesita un ATTiny con al menos 4 ~ 8 kb flash para que funcionen con el gestor de arranque Arduino.
ATTiny44 / 45/84/45/2313 son populares como micro-Arduinos. Tienen aproximadamente una cuarta u octava parte del carnero y el flash de un ATMega328 que utiliza el Arduino Uno oficial.
Hay muchos ATTiny, por lo que no se puede decir nada sobre ellos.
Ver también aquí: http://hlt.media.mit.edu/?p=1695
fuente
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 serie. Para algunos attinys en lugar de periféricos de hardware I2C y SPI dedicados, existe 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. Algunas attinys no tienen ADC.
En general, debe tener más cuidado al elegir attiny para su proyecto, porque estos tienden a no tener un conjunto completo de características disponibles en atmega328 de Arduino. Por ejemplo, attiny2313 tiene un UART pero no tiene ADC, attiny44 sí tiene ADC, pero no tiene un UART, etc.
Simplemente consulte la tabla de selección de microcontroladores Atmel y una hoja de datos al principio.
fuente
Un punto trivial si es relevante, además de las excelentes respuestas ya publicadas:
La mayoría de las placas Arduino, sin contar el Pro Mini / Pro Micro y quizás otras raras, contienen además del microcontrolador principal, ya sea 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 potencia de ATTiny se habrá abordado en su diseño, el código de depuración en tiempo de ejecución utilizando software de terminal puede ser bastante útil.
fuente