Depuis quelques mois, j'ai un projet qui me trotte en tête de radio web / mp3 "faite maison". J'ai déjà récupérer le chassis, une vieille radio qui ne fonctionne plus, et que je vais donc moderniser de l'intérieur.
Mais ce n'est pas de ça que je vais parler aujourd'hui.
J'ai prévu d'installer un Raspberry Pi dans cette radio, et de faire un peu d'électronique. J'en ai fait au collège, un peu au lycée, et un TP à la fac pendant lequel j'avais programmé sur un microcontrôleur PIC une station météo. J'ai commencé à naviguer sur les blogs, et j'ai appris la sortie en kiosque du magazine Hackable. J'ai acheté le premier numéro, et je l'ai dévoré. Et c'est là que j'ai découvert ce que permettait vraiment l'Arduino, dont j'avais précédemment entendu parler. Le lendemain, j'achetais un Arduino Starter Kit.
Premiers pas avec l'Arduino
L'Arduino, sommairement, est une carte sur laquelle on trouve un microcontrôleur, et qui facilite le travail de ceux qui l'utilisent. Wikipedia vous informera mieux que moi. Le Starter Kit Arduino propose donc cette carte, mais également un ensemble de composants nécesssaires à tout électronicien amateur : résistances, LEDs, boutons, condensateurs, moteurs, ... Mais surtout, il inclut un livre de découverte, qui présente de manière didactique plusieurs projets mettant en scène l'Arduino. Ce livre est en anglais, mais cela ne me gêne pas.
J'ai donc pu jouer avec des LEDs, programmer leur allumage, leur clignotement, et découvrir la programmation d'un Arduino. Entre temps, bien sûr, plusieurs projets commençaient à germer dans mon esprit.
Mon premier projet - Une horloge de jeu
Pour mon premier véritable projet, j'ai décidé de me monter une horloge de jeu. Il s'agit tout simplement d'un timer, programmé pour une certaine durée, et qui se signale visuellement et auditivement quand le temps imparti est écoulé. Des boutons permettent de le configurer, et de le manipuler (arrêter chrono, le relancer), et un affichage LCD informe de l'état d'avancement du chronomètre.
La première version, que vous trouverez ici, est assez basique, mais a été conçue (au niveau du code) pour devenir plus modulaire. Au niveau électronique, le plus complexe a été de réussir à tout caser sur la breadboard. Le LCD est assez encombrant. J'ai donc déporté les lEDs et les boutons sur une deuxième breadboard. J'ai passé un peu de temps à comprendre également pourquoi rien ne s'affichait sur le LCD : il s'agissait d'un problème de contraste, résolu par l'ajout du potentiomètre pour le régler. Celui-i disparaîtra sans doute dans la version finale, remplacé par une résistance de la valeur adéquate.
J'ai trois boutons dans le montage. Le bouton principal permet de valider les choix, et de stopper / lancer le chronomètre. Les deux autres boutons servent à configurer le chronomètre (bouton + et -, en gros). Dans la version actuelle, il n'y pas de configuration possible. Le seul mode existant est un chrono de 4 minutes, que j'utilise pour les tours à Blood Bowl.
J'ai prévu plusieurs modes d'utilisation, que j'implémenterai au fur et à mesure. Un autre gros point que je dois encore paufiner concerne l'aspect sonore. J'utilise un Piezo, mais trouver une fréquence intéressante à jouer est difficile. Celle que j'avais sélectionné n'était pas assez bruyante quand le chronomètre a été utilisé dans une salle où 5 matches se déroulaient. A terme, peut-être ce signal sonore sera-t-il remplacé par un véritable module sonore, capable de jouer de petites mélodies (MIDI ? Mp3 ?). J'y réfléchis encore.
Et puis, le gros chantier qui s'annonce est celui de la réalisation du boîtier pour accueillir le chronomètre. J'ai déjà repéré les boutons qui m'intéressent (boutons de borne d'arcade), mais je cherche encore le boîtier. Il me faudra également me mettre à la soudure, ce qui sera intéressant, je pense.
L'avancement du projet sera présenté ici. Je dois encore le baptiser. En pièces jointes à l'article, vous pourrez trouver le schéma actuel du chronomètre, ainsi que le fichier Fritzing correspondant. Le code source est également disponible, le tout sous licence CC-By-SA et Beerware. A suivre, donc ...