Inspirado neste vídeo do youtube da Make Magazine , eu gostaria de usar os chips ATtiny em vez do Arduino para a maioria dos meus projetos. O autor do vídeo alerta que algumas funções do Arduino não funcionarão no ATtinys. Existe uma lista completa do que é e não é suportado?
12
pinMode();
edigitalWrite();
em um ATtiny, apenas o direito dos registos adequadosDDRx
,PORTx
diretamente. Muitas funções semelhantes podem ser encontradas.Respostas:
Atualização: Para responder melhor à pergunta, os ATTiny's podem fazer qualquer coisa que não exija hardware do ATTiny's, incluindo a porta serial de hardware, o hardware i2c ou várias interrupções. Como isso está oculto nas bibliotecas do Arduino, a menos que você tenha um bom entendimento de como elas funcionam ou leem os arquivos de biblioteca reais, coisas como a biblioteca Wire (hardware i2c) não funcionarão.
Em http://forum.arduino.cc/index.php/topic.5582.0.html :
Além disso, a maioria dos ATTinys não possui multiplicação de hardware; portanto, um compilador precisaria fazer uma multiplicação não-base-2 no software.
Finalmente, o Arduinos depende de um gerenciador de inicialização em vez da programação spi, portanto, você precisa de um ATTiny com um flash de pelo menos 4 ~ 8kb para que eles trabalhem com o gerenciador de inicialização Arduino.
ATTiny44 / 45/84/45/2313 são populares como micro-Arduinos. Eles têm cerca de um quarto ou oitavo do ram e flash de um ATMega328 que o Arduino Uno oficial usa.
Existem muitos ATTiny's, portanto, nenhuma declaração pode ser dita sobre todos eles.
Veja também aqui: http://hlt.media.mit.edu/?p=1695
fonte
A maioria dos attinys não possui um módulo USART de hardware, portanto você não poderá se comunicar com eles via serial. Para alguns participantes, em vez dos periféricos de hardware I2C e SPI dedicados, existe um periférico USI simplificado para o qual é necessário escrever um pouco de código de cola para implementar a comunicação SPI ou I2C. Alguns attinys não têm ADC.
Em geral, você deve ter mais cuidado ao escolher o atalho para o seu projeto, porque esses tendem a não ter um conjunto completo de recursos disponíveis no atmega328 do Arduino. Por exemplo, attiny2313 possui um UART, mas não possui ADC, attiny44 possui ADC, mas não possui um UART, etc.
Basta verificar a tabela de seleção do microcontrolador Atmel e uma folha de dados no início.
fonte
Um ponto trivial, se relevante, além das excelentes respostas já publicadas:
A maioria das placas Arduino, sem contar o Pro Mini / Pro Micro e talvez outras raras, contém além do microcontrolador principal, um segundo AVR ou outra parte da interface USB. Isso permite não apenas programar o Arduino a partir de um computador, mas também depurar o terminal serial em tempo de execução. A mesma conexão USB também fornece energia ao Arduino.
Embora obviamente o requisito de energia do ATTiny tenha sido tratado em seu projeto, o código de depuração em tempo de execução usando o software do terminal pode ser bastante útil.
fonte