Préparation
Voici la bête:
Si on a un programme peu gourmand et n'utilisant que 6 broche max, on peut le faire tourner sur un Attiny
J'en avait commander un une fois juste par curiosité, mais je voulais un Attiny85 car j'avais lu pas mal de doc dessus sur la toile, mais j'ai reçu un Attiny13 et je trouvais aucune doc sur ce modèle et surtout comment le programmer.
J'ai repris mes recherches et j'ai enfin trouvé ce que je cherchai sur github.
Il faut donc ajouter les cartes Attiny13 à l'IDE de l'Arduino, ouvrez-le, puis allez dans Fichier puis Préférences :
Une fenêtre s'ouvre, il faut renseigner l'adresse suivante :
https://mcudude.github.io/MicroCore/package_MCUdude_MicroCore_index.json
Comme ceci:
Faite ok, puis allez dans Outils, Type de cartes et Gestionnaire de carte :
Puis on attend un peu le rafraîchissement des librairies et on tape MicroCore dans la barre de recherche
Et on clic sur more options, puis installer
Bon maintenant l'IDE Arduino va pouvoir flasher l'Attiny13
Le montage pour programmer l'Attiny13
Une fois le montage effectué, on branche l'Arduino au port USB du PC
Dans un premier temps, on va lancer le programme d'exemple ArduinoISP
On vérifie que le type de carte est bien son Arduino
Et on téléverse le programme
Ensuite, on sélectionne dans Outils, Type de carte, l'Attiny13 (en vert) et on vérifie que le port est OK (COM sur Windows ou TTY sur Linux) et le programmateur comme dans les encadrés rouge
On va ajouter une LED au montage pour faire un test
Le montage :
Le programme :
On clic sur la flèche pour téléverser le programme dans l'Attiny13
Et la LED clignote mais si vous êtes observateur, vous remarquerez que le délai de 100 ms ne fait pas 100 ms, il est bien plus long, je vais pas rentrer dans les détails mais il faut modifier le fichier Board.txt de l'Attiny13
Le chemin de ce fichier diffère selon son système, faite une recherche par fichier, mais ne vous trompez pas il y a un fichier board.txt pour l'Arduino et un pour l'Attiny , c'est ce dernier qui nous intéresse.
par exemple, sur mon système (Linux Ubuntu Mate) le chemin est celui-ci:
/home/manu/.arduino15/packages/MicroCore/hardware/avr/1.0.1/boards.txt
Il faut remplacer, dans la dernière ligne de ce paragraphe, 9600000L par 1000000L :
######################
#### Clock speeds ####
######################
### 9.6 MHz internal osc.
attiny13.menu.clock.9M6=9.6 MHz internal osc.
attiny13.menu.clock.9M6.bootloader.low_fuses=0x3A
attiny13.menu.clock.9M6.build.f_cpu=9600000L
Deviens
######################
#### Clock speeds ####
######################
### 9.6 MHz internal osc.
attiny13.menu.clock.9M6=9.6 MHz internal osc.
attiny13.menu.clock.9M6.bootloader.low_fuses=0x3A
attiny13.menu.clock.9M6.build.f_cpu=1000000L
Quand la modification est faite, fermez l'IDE Arduino et relancez le, puis téléversez de nouveau le programme
Maintenant les 100 ms font 100ms.
Un autre exemple
Le montage :
Le programme :
Une fois le programme téléversé, si on appuie sur le bouton, le programme lance les séquences avec les leds.
Le programme est dans l'Attiny, on peut donc à présent se passer de l'Arduino