Qu'est-ce qu'un Attiny ? Comment le programmer sur Arduino ide ?

Introduction

Attiny est un microcontrôleur 8 bits crée par Atmel en 1999. Les Attiny sont des petites puces qui ont souvent moins de d’entrée/sortie que leurs concurrente chez Microchip par exemple.

L’avantage d’un Attiny est sa basse consommation d’énerge et son nombre de broche plus limité qui corresponds bien à des petits circuits électronique.

Les différents Attiny

On va voir les différentes cartes Attiny disponibles et leurs caractéristiques :

Caractéristique Attiny 25 Attiny 45 Attiny 85
Vitesse de processeur 20 MHz 20 Mhz 20 Mhz
Taille Mémoire programmable 2 KB 4 KB 8 KB
Mémoire RAM 128 Byte 256 Byte 512 Byte
Tension alimentation min/max 2.7V - 5V 2.7V - 5V 2.7V - 5V
Type de communication possible I2C, SPI I2C, SPI I2C, SPI
Nombre d'entrée/sortie 6 Entrées/Sorties 6 Entrées / Sorties 6 Entrées / Sorties
Prix (environ chez Farnell) 1,81 euros 1,82 euros 2,19 euros

Les pins d'un attiny

Voici un exemple des différents pins d’un attiny . Ce sont les mêmes pour les 3 attiny  :

  • PB0… PB5 : Pins qui permettent de récupérer des valeurs de capteur, de contrôler vos composants.
  • GND : La masse
  • VCC : Alimentation [ 2,7- 5,5] volts

Quelle est la différence entre l'Attiny et une carte Arduino ?

Les puces attiny est un bon compromis entre une carte Arduino et une carte microchip 8 bits (très utilisé dans l’industrie).

  • Point commun avec la carte Arduino : La puce attiny peut se programmer sur Arduino Ide avec le langage Arduino ce qui la rend plus simple d’utilisation .
  • Point commun avec une puce microchip : La puce attiny ressemble beaucoup à une puce que l’on trouve dans l’industrie, c’est à dire que vous devez la mettre sur un socket programmable pour envoyer votre programme, vous devez aussi regarder la fiche technique de votre puce.

La puce Attiny est donc un pas de plus  vers l’électronique plus professionnel, notamment les systèmes embarqués. On va maintenant voir ce que vous avez besoin pour la faire fonctionner.

Programmer une Attiny

Attiny peut être programme avec  un kit de développement. On va voir deux tyes de kit possbiles pour le pogrammer..

a. Présentation de la carte PIC K150

Voici le  pick150 qui est la première solution proposé pour programmer l’Attiny. Les programmateurs de puce sont très simple à utiliser car il vous suffit juste de mettre la puce sur les grilles bleu et la carte est reconnue par Arduino IDE après avoir mise à jour le firmware.

  • Installation du logiciel

Le pick150 nécessite d’être programmé afin de pouvoir l’utiliser sur Arduino ide.

Vous le retourverez le site suivant  site

b. Présentation du kit MPLAB pickit

MPLAB pickit est un kit de de développement fait par Microchip pour programmer et de debugger votre puce Atiny. Pour utiliser le Pickit, vous aurez besoin du logiciel MPLAB IDE. 

Le point négatif est que vous ne pouvez pas utiliser le Pickit avec le logiciel Arduino Ide.

A l’heure ou l’on écrit ce cours le pickit 4 est sortie. Celui-ci coûte assez chère (165 euros).

Vous pourrez trouver des copies des anciennes générations du MPLAB Pickit 3 pour une trentaine d’euros sur Amazon.

Carte Arduino "relais"

On va maintenant voir comment utiliser la carte Arduino pour programmer notre Attiny.

Il y a deux étapes pour pouvoir programmer votre Attiny sur Arduino IDE. La première est de télécharger les libriairies pour l’Attiny afin qu’elle puisse être reconnue par le logiciel.

La deuxième étape est d’installer Arduino ISP sur la carte Arduino afin de la préparer à envoyer e programme sur l’Attiny

 Installer Attiny sur Arduino Ide

 

 

 

La première étape est d’ouvrir les préférences sur Arduino Idé  en cliquant sur file puis Preferences :

Une fois dans les préférences vous devez ajouter le lien suivant dans Additionnal boards manager URLS : https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json

 

 

 

Il vous faut ensuite aller sur Board Manager puis chercher celui réservé aux Attiny :

La dernière étape est de sélectionner votre carte Attiny dans le choix des cartes afin de pouvoir la programmer :

On choisit ensuite dans tools/Processor, l’ATtiny exacte que vous avez :

On choisit ensuite l’horloge interne de l’ATtiny, ici 8MHZ :

 

 

On indique ensuite que la carte Arduino sera utilisé comme ISP (System-Programmer) qui permet de programmer d’autres cartes depuis l’Arduino :

Voici un exemple de branchement pour la programmation pour l’Attiny85 :

Dans le circuit on a ajouté un condensateur afin d’éviter que la carte Arduino redémarre en connectant un condensateur entre la pin GND et le RESET.

 

 

 

La dernière étape est de graver le bootloader de l’ATtiny depuis l’Arduino afin de pouvoir commencer à l’utiliser :

Allumer une LED avec Attiny

On va voir un exemple d’utilisation du Attiny pour allumer une LED.

Schéma du circuit

Programme

int led_Broche = 0;  // On assigne la LED à la broche 0.

void setup(){
  pinMode(led_Broche, OUTPUT); // On assigne la LED comme une sortie
}

void loop(){
  digitalWrite(led_Broche, HIGH); // On allume la LED
}

Simulation du circuit