Introduction
Ce document montre comment utiliser un Arduino pour programmer le composant Attiny85. Les informations proviennent du blog :
Toutes les instructions de ce blog ont été vérifiées et sont éventuellement complétées dans ce document.
Présentation de l’Attiny 85
Les caractéristiques techniques de ce micro-contrôleur sont les suivantes:
Caractéristique | Valeur |
---|---|
Taille de la mémoire Flash | 8 Ko (pour le code) |
Mémoire SRAM | 512 Octets |
Mémoire EEPROM | 512 Octets |
Nombre d’entrées/sorties | Jusqu’à 6 (5 en pratique) |
Courant maximal en sortie | 40 mA |
Courant maximal total | 200 mA |
Tension d’alimentation | 2.7 à 5.5V |
Fréquence d’utilisation | 0 à 20 Mhz |
Brochage de l’Attiny85
La broche 1 est repérée par le rond creux situé sur le dessus du composant.
Préparation de l’IDE Arduino
La préparation de l’IDE Arduino est décrite ci-dessous :
Aller dans les préférences et saisir l’URL suivante :
dans la zone Additional board URL en bas de l’écran, puis cliquer sur OK :
Aller ensuite dans le menu Type de carte / Boards Manager, cliquer sur attiny et un bouton Install doit apparaître désormais.
Cliquer dessus.
Le message INSTALLED doit apparaître à la fin de l’installation comme on peut le voir ci-dessous :
… et dans le menu Outil / Type de carte il doit désormais y avoir Attiny…
Ensuite ouvrir le sketch ArduinoISP disponible via les menus dans les exemples.
Vers la ligne 75, enlever le commentaire pour OLD_STYLE_WIRING
le téléverser dans votre Arduino.
L’IDE Arduino est désormais prêt pour programmer des Attiny.
Dans le menu Outils, sélectionner :
- Type de carte : Attiny,
- Processor : Attiny85,
- Programmateur : Arduino as ISP.
Connexion de l’Attiny
Rappel du brochage de l’Attiny85 :
Il faut connecter MISO, MOSI, SCK, RESET, VCC, et GND de l’Arduino vers l’Attiny de la manière suivante :
Type | Arduino | Attiny |
---|---|---|
RESET | Pin 10 | Reset Pin (patte 1) |
MOSI | Pin 11 | Pin 0 (patte 5) |
MISO | Pin 12 | Pin 1 (patte 6) |
SCK | Pin 13 | Pin 2 (patte 7) |
Facultatif : (à faire en cas de problème)
Sur l’Arduino placer un condensateur chimique de 10 uF entre la broche Reset et la masse (GND) de l’Arduino (pole négatif avec un trait sur le condensateur).
Ce condensateur empêche la carte Arduino de faire un reset et de redémarrer ainsi le bootloader lors des téléversements destinés à l’Attiny. De cette façon en effet on est sur que l’IDE Arduino rentre en communication avec ArduinoISP (et non le bootloader) durant le téléversement du croquis qui est destiné à l’Attiny et pas pas à l’Arduino
Programme de test
Pour le premier test on peut simplement utiliser l’exemple classique blink disponible via les menus en remplaçant ensuite pour la led à faire clignoter la patte 13 indiqué dans le sketch par la patte 4 et brancher ensuite sur l’Attiny (pin 4) une LED en série avec une résistance de 220 ohms environ.
Rappel : la patte la plus longue d’une LED doit être reliée à VCC (5V)
Pour téléverser appuyer sur la touche SHIFT en même temps que le bouton habituel de téléversement de l’IDE Arduino.
Code :
Configuration de l’Attiny à 8 MHz (optionnel)
Par défaut, l’Attiny tourne à 1 Mhz. Pour pouvoir utiliser la bibliothèque SoftwareSerial (si vous en avez le besoin), il faut le programmer pour qu’il tourne à 8 Mhz.
Pour cela, une fois le montage réalisé présenté précédemment, il faut choisir dans le menu Outil / Clock / 8Mhz INTERNAL.
Ensuite sélectionner dans le menu Outil Graver la séquence d’initialisation.
Références
Pour info, les ordres Arduino ne sont pas tous utilisables pour un programme destiné à l’Attiny. Seuls les ordres Arduino ci-dessous sont disponibles pour les programmes Attiny