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 Flash | 8 Ko (pour les programmes) |
Mémoire SRAM | 512 Octets |
Mémoire EEPROM | 512 Octets |
Nombre d’entrées/sorties: | Jusqu’à 6 (5 en pratique) |
Courant maximal en sortie: | 40 mA |
Courant maximal total | 200 mA |
Photo de l’Attiny85
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.
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 :
- pinMode()
- digitalWrite()
- digitalRead()
- analogRead()
- analogWrite()
- shiftOut()
- pulseIn()
- millis()
- micros()
- delay()
- delayMicroseconds()
- SoftwareSerial
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
Durée
01:00:00
Nombre de vidéos
0
Certificat de fin de formation
NON