Programmation d’un Attiny85

Introduction

Ce document montre comment utiliser un Arduino pour programmer le composant Attiny85. Les informations proviennent du blog :

Toutes les instructions de ce blog ont été vérifiées et sont éventuellement complétées dans ce document.

Présentation de l’Attiny 85

Les caractéristiques techniques de ce micro-contrôleur sont les suivantes:

CaractéristiqueValeur
Taille de la mémoire Flash8 Ko (pour le code)
Mémoire SRAM512 Octets
Mémoire EEPROM512 Octets
Nombre d’entrées/sortiesJusqu’à 6 (5 en pratique)
Courant maximal en sortie40 mA
Courant maximal total200 mA
Tension d’alimentation2.7 à 5.5V
Fréquence d’utilisation0 à 20 Mhz

Brochage de l’Attiny85

La broche 1 est repérée par le rond creux situé sur le dessus du composant.

Préparation de l’IDE Arduino

La préparation de l’IDE Arduino 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.

Le message INSTALLED doit apparaître à la fin de l’installation comme on peut le voir ci-dessous :

… et dans le menu Outil / Type de carte il doit désormais y avoir Attiny…

Ensuite ouvrir le sketch ArduinoISP disponible via les menus dans les exemples.

Vers la ligne 75, enlever le commentaire pour OLD_STYLE_WIRING

C

le téléverser dans votre Arduino.

L’IDE Arduino est désormais prêt pour programmer des Attiny.

Dans le menu Outils, sélectionner :

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

Connexion de l’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 :

TypeArduinoAttiny
RESETPin 10Reset Pin (patte 1)
MOSI  Pin 11Pin 0 (patte 5)
MISO  Pin 12Pin 1 (patte 6)
SCK    Pin 13Pin 2 (patte 7)

Facultatif : (à faire en cas de problème)

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 sur 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 pas à l’Arduino

Programme de test

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é dans le sketch par la patte 4 et brancher ensuite sur l’Attiny (pin 4) une LED en série avec une résistance de 220 ohms environ.

Rappel : la patte la plus longue d’une LED doit être reliée à VCC (5V)

Pour téléverser appuyer sur la touche SHIFT en même temps que le bouton habituel de téléversement de l’IDE Arduino.

Code :

C

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ésenté 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.

Références

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

Laisser un commentaire

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