Header Ads

Programmer un ATTiny 85 avec Arduino

Pour une fois, nous avons pensé à nos Arduiniste et nous nous sommes efforcé de produire un tutoriel pour programmer un ATTiny 85.
Nous sommes désolé si les Arduinistes se sont senti un peu délaissé... la sortie du Pi 3 à quelque peut chamboulé nos activités... mais promis, nous avons du croustillant dans nos cartons.

ATTiny 85

L'ATtiny 85 est un microcontrôleur d'Atmel (même famille que l'ATmega des Arduino) qui est certes petit mais avec plein de ressources. Ce petit microcontrôleur assez petit pour être placé dans n'importe quel projet, et suffisamment abordable pour être utilisé sans hésitation. Parfait lorsque vous ne voulez pas vous séparer de votre carte d'expérimentation ou si celle-ci est déjà utilisé dans un projet que vous voulez préserver (ils ne sont parfois si complexes).

Attiny85 est un microcontrôleur vraiment sympa car malgré sa petite taille, il dispose de 8K de flash, 5 broches I/O (entrée/sortie), incluant des entrées analogiques et sorties PWM. Il est tellement sympa qu'AdaFruit à conçu un bootloader USB et des cartes Trinket à base d'ATTiny, ce qui permet de le brancher sur n'importe quel ordinateur et de le reprogrammer via le port USB comme pour n'importe quel Arduino.
Ce tutoriel se penchera plutôt sur la programmation directe de l'ATtiny85. C'est un sujet vraiment très intéressant et captivant.

Pourquoi un Nième tutoriel?
Le Net contient déjà plusieurs tuto mais la plupart font l'impasse sur le matériel permettant de programmer votre ATTiny.

C'est que pour programmer un ATTiny, il faut un programmateur. Notre tutoriel se propose de transformer un Arduino Uno en programmateur ISP, programmateur qui pourra ensuite être utilisé pour programmer un ATTiny depuis Arduino IDE.

Un tuto avec plan de montage et comment installer le logiciel "progammateur ISP" sur votre UNO.

ISP? Kaseko?!?
ISP signifie "In-System Programming" que l'on traduira par programmation in-situ. C'est un procédé qui permet de programmer un microcontrôleur alors qu'il est déjà en place sur la carte qu'il doivent piloter.
Très pratique pour les fabricant qui peuvent ainsi regrouper la phase de programmation et test sur les chaînes d'assemblage. L'ISP permet au composant de dialoguer avec un programmateur par l'intermédiaire d'une liaison série (protocole dérivé de JTAG). Voir cet article de Wikipedia pour plus d'information.
Du coup, il devient aussi possible de programmer un microcontrôleur (disposant du support ISP) à l'aide d'une liaison série et d'un programmeur ISP.
Vous n'avez pas de programmeur ISP? pas de problème, il est possible de programmer un Arduino UNO pour qu'il devienne un programmeur ISP :-).

Raccordement
Pour programmer votre ATTiny avec votre "Arduino Uno Programmateur ISP", il suffi de suivre le schéma suivant (relativement rudimentaire).
Source: ce tutoriel sur le Wiki de MCHobby.be
Nous allons également connecter une capacité de 10 µF entre la broche reset et la masse de votre carte Arduino (comme indiqué sur le diagramme). La bande sur la capacité marque le pole négatif à brancher sur la masse.
Cette capacité empêche votre carte Arduino de faire un reset (ce qui démarre le bootloader), et nous assure donc qu'Arduino IDE rentre en communication avec ArduinoISP (et non le bootloader) durant le téléversement du croquis.



La suite dans le tutoriel

Voila, je pense que cette mise en bouche est assez sympa... vous pouvez poursuivre vos lectures  et découvrir d'autres références.