Dernière mise à jour :
01/07/2012
Présentation
Ce montage permet d'afficher un message avec un
barreau de 7 LED, en le déplaçant dans l'espace (déplacement en ligne
ou sur axe rotatif). Le message n'est lisible que quand les LED se
déplacent.
En cas d'immobilité, on voit juste les LED
scintiller. Quel autre nom pourrait-on donner à ce montage, qui
profite de la persistance rétinienne ? Afficheur rotatif ou rotatoire ?
Afficheur spatial ? Afficheur rétinien ? Afficheur semi-virtuel ?
Afficheur message est assez parlant, finalement...
Avertissement
Trois avertissements suffiront pour commencer.
- Une
fois n'est pas coutume, je vous soumets ici le schéma électronique et
le
code logiciel d'un système qui ne fonctionne pas (encore)
parfaitement
bien. Le but ? Vous faire travailler un peu. Il n'y a pas de piège. Le
code logiciel repose sur un principe adopté par beaucoup pour ce type
de réalisation. Le plus gros est donc déjà en place. Un conseil si vous
avez envie de mettre les mains dans le cambouis : essayer le montage
tel que proposé, avec le code logiciel actuel. Regardez bien ce qui se
passe et seulement ensuite, modifiez le code là où cela vous semble
judicieux.
- La
version actuellement proposée ne permet pas de programmer le message à
afficher avec des moyens "simples". Une prochaine version le permettra,
avec une petite liaison série (déjà prévu au câblage, broche Rx du PIC
laissée libre). Ceci dit, je mets à disposition le code source, ce qui
vous permet de modifier le message à afficher et de le recompiler avec
la version gratuite (limitée à 2 kO) de MikroPascal. Vous pouvez
afficher du texte, des chiffres et quelques signes de ponctuation, mais
en vous penchant dans le code, vous verrez qu'il est très facile
d'afficher n'importe quel type de (petit) dessin.
- J'ai écrit le code logiciel pour deux modes de fonctionnement :
- mode circulaire, le barreau de LED doit toujours aller dans le même sens (montage sur axe moteur)
- mode aller-retour, le barreau de LED est tenu dans la main et on le fait aller de gauche à droite et de droite à gauche.
Le
code logiciel tel qu'il est livré correspond au premier mode car c'est
lui qui permet la plus grande stabilité du message affiché.
Schéma
Tout y est, même la pile.
Fonctionnement général
Le principe repose sur le découpage
en tranches verticales de caractères alphanumériques (lettres ou
chiffres), les tranches sont affichées les unes après les autres.
C'est exactement le même principe que celui adopté sur mon journal
lumineux, sauf qu'ici on a une seule colonne et non pas une
multitude. En déplaçant dans l'air la colonne de LED qui affiche ces
tranches de caractères, on positionne chaque tranche à un endroit
différent dans l'espace. Grâce à la persistance rétinienne de l'oeil,
on a l'impression de voir plusieurs tranches en même temps, ce qui
permet au cerveau de reconstituer les caractères dans leur
intégralité.
Principe électrique
Il est très difficile
de faire plus simple. Le principe expliqué ci-avant impose le pilotage
de 7 LED, qu'on allume ou qu'on éteint selont la portion de caractère à
afficher. Un PIC et quelques LED associées à leur résistance de
limitation de courant suffit donc amplement. Le schéma en atteste.
Calcul de la vitesse de découpage / affichage des tranches de caractères
C'est
finalement la partie la plus casse-pied, car elle nous oblige à passer
par des formules, ce dont nous avons tous horreur. Il faut tenir compte
de plusieurs paramètres :
- la vitesse de déplacement du barreau de LED;
- la vitesse de balayage (découpage des tranches);
- la persistance rétinienne (fréquence min de balayage).
Perso,
j'aime parfois y aller à l'instinct, et corriger ce qui ne va pas. Je
commence donc avec une vitesse de balayage / découpage de 100 Hz
(périodicité 10 ms) et je regarde ce que ça fait avec un déplacement
manuel lent. Ca ne me plait pas ? Je change...
Prototype
Réalisé sur plaque d'expérimentation à pastilles, après tests généraux sur platine EasyPic.
Pour
l'instant, ça fonctionne dans les grandes lignes, les lettres
apparaissent bien quand on fait tourner le circuit sur lui-même. Mais
ce n'est pas parfait car je n'y comprend rien à l'électronique (si au
moins il n'y avait pas de LED). J'ai
pour ce test utilisé un mixeur de cuisine pour faire tourner le circuit
sur lui-même (véridique). Comment dire... je
croyais le circuit imprimé et la pile bien fixés. Croyez-le si vous
voulez, mais quand j'ai retrouvé l'ensemble dans un coin perdu de la
cuisine, le circuit intégré était à moitié sorti de son support à
cause des vibrations ! Je me disais aussi... les lettres ne
s'affichaient plus complètement.
Circuit imprimé
Non réalisé.
Logiciel du PIC
Les fichiers assembleur (*.asm), binaire compilé (*.hex) et code source (MikroPascal Pro) sont
disponibles
dans l'archive dont le lien suit.
Afficheur message LED 001 - PIC 16F628A - 01/07/2012
Pas dispo en version "prêt à l'emploi" pour l'instant, vous l'avez bien compris...
Historique
01/07/2012- Première mise à disposition.