Comment programmer un Attiny85 avec Arduino?

Comment programmer un Attiny85 avec Arduino?

Brochage de l’Attiny85

Il y a trois (3) façons de programmer une puce ATtiny85 avec l’IDE Arduino. C’est-à-dire que l’on peut télécharger des sketches depuis l’IDE Arduino vers l’ATtiny85 de plusieurs façons. Celles-ci incluent l’utilisation d’un programmateur AVR, d’un bootloader Micronucleus, ou d’un bootloader Optiboot.

Si nous installons l’ATTinyCore dans l’IDE Arduino, nous obtiendrons le menu de la carte ATTinyCore montré ci-dessous. D’après le menu, pour programmer un ATtiny85 dans Arduino IDE, trois (3) options existent. Il s’agit de No bootloader, Optiboot, et Micronucleus/Digiskpark.

En fait, l’IDE Arduino reconnaît une carte MCU grâce à un bootloader. Un bootloader est un petit logiciel qui réside dans la mémoire flash d’un microcontrôleur. Sa principale fonction est de détecter un téléchargement de programme entrant. S’il en voit un, il prend le programme et le stocke dans la mémoire flash. Sinon, il exécute un programme précédemment chargé, s’il en existe un.

Maintenant, en l’absence d’un bootloader, comment programmer ou télécharger des sketches sur l’ATtiny85 en utilisant l’IDE Arduino ? Nous avons besoin d’un programmateur AVR. Il existe de nombreux types de programmateurs AVR. Nous pouvons voir la liste des programmateurs AVR supportés par ATtinyCore dans le menu Outils -> Programmateur.

Programmer l’attiny85 avec arduino nano

La famille ATtiny est une série de microcontrôleurs minuscules capables d’utiliser de nombreuses bibliothèques disponibles sur la plateforme Arduino. L’ATtiny85 est utilisé ici en raison de son petit profil et de sa grande disponibilité. Il s’agit d’un microcontrôleur AVR 8 broches, 8 bits, qui peut exécuter le bootloader Arduino avec quelques modifications. Un utilisateur a créé une modification complète de la carte qui rend la gravure du bootloader encore plus facile (voir ci-dessous).  Plusieurs tutoriels existent sur l’utilisation de l’ATtiny avec Arduino, et je vais les utiliser comme guides pour fournir une méthode mise à jour et simplifiée pour flasher le bootloader Arduino sur l’ATtiny85 en utilisant un Arduino Uno (exemple 1 : High-Low Tech [link] ; exemple 2 : J3 on Medium [link]). La fiche technique de l’ATiny85 peut être trouvée [ici], mais voici quelques-unes de ses caractéristiques de base : Un brochage de l’ATtiny est montré ci-dessous avec les options de broches communes à Arduino :

  Fabriquer robot tondeuse arduino

Télécharger et installer le paquet pour ATtinyLa première chose nécessaire pour programmer l’ATtiny comme un Arduino est le paquet ATtiny de David A. Mellis (GitHub). Tout d’abord, nous devons ajouter le paquet ATtiny à la liste d’URL du gestionnaire de cartes :

Langage de programmation Attiny85

La famille ATtiny est une série de microcontrôleurs parmi les plus petits du marché AVR. Ces microcontrôleurs sont capables d’utiliser de nombreuses bibliothèques disponibles sur la plateforme Arduino. La puce du microcontrôleur ATtiny85 est un microcontrôleur AVR 8 broches, 8 bits. Sa petite taille et sa faible consommation d’énergie en font un outil idéal pour les projets portables à faible encombrement et à faible consommation d’énergie. Mais transférer votre code sur la puce peut être un peu difficile car elle n’a pas d’interface USB comme les cartes microcontrôleur.

Dans notre précédent tutoriel, nous avons programmé l’ATtiny85 en utilisant Arduino Uno. Mais connecter l’ATtiny85 à l’Arduino et utiliser l’Arduino comme ISP peut être difficile et prendre du temps. Donc dans ce tutoriel, nous allons construire une carte de programmation ATtiny85, de sorte que nous puissions directement la brancher et la programmer comme d’autres cartes microcontrôleurs.

L’ATtiny85 d’Atmel est un microcontrôleur 8 bits de haute performance et de faible consommation basé sur une architecture RISC avancée. Ce microcontrôleur dispose d’une mémoire flash ISP de 8 Ko, d’une EEPROM de 512 Ko, d’une SRAM de 512 octets, de 6 lignes d’E/S générales, de 32 registres de travail généraux, d’un compteur/temporisateur de 8 bits avec modes de comparaison, d’un compteur/temporisateur à grande vitesse de 8 bits, d’une interface utilisateur, d’interruptions internes et externes, d’un convertisseur A/N 10 bits à 4 canaux, d’un chien de garde programmable avec oscillateur interne, de trois modes d’économie d’énergie sélectionnables par logiciel et de debugWIRE pour le débogage sur puce. Le brochage de l’ATtiny85 est donné ci-dessous :

  Comment programmer Arduino Nano?

Programmer Attiny85

La puce microcontrôleur ATtiny85 est une alternative abordable et puissante aux autres microcontrôleurs Arduino, surtout lorsque vous voulez réduire la taille de votre projet. La puce dispose de 8 broches dont six sont des broches d’E/S (y compris Reset) et deux sont des broches d’alimentation. Mais comment la programmer puisqu’elle n’a pas d’interface USB comme les autres cartes microcontrôleurs ? Dans cet article, je vais vous guider à travers le processus de programmation de l’ATtiny85 à partir de l’IDE Arduino avec l’aide de l’Arduino Uno. En fait, nous allons utiliser l’Arduino UNO comme programmateur de l’ATtiny85.

L’ATtiny85 d’Atmel est un microcontrôleur 8 bits de haute performance et de faible consommation basé sur une architecture RISC avancée. Ce microcontrôleur dispose d’une mémoire flash ISP de 8KB, d’une EEPROM de 512B, d’une SRAM de 512-Byte, de 6 lignes d’E/S à usage général, de 32 registres de travail à usage général, d’un compteur/temporisateur de 8 bits avec modes de comparaison, d’un compteur/temporisateur à haute vitesse de 8 bits, d’une interface utilisateur, d’interruptions internes et externes, d’un convertisseur A/D 10 bits à 4 canaux, d’un chien de garde programmable avec oscillateur interne, de trois modes d’économie d’énergie sélectionnables par logiciel, et de debugWIRE pour le débogage sur puce. Le brochage de l’ATtiny85 est donné ci-dessous :