Réalisation d'une carte facilitant la programmation de différents microcontrôleurs ATMEL avec un Arduino.
Quand on finalise un projet, pas question d'y laisser un Arduino bloqué à vie. À mon sens, l'Arduino est un outil génial, certes, mais un outil de prototypage et d'essais.
On peut facilement finaliser des projets de manière bien plus intelligente : remplacer l'Arduino tout entier par un simple microcontrôleur. Les avantages sont nombreux:
Le sketch ArduinoISP permet d'utiliser un arduino comme système de programmation. Il engendre un certain nombre de câblages, des LEDs témoins, un oscillateur externe… Tout cela prend un certain temps à brancher sur la breadboard, et quand on en grave souvent, on augmente le risque d'en cramer un par la patte d'une résistance baladeuse.
L'idée était donc de réaliser une carte simple permettant d'optimiser cette démarche.
Ce que la carte devait faire :
Le système est assez simple : un bornier de connexion à l'Arduino, un socket ZIF, un bouton de reset, des leds de statut pour le sketch ArduinoISP, des jumpers pour configurer le mode d'opération de la carte, un reset, un résonateur.
Le PDF du schéma électrique est ici : schema.pdf
Pour ce genre de projet, une perfboard, un peu de patience, et une certaine minutie dans le maniement du fer à souder suffisent. En effet, réaliser un PCB pour un projet de cette simplicité aurait été une perte de temps, même si une évolution en shield arduino rendrait intéressante cette démarche dans un soucis de sérialisation.
Si beaucoup de documentation existe sur la programmation d'AVR ATMEL à partir d'Arduino, il fut relativement complexe de qualifier l'interopérabilité et la nécessité de certains détails : condensateurs sur le reset pour éviter un brownout de la carte, capacité ou non d'uploader un sketch sans liaison série directe, utilisation des horloges internes au lieu de résonateurs externes, comportement des AVR quand une tension est appliquée à leurs bornes pendant la programmation…
On pourrait transformer ce projet en shield pour Arduino, le rendant encore plus pratique et fiable. Toutefois, il ne permettrait plus de se plugger sur des modèles d’Arduino différents.