Ce doc porte majoritairement sur les ATtiny 25/45/85 puisque ceux sont eux que j'utilise principalement.
Les ATtiny 24/44/84 sont compatibles.
Informations préalables:
- je travail avec l'IDE Arduino 1.0.3
- j'utilise un Arduino Nano Rev.3
- j'utilise ce "core" Arduino-tiny (détails plus loin)
La famille ATtiny utilisable avec l'interface Arduino:
On va les classer par sous-familles
-ATtiny 24 / 44 / 84 avec une mémoire de 2K 4K ou 8K bytes. 14 broches dont 8 ADC, 3 PWM.
-ATtiny 25 / 45 / 85 avec une mémoire de 2K 4K ou 8K bytes. 8 broches dont 3 ADC, 2 PWM.
ATtiny 24/44/84 ATtiny 25/45/85
VCC -I 1 14 I- GND Reset -I 1 8 I- VCC
Pin10 -I 2 13 I- Adc0/Pin0 Adc3/Pin3 -I 2 7 I- Adc1/Pin2
Pin9 -I 3 12 I- Adc1/Pin1 Adc2/Pin4 -I 3 6 I- Pwm/Pin1
Reset -I 4 11 I- Adc2/Pin2 GND -I 4 5 I- Pwm/Pin0
Pwm/Pin8 -I 5 10 I- Adc3/Pin3
Adc7/Pwm/Pin7 -I 6 9 I- Adc4/Pin4
Adc6/Pwm/Pin6 -I 7 8 I- Adc5/Pin5/Pwm
Ce sont tous des µ-Controleurs 8Bit avec une horloge interne programmable à 1MHz et 20MHz
Programmer un ATtiny:
-Première étape : la prise en charge des Tiny par Arduino
Il existe deux principaux codes (ou core) :
Le core développé par le MIT :
Le core du projet Arduino-Tiny :
http://code.google.com/p/arduino-tiny/
Quel que soit le core, le procédé d'installation est le même :
déziper les fichiers
dans le dossier des croquis Arduino (trouver le dossier croquis dans les préférence),
créer un dossier hardware.Copier dans ce dossier le core
On obtient : Documents/Arduino/hardware/attiny
Ou : Documents/Arduino/hardware/tiny
Relancer l'IDE arduino : dans le menu Outils<type de carte . On peut désormais choisir les ATtiny.
-Seconde étape : utiliser une carte arduino comme programmateur.
-on va d'abord charger le sketch ArduinoISP sur la carte (le sketch se trouve d'origine dans les exemples.
-ensuite on procède au branchement :
-ATtiny Pin2 au pin 13 de la carte arduino (ou pin SCK)
-ATtiny Pin1 au pin 12 de la carte Arduino (ou pin MISO)
-ATtiny Pin0 au pin 11 de la carte Arduino (ou pin M0SI)
-ATtiny Pin reset au pin10de la carte Arduino (ou pin RESET)
En plus il faut alimenter le ATtiny à ses broches VCC (+5V) et GND (Masse).
Et mettre un condensateur chimique 10µF entre le Pin reset et GND de la carte arduino. (Attention à la polarité du condensateur)
-Troisième étape : faire un test.
-Ouvrir le sketch Blink. Changer le pin 13 en pin 0.
-dans Outils>Programmateur, choisir Arduino as ISP
-dans Outils>Type de carte, choisir celle qui correspond à votre ATtiny en 1Mhz
-charger le sketch. A la fin, si tout c'est bien passé vous obtenez deux fois le même message d’erreur :
avrdude: please define PAGEL and BS2 signals in the configuration file for part Attiny85.
Ne pas y faire attention.
-En laissant l'alimentation branchée et une led (avec sa résistance) sur la broche 5 (Pin0).
Cette dernière doit clignoter !!!!!!.
Note : Par défaut les ATtiny sont configurés pour une fréquence de 1Mhz.Pour configurer à 8Mhz
-refaites les étapes 1 et 2
-dans Outils>Type de carte, choisissez votre ATtiny à 8Mhz.
-enfin dans Outils cliquer sur « graver la séquence d'initialisation ».
Voilà.
La fréquence reste à valeur de dernière configuration tant que vous ne la changez pas.Donc pas besoins de refaire ce changement à chaque fois
(méthode tirée du site http://hlt.media.mit.edu/?p=1695 )
A suivre :
Les librairies spécifiques aux ATtiny (I2C, Servo, LCD…)
Si vous voyez des erreurs faites moi signe.Si vous avez des remarques n'hésitez pas. Si vous avez des questions c'est fait pour ça.