|
Platines ARDUINO Uno, Nano et Shield ATtiny85
Nous ne présenterons pas ici le concept ARDUINO qui fait l'objet de nombreuses descriptions (ce qui fait aussi son intérêt) sur le Web. Disons simplement que l'on peut, à peu de frais et d'une façon très simple, réaliser des montages à base d'un microcontrôleur. Ce système permettant de tester le montage sur plaque d'essai (Breadboard) avant d'en faire éventuellement une version définitive. Tout se joue autour d'un ATMéga328P d'ATMEL programmé à l'aide d'un interpréteur très similaire au langage C++. L'idée développée par le staff ARDUINO est d'avoir une petite platine centrée autour d'un microcontrôleur dont toutes les entrées-sorties sont accessibles sur connecteurs. Deux solutions s'offrent à nous, acheter une platine prête à l'emploi, l'ARDUINO UNO R3, ou bien la réaliser avec des composants facilement disponibles dans le commerce. C'est cette deuxième solution que nous avons choisie, pas tant pour l'économie réalisée que pour le plaisir de dessiner et graver un circuit. Par
rapport à la platine officielle, la différence est qu'elle ne comporte
pas d'entrée USB, il faudra donc prévoir un petit montage additionnel
pour effectuer une conversion USB-TTL. Ceci n'est pas un inconvénient,
bien au contraire car il permet de programmer ou reprogrammer in-situ
des montages dédiés par un connecteur ICSP. Si cette solution permet de programmer un Arduino à partir d'un fichier .ino, si l'on se trouve avec un fichier en .hex la programmation ne pourra se faire que par une autre méthode dont nous décrivons le principe un peu plus loin sur cette page et qui utilise un Arduino Nano comme programmateur. SCHÉMA
CIRCUIT
IMPRIMÉ
INTERFACE USB-UART
Ce convertisseur transformant les signaux USB en TTL va permettre de programmer l'ATMega. C'est un module du commerce (avec chip FTDI) que nous allons fixer sur un petit circuit imprimé. Il faudra juste remplacer le connecteur droit par un coudé. Le condensateur de 100 nF entre DTR et RST est indispensable pour le reset du microcontrôleur lors de la programmation.
SCHÉMA
CIRCUIT IMPRIMÉ
APPROVISIONNEMENT DES COMPOSANTS Par l'incontournable eBay, nous trouvons pour l'essentiel : -
ATMega328P avec le boot Arduino (8 € les 5 pièces)
ARDUINO Nano
Dans la même veine
que la platine ci-dessus, nous avons réalisé ce montage qui va permettre,
dans des dimensions plus réduites, d'apporter les mêmes services
que le "Uno". En effet ces modules sont dotés du même
AT328 mais en boîtier CMS.
Arduino en programmateur Lorsque l'on se trouve
avec un fichier en .hex, il n'est plus possible de programmer les
micro-contrôleurs ATMEL directement, comme précedemment, par les
ports TX - RX et RST avec une interface USB - TTL. Nous allons utiliser un Arduino Nano et un logiciel spécifique et en freeware : AVRDUDESS. Notons que la description qui va suivre implique un Nano alors qu'un Uno peut parfaitement faire l'affaire mais à condition d'utiliser des fils volants. Trois ports sont utilisés: MOSI, MISO, SCK et RST et les trois LEDs ont la même fonction que celle du programmateur ATtiny85. Le strap sur le VCC permet d'alimenter ou non en 5 V le montage à programmer. 1ère étape: Configurer l'Arduino en programmateur après avoir sélectionné le port utilisé: 2ème étape Après lancement de AVRDUDESS il faut renseigner les cases en jaune et éventuellement les cases en vert (fusibles) si le programme le nécessite. La programmation est lancée par un clic sur Program! et le déroulement de la programmation est affiché dans la fenêtre en noir.
Shield ATtiny85 Certains petits montages,
tel qu'un Iambic keyer ou une minuterie, ne nécessitent pas un circuit
avec autant d'entrées et de sorties et plus gourmand en énergie
et en place. - La verte indique
par son clignotement lent ("hearth beat") que le programmateur
est prêt. Un autre strap permet de relier la broche RESET à un condensateur de 10 µF lors de la programmation.
SCHÉMA
CIRCUIT IMPRIMÉ
UTILISATION Cette opération demande une certaine préparation, à suivre pas à pas, que nous allons détailler ici : -
Télécharger le fichier ide-1.6.x.zip à l'adresse suivante : https://github.com/damellis/attiny/archive/ide-1.6.x.zip Vous
obtenez une structure de ce type : C:\Users\...MyName...\Documents\Arduino\hardware\attiny\avr. - Brancher la platine AT328 (sans le shield) dans la prise USB du PC. Après s'être assuré de la bonne configuration du port USB (au besoin le déterminer dans le panneau de configuration de Windows à la rubrique "Système / Gestionnaire de périphériques / Ports (COM et LPT)) : - Démarrer
ou redémarrer l'IDE d'Aduino. On doit voir apparaître dans le gestionnaire
de cartes ( "Outils / Type de carte") la mention
"ATtiny", en principe au bas du menu déroulant. On est prêt maintenant à s'occuper de l'ATtiny placé sur son support : -
S'assurer que le strap PGR est en place et que celui de la diode
TEST est retiré. L'ATtiny est en principe prêt à recevoir un programme, mais on va d'abord s'assurer que tout fonctionne : - Mettre
en place le strap "TEST" (et ne pas oublier de le retirer
après les essais). ... Si tout se passe bien et tout devrait bien se passer, la LED orange clignote ! Notre ATtiny est prêt à recevoir de petits programmes (vu sa taille mémoire) en prenant en compte que la gamme des instructions disponibles est réduite mais suffisante dans la plupart des cas : pinMode() digitalWrite()
digitalRead() analogWrite()
analogRead() delay()
delayMicroseconds() |
|