V-USB et ATtiny85

Utilisation de la libraire V-USB pour créer une clef de stockage de mot de passe.

L'USB en bref

Pinout connecteur USB APour les connecteurs de type A, 4 pins au total : +5V, GND, Données -, Données +. Maximum de 500 mA mais pas assuré, selon les ordinateurs ou le hub usb (à vérifier).

Plus de détails sur la norme USB.





Etapes

  1. V-USB et Atmel Studio
  2. Schéma
  3. Code

1. V-USB et Atmel Studio

Pour importer V-USB dans un projet Atmel Studio, copier le dossier source usbdrv à la racine du projet puis l'inclure dans le projet avec un clique droit sur le dossier dans le panneau Solution Explorer et choisir "Inclure dans le projet". Dans Project/mon_projet Properties, onglet Toolchain, ajouter le chemin vers le dossier usbdrv dans Directories. Ajouter dans le panneau Symbols, Defined symbols la variable : F_CPU=16500000UL pour fixer la fréquence d'horloge en accord avec l'ATtiny85.

2. Circuit de connexions

Circuit programmation ISP arduino vers ATtiny85

Les pins SCK (D13, pin 19), MISO (D12, pin 18) et MOSI (D11, pin 17) de l'arduino sont connectées aux pins SCK (7), MISO (6) et MOSI (5) de l'ATtiny85.

L'entrée RESET de l'ATtiny85 est reliée à la pin 16 (D10) de l'arduino.

Un condensateur de 10 uF doit être ajouté entre la pin RESET et GND pour... (éviter le redémarrage instantané de l'arduino ?).


3. Flasher le microcontrolleur AVR

Il y a deux possibilités pour charger un programme dans le microcontrolleur, soit en utilisant l'IDE Arduino, soit en se servant du programme avrdude.

IDE

Configurer l'IDE pour pouvoir programmer un ATtiny 45 ou 85. Télécharger les fichiers de spécifications, les copier dans le répertoire contenant les sketchs. Fermer et relancer l'IDE pour la mise à jour.
Ensuite, Choisir l'AVR à programmer dans le menu Tools/Board de l'IDE Arduino. Par exemple, l'ATtiny85.

En choisissant dans le menu Tools/Burn Bootloader, on grave le programme de démarrage. Notamment, on définit la fréquence d'horloge du microcontrolleur (en interne ou avec un crystal externe).

Les commandes supportées sont :


Avrdude

Le code est écrit en C et compilé pour être ensuite téléchargé sur l'ATtiny85.
Pour compiler le code, utiliser Atmel Studio. On obtient ainsi un fichier .hex.
Une fois compilé, le fichier .hex est téléchargé sur l'AVR grâce à avrdude qui est disponible en téléchargeant WinAVR.

avrdude -P comXX -b 19200 -c avrisp -p attiny85 -U flash:w:code_compile.hex

comXX: le numéro du port COM sur lequel est connecté l'arduino.

© Clic4.org 2012