Ce que vous apprendrez

Les points à développer :

1-Les ATtiny

2-Câblage avec Arduino

3-Le simple code pour teste

Prérequis

Aucun

Contenu du cours

Les Attiny sont des microcontrôleurs très intéressants car même s’ils ne sont pas très puissants (enfin certains seulement … comme celui que j’utilise pour cet article), ils ont l’avantage de ne pas être chers, de consommer peu d’énergie et de prendre peu de place.

Ils peuvent être utilisés pour réaliser des capteurs de mesure de la température, de l’hygrométrie ou de toute autre grandeur physico-chimique dans le cadre de l’internet des objets par exemple … Ou plus simplement pour  fabriquer par exemple une carte d’anniversaire qui joue de la musique tout en faisant clignoter des Leds.

Ils sont fabriqués par Atmel (la compagnie qui fabrique aussi les microcontrôleurs Atmega utilisés dans les Arduino)

Cet article montre comment il est possible de programmer facilement un Attiny85 à l’aide d’un Arduino UNO transformé en programmateur ISP.

NB : ISP signifie « In-System Programming » qui se traduit par programmation in-situ. C’est un procédé permettant de programmer un microcontrôleur (ici l’Attiny) alors qu’il est déjà en place sur la carte qu’il doit piloter.

Les caractéristiques techniques de ce microcontrôleur sont les suivantes:

Taille de la mémoire Flash8 Ko (pour les programmes)
Mémoire SRAM512 Octets
Mémoire EEPROM512 Octets
Nombre d’entrées/sorties:Jusqu’à 6 (5 en pratique)
Courant maximal en sortie:40 mA
Courant maximal total200 mA

Tension d’alimentation : 2.7 à 5.5V
Fréquence d’utilisation : 0 à 20Mhz

Photo de l’Attiny85 



Brochage de l’Attiny85

Attiny85 - Attiny85 #Pinout | Facebook

Préparation IDE Arduino

La préparation de l’IDE Arduino en version 1.6.9 est décrite ci-dessous :

Aller dans les préférences et saisir l’URL  suivante: https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json  dans la zone « Additional board URL » en bas de l’écran, puis cliquer sur OK :

Aller ensuite dans le menu « Type de carte » / « Boards Manager », cliquer sur attiny et un bouton « Install » doit apparaître désormais.

Cliquer dessus pour lancer l'installation. Ala fin de l'installation, allez dans

le menu « Outil » / « Type de carte » il doit désormais y avoir Attiny… Votre IDE Arduino est désormais pret pour programmer des Attiny.

Dans le menu « Outil », sélectionner :

  • Type de carte : Attiny,
  • Processor : Attiny85,
  • Programmateur : Arduino as ISP.

Ensuite ouvrir le sketch ArduinoISP disponible via les menus dans les exemples et le téléverser dans votre Arduino.

Votre Arduino est désormais capable de programmer des Attiny.

Rappel du brochage de l’Attiny85 :

Il faut connecter MISO, MOSI, SCK, RESET, VCC, et GND de l’Arduino vers l’Attiny de la manière suivante :

  • RESET : Arduino Pin 10 -> ATtiny Reset Pin (patte 1)
  • MOSI   : Arduino Pin 11 -> ATtiny Pin 0 (patte 5)
  • MISO   : Arduino Pin 12 -> ATtiny Pin 1 (patte 6)
  • SCK      : Arduino Pin 13 -> ATtiny Pin 2 (patte 7)

Ensuite, sur l’Arduino placer un condensateur chimique de 10 uF entre la broche Reset et la masse (GND) de l’Arduino (pole négatif avec un trait sur le condensateur).

Ce condensateur empêche la carte Arduino de faire un reset et de redémarrer ainsi le bootloader lors des téléversements destinés à l’Attiny. De cette façon en effet on est sûr que l’IDE Arduino rentre en communication avec ArduinoISP (et non le bootloader) durant le téléversement du croquis qui est destiné à l’Attiny et pas à l’Arduino.

Câblage 

Pour le premier test on peut simplement utiliser l’exemple classique blink disponible via les menus  en remplaçant ensuite, pour la Led à faire clignoter, la patte 13 indiquée dans le sketch par la patte 3 et brancher ensuite sur l’Attiny (pin 3) une Led en série avec une résistance de 150 ohms environ.

Programming ATtiny13 with Arduino Uno - Arduino Project Hub

Configuration de l’Attiny à 8 MHz (optionnel) 

Par défaut, l’Attiny tourne à 1 Mhz. Pour pouvoir utiliser la bibliothèque SoftwareSerial (si vous en avez le besoin), il faut le programmer pour qu’il tourne à 8 Mhz.

Pour cela, une fois le montage réalisé présenter précédemment, il faut choisir dans le menu « Outil » / « Clock » / « 8Mhz INTERNAL ».

Ensuite sélectionner dans le menu « Outil » « Graver la séquence d’initialisation ».

Test du programmateur d’Attiny avec l’Arduino 

Nous allons maintenant réaliser un programme de test et téléverser ce programme dans l’Attiny à l’aide de l’Arduino comme programmateur ISP puis un chenillard.

Code :test 1

Programme chenillard à quatre LEDs 

Le programme ci-dessous développé pour l’Attiny est un chenillard avec quatre Leds connectées de la manière suivante :

  • Pin 0 Attiny : led verte
  • Pin 1 Attiny : led jaune
  • Pin 2 Attiny : led bleue
  • Pin 3 Attiny : led rouge

Rappel brochage Attiny 85 :

Saisir ce programme dans l’IDE Arduino puis demander son téléversement.

Référence 

Pour info, les ordres Arduino ne sont pas tous utilisables pour un programme destiné à l’Attiny. Seuls les ordres Arduino ci-dessous sont disponibles pour les programmes Attiny :

Montage 

Une fois la programmation de l’Attiny terminée, celui-ci peut fonctionner de manière autonome.

Dans le montage ci-dessous, l’Attiny est  connecté à l’Arduino pour juste l’alimentation pendant les tests (fils noir et rouge) mais il peut bien sur être alimenté à l’aide d’une simple pile et fonctionner ainsi de manière complètement autonome.

Merci pour votre attention !

Comment programmer le microcontrôleur ATtiny85 ?

Catégorie

Electronique

Durée

01:00:00

Nombre de vidéos

0

Certificat de fin de formation

NON