06) Troisième application : Un gradateur lumineux.

Avec cette petite expérience simple, on va aborder le chapitre de la télécommande analogique. L’idée directrice consiste à piloter à distance un gradateur lumineux. Pour rester dans la simplicité, on ne va pas faire intervenir des dispositifs qui travaillent sur le secteur 220V. Si de telles expériences vous tentent, aller voir dans le tutoriel ICI. Nous allons nous contenter d’une petite rampe lumineuse de huit DELs facile à câbler sur une plaquette à essais. Pour le pilotage, il serait possible de se servir d’un codeur incrémental rotatif de type KY-040. Mais j’ai pensé que traiter en analogique pur avec l’utilisation d’un potentiomètre de 10kΩ serait plus judicieux. Électriquement c’est simple : On débranche le petit clavier de A0 et de A1 et sur A0 on branche un potentiomètre linéaire. (Voir la Fig.23)

Le démonstrateur pour la gestion de l’unité Maître.

Phase primordiale pour l’élaboration du logiciel, il faut transposer la rotation de la plage totale de variation en simplement huit valeurs numériques. Pour des raisons de convivialité chaque valeur numérique comprise entre 0 et 8 devra occuper sur la plage de variation, comme montré sur la Fig.24, une portion angulaire identique pour tous les incréments. On va devoir traiter par logiciel un convertisseur Analogique vers Numérique. Le démonstrateur qui se chargera de gérer l’unité Maître est nommé tout naturellement P06_MAITRE_C.ino. Pour que l’Esclave allume les LEDs en temps réel, le programme fonctionne en boucle fermée dont sur la Fig.25 l’organigramme résume le comportement. Pour que la boucle complète d’un dialogue entre les deux unités soit la plus rapide possible, sur les deux unités le contenu du message reçu n’est pas analysé, car le Maître ne peut envoyer que des consignes valides. Si d’aventure un parasite faussait la consigne envoyée, durant environ 26mS la rampe lumineuse aurait un éclairement quelconque. (La fréquence de 38Hz et la période de 26mS de la boucle de base ont été mesurées avec un appareil très précis dont la précision est de 1μS.) Cet aléa sans risque pour le matériel justifie la simplification logicielle. Dans la boucle de base void loop qui fonctionne le plus rapidement possible, le potentiomètre est lu puis transposés en un chiffre qui est compris entre ‘0‘ et ‘8‘. Cette valeur est transmise par radio. Pour être certain que l’Esclave soit à nouveau disponible on attend son accusé de réception complet. Quel que soit le contenu de ce dernier, on enchaîne une nouvelle boucle. Donc, si un parasite est venu brouiller le contenu, comme de toute façon on désire rapidement prendre en compte la nouvelle valeur numérisée, on se contente alors d’ignorer l’erreur.

Le démonstrateur pour la gestion de l’unité Esclave.

Dans le but d’avoir un maximum de souplesse et de pouvoir l’utiliser dans des expériences à venir, le BUZZER reste branché sur D4. C’est la raison pour laquelle on va placer dans l’ordre les huit LEDs de la rampe lumineuse entre D5 et D12. Comme les deux composants sont branchés en série, on peut adopter librement sur la Fig.26 la structure optimale. Le critère de décision sera probablement la facilité d’implantation sur un circuit imprimé éventuel. Comme chaque fois que l’on utilise une diode électroluminescente, la valeur de la résistance de limitation de courant sera fonction du rendement lumineux du composant approvisionné et de la clarté souhaitée. Sur la carte Arduino on a téléversé le démonstrateur P07_Esclave_C.ino. On peut tester les deux programmes.

AMORÇAGE du DIALOGUE entre les deux unités.
Chaque fois que deux machines doivent communiquer et que les deux programme sont « enfermés » dans une boucle globale utilisant les deux unités, se pose le problème de l’amorçage du dialogue. Voici une procédure qui normalement doit fonctionner sans problème :
• Mettre sous tension l’unité Esclave. (Par exemple en branchant sa ligne USB sur un petit bloc secteur 220v à ce format.) Le programme se met immédiatement en attente de réception d’un message sur son module Bluetooth. Vérifier que ce dernier clignote rapidement pendant quelques secondes signalant qu’il se met en recherche de signaux radio 2,4GHz le concernant.
• Mettre sous tension à son tour l’unité Maître. (Par exemple en branchant sa ligne USB sur un autre petit bloc secteur 220v à cette norme.) Dans les quelques seconde le témoin logique branché sur STATE s’illumine traduisant la communication effective entre les deux modules.
• Mais les deux entités ne communiquent pas forcément à ce stade. C’est même peu probable. Faire alors un RESET sur l’ensemble Maître. Immédiatement le dialogue s’établit et dans notre cas la LED d’Arduino que met à clignoter rapidement et la rampe lumineuse s’illumine en fonction de la position angulaire du bouton du potentiomètre.

La suite est ICI.