Découverte du microcontrôleur ATTINY45

Je viens de recevoir une commande de chez Farnell : deux microcontrôleurs Atmel ATTINY45, deux modules XBee, et une caméra pour brancher sur mon Raspberry Pi.

Depuis un certain temps, je réfléchissais à une façon de faire pour programmer un microcontrôleur et l’utiliser dans un projet sans pour autant acheter à chaque fois une carte Arduino. En fait, on peut utiliser toute une gamme de microcontrôleurs Atmel « nus », les programmer à l’aide d’une Arduino et les utiliser tels quels!

Pour les curieux, voici tous les produits fabriqués par Atmel (ça ne s’arrête pas aux microcontrôleurs).

Bref! Voyons comment utiliser notre carte Arduino Uno pour programmer le ATTINY45. La mise en place est relativement rapide.

D’abord, un grand merci à HighLowTech pour cet article.

L’idée de base, c’est d’utiliser une Arduino (dans mon cas, Uno) qui va servir d’interface entre le PC et l’ATTINY45. Manque de bol, depuis la version 1.0 de l’IDE Arduino, les puces ATTINY ne sont plus au menu :

Pour pouvoir les utiliser, il faut aller chercher ici (pour la version 1.0 ou 1.5, selon la version de l’IDE).

Une fois le zip récupéré, il faut créer un répertoire hardware dans votre dossier de sketches (donc pour moi, C:UsersnicoDocumentsArduinohardware). Dans ce dossier hardware, copier le dossier tiny trouvé dans le zip. On y est presque.

Dans le dossier tiny, il y a un fichier nommé Prospective Boards.txt. Renommons-le en boards.txt tout court.

On relance l’IDE, et là :

Yeaaaah baby! En fait, dans le fichier boards.txt, on peut commenter toutes les puces ATTINY dont on ne veut pas se servir, ça évite de polluer cette liste.

Voilà pour la préparation logicielle 🙂

Maintenant, préparons le matériel:

tuto-programmation-des-attiny45-avec-un-arduinoJ’ai honteusement repris le schéma réalisé par Semageek.com. Allez-y, ça vaut le coup!

Voici le schéma de brochage de l’ATTINY45:

Pour le condensateur connecté au reset de l’Arduino Uno, je n’avais pas de 10µF, alors j’ai utilisé un 33µF qui va tout aussi bien.

Prêts? Alors dans l’IDE, chargeons l’exemple ArduinoISP. Nous voulons l’envoyer sur la Uno, donc type de carte > Arduino Uno.

On envoie le programme, et là… Problème de synchronisation. Hé hé hé 🙂 La blague, c’est qu’il faut enlever le condensateur pour pouvoir envoyer un programme 😉

Voilà, l’Arduino Uno est maintenant utilisable comme programmateur pour notre ATTINY!

Nous pouvons reconnecter le condensateur, et dans l’IDE, définir comme type de carte : em>ATTINY@1MHz, et comme programmateur : Arduino as ISP.

Chargeons un programme d’exemple, disons Fade. On va juste changer le pin de la LED, mettons le sur 0. On upload le programme. Dans les messages de l’IDE Arduino, on peut lire ceci :

En fait, ce message, selon des gens avertis, on peut l’ignorer (je ne sais pas vous, mais moi j’ai bien envie de les croire).

Voici une superbe photo pour illustrer cela!ATTINY45-2J’ai connecté la LED bleue au pin 0 (broche 5) de l’ATTINY45. Et elle clignote en mode ‘fade’ 🙂

Pour être sûr, j’ai tout déconnecté (en me servant juste de la Uno comme alimentation :

ATTINY45-1Et ça marche toujours!

Reste maintenant à trouver des applications pour cette bestiole de 4Ko de mémoire, avec ses 3 entrées analogiques et 2 sorties PWM; je suis certain que ça me viendra 🙂

Un grand merci spécial à Michael, Farnell, Semageek et HighLowTech!

1 pensée sur “Découverte du microcontrôleur ATTINY45”

  1. bonjour la platine est t’elle prévu pour programmer un ATemy 2313 viaUSb de plus comment savoir si c’est 1 ou 8 mhz merci bonne journée

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Es-tu capable de répondre à ça? * Time limit is exhausted. Please reload the CAPTCHA.