ATtiny (également connu sous le nom de TinyAVR ) est une sous-famille des microcontrôleurs AVR 8 bits populaires , qui ont généralement moins de fonctionnalités, moins de broches d'E/S et moins de mémoire que les autres puces de la série AVR. Les premiers membres de cette famille ont été lancés en 1999 par Atmel (racheté plus tard par Microchip Technology en 2016). L'Attiny85 apparait en 2005.
ATtiny 85
.
Le ATtiny85 est sorti en 2005. Un résumé de ses caractéristiques données ici :
en font un contrôleur économique très utilisé.
Le ATtiny85 est sorti en 2005. Un résumé de ses caractéristiques données ici :
- Cœur AVR (même cœur que les ATmega donc des Arduino)
- alimentation 2.7 à 5.5V
- 6 I/O Pins
- 8k Flash Memory
- 512 SRAM Memory
- 512 EEPROM Memory
- Horloge 20MHz (max.), 8MHz (interne)
- PWM sur 3 pins
- ADC sur 4 pins (10 bits)
- 2 Timer
en font un contrôleur économique très utilisé.
Broches
Programmation via IDE Arduino
Il s'agit là d'un procédé simplifié de programmation via une carte Arduino UNO R3 ( ou Nano). Celle-ci va communiniquer avec l'Attiny par 3 fils (MISO, MOSI, SCK) et le protocole ISP. L'Attiny, comme de très nombreux microcontrôleurs, est prévu pour communiquer en ISP pour être programmé.
L'Arduino doit être préalablement programmé avec un script prévu à cet effet.
Il faut :
L'Arduino doit être préalablement programmé avec un script prévu à cet effet.
Il faut :
- Installer, sur la carte Arduino, un script nommé ArduinoISP qui va transformer la carte en programmateur. Une fois configurée, la carte va lire un flux de données binaires issu de la compilation d'un programme C/C++.
Configurer la compilation pour un Arduino Uno (ou Nano)
Compiler et téléverser. La carte Arduino Uno est maintenant un "programmateur ISP".
- Relier quelques broches de l'Arduino à l'attiny85. Cette opération est simple et rapide. Personnellement, j'ai installé un Nano dédié sur petite plaque "Veroboard" avec un support DIL8 et quelques LED de contrôle de progression.
Signaux Arduino Attiny85 RESET D10 RESET (br.1) GND GND GND (br.4) MOSI D11 PB0 (br.5) MISO D12 PB1 (br.6) SCK D13 PB2 (br.7) VCC 5V VCC (br.8) Il faut connecter les signaux : MISO, MOSI, SCK, RESET et l'alimentation 5V : VCC, et GND de l’Arduino à l’ATtiny de la manière décrite dans la table T1
Ensuite, sur l’Arduino placer un condensateur chimique de 10µF entre la broche RESET et la masse (GND) pour éviter un reset de l'Arduino.Signaux Arduino Signification RUN D7 Programmation en cours (cligne) ERREUR D8 Erreur (fixe) STATUS D9 Fixe durant la progammation. Puis bat comme un coeur. Indique qu'il n'y a pas plantage.
Les broches D7, D8, D9 sont chacune reliée à une LED de couleur en série avec une résistance de 680Ω
- Ecrire le programme prévu pour l'Attiniy85 à l'aide de l'IDE Arduino. Configurer l'IDE pour une compilation de programme Attiny85.
- Compiler un programme C/C++ (bink par exemple) et téléverser celui-ci. Ce téléversement ira alors du PC vers l'Attiny via l'Arduino
- Ajoutant dans le champ "URL de gestionnaire de cartes supplémentaires" du panneau de réglages, l'URL suivante :
https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json - Sélectionnant l'item "Outils" dans le Menu et en choisissant les paramètres suivants :
Maintenant, pour téléverser du code ATTINY vers un Attiny85, il faudra sélectionner le pragrammateur "Arduino as ISP", comme montré ci-dessous.
