Pour un projet, j’avais besoin de programmer un Attiny85. J’ai donc fait le choix d’acheter un tout prêt à l’emploi, sur le site Sparkfun. De plus, celui-ci fournit un tuto pour son utilisation. Le programmateur est le suivant que j’ai trouvé sur un site en France. Malheureusement, impossible de faire quoi que ce soit avec ce programmateur. Dans mes recherches, je tombe souvent sur des tutos pour en fabriquer un avec un Arduino Uno. Le souci, je n’ai pas cela en stock… À la maison, j’ai des Arduino pro micro. J’ajoute ce mot clé dans mes recherches et je trouve ce tuto italien. Je vous propose donc de le reprendre, en français, avec un peu plus de détails.
Arduino et ATtiny 85
Ce qu’il nous faut
- Un arduino pro micro que l’on peut trouver au lien suivant ;
- Un condensateur de 10µf ou plus ;
- Un support DIP de 8 pins ;
- Une LED (non obligatoire) ;
- Une résistance de 330 ohm (non obligatoire aussi si vous ne montez pas de LED) ;
- Un peu de fil ;
- Un header de 2 pins avec un cavalier ;
- Une plaque d’essai.
La LED n’est pas obligatoire, mais elle vous permettra de tester votre programmateur. Voici le schéma pour le raccordement entre l’Arduino et l’ATtiny85.
Et voici le résultat final…
Programmation de l’Arduino Pro Micro
Avant de programmer un ATtiny85, il faut programmer l’Arduino. Pour cela, installez Arduino IDE sur votre PC. Sur votre programmateur, il faut retirer le cavalier. Il sera nécessaire uniquement pour programmer un ATtiny. Ensuite, branchez en USB votre Arduino.
Sur Arduino IDE, allez sur Outil puis Type de carte enfin Arduino AVR Board. Ici, il faudra choisir Arduino Leonardo. Retournez sur Outil puis Port et sélectionnez le port ou se trouve L’Arduino Leonardo. Enfin, de nouveau sur Outil puis Programmateur et choisissez Arduino as ISP (ATmega32U4).
Maintenant, allez sur Fichier puis Exemples, sélectionnez 11.ArduinoISP et enfin ArduinoISP.
Dans le fichier ouvert, il va falloir changer quelques lignes. À la ligne 73, RESET doit être valorisé à 10. Pour le reste, il faut modifier la ligne 85 pour PIN_MOSI et mettre 16. Ensuite, pour PIN_MISO mettre 14 et enfin pour PIN_SCK mettre 15.
Maintenant, on va vérifier le code en cliquant en haut sur Vérifier. S’il n’y a pas d’erreur, cliquez maintenant sur Téléverser.
Nous avons créer notre programmateur pour Attiny.
Programmation d’un ATtiny 85
Pour commencer, il faut mettre le petit cavalier et brancher le programmateur à votre PC. Toujours dans Arduino IDE, allez sur Fichier puis Préférences. Dans cette fenêtre plus bas au niveau de URL de gestionnaire de cartes, indiquez le lien suivant https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json et validez en appuyant sur OK.
Allez maintenant sur le menu Outils, puis sur Type de carte et sur Gestionnaire de carte. Dans la zone de recherche, saisissez attiny. Vous devriez voir attiny by David A.Mellis, cliquez sur Installer.
Maintenant, déplacez vous dans le menu Outils puis sur Type de carte, vous devez avoir Attiny Microcontrollers. Sélectionnez ATtinny. Dans le sous menu Processeur, sélectionnez ATiny85 et dans le sous menu Clock: sélectionnez 8 MHZ (Internal). C’est important !!!
Toujours dans Outils, sur le sous menu Port: sélectionnez le port Com sur lequel est relié votre Arduino. Ensuite, dans Programmateur: choisissez Arduino as ISP (ATmega32U4).
Avant d’injecter notre premier programme, nous allons d’abord avoir besoin de graver un « bootloarder ». Celui-ci permet d’ajouter une fréquence à votre attiny. Si on ne le fait pas et que vous avez des délais dans votre code, cela ne correspondra pas. Par exemple, faire clignoter une LED toutes les secondes si la fréquence n’est pas de 8 Mhz et bien la seconde pourra durer plus longtemps. Allez dans le menu Outil, puis sur Graver la séquence d’initialisation, patientez quelques secondes… et une fois que c’est OK : nous sommes prêts.
Notre premier programme
Nous sommes prêts pour tester un premier programme. Pour cela, nous allons utiliser un code déjà fait et disponible sur Arduino IDE. Aller sur le menu Fichier, puis Exemples puis 01.Basics et Blink. Dans ce code, nous allons devoir indiquer sur quel pin et relié notre LED dans mon cas, ce sera sur le 0. Remplacez LED_BUILTIN à la ligne 28,33 et 35 par un 0 comme sur les images.
Cliquer maintenant sur Vérifier, puis si tout est OK sur Téléverser. Les LEDs de votre Arduino devraient clignoter durant la phase du téléversement, puis une fois celui-ci terminé, la LED connectée à votre ATtiny devrait clignoter toutes les secondes.
Notre ATtiny85 est programmé. Il ne vous reste plus qu’à téléverser vos programmes. Depuis, j’ai cassé le connecteur USB de l’Arduino… Il est très fragile! Du coup, j’ai profité d’un autre projet en cours pour faire un vrai PCB sur EasyEDA.