Dernière mise à jour :
10/09/2009
Présentation
Ce chenillard produit des figures
lumineuses
similaires à celles produites par le "système K2000", et
est composé
de 2 x 10 leds placées sur un axe symétrique horizontal.
Les figures sont codées en "dur" et ne peuvent pas être
modifiées sauf si vous retouchez au code source (fourni) et que
vous le recompilez. La vitesse est ajustable au moyen d'un
réglage matériel (potentiomètre) et/ou logiciel
(boutons poussoir "plus vite" et "moins vite").
Le schéma
Ce schéma est plus simple que celui du
chenillard 006c qui a servi de base, mais possède deux fois plus de leds.
Choix des leds
Les leds du schéma ci-avant sont
représentées par deux bargraphes, mais
il va de soi que des leds standards ou haute luminosité conviennent
tout à fait, dès l'instant où leur courant nominal ne dépasse pas 20
mA. Si leur courant nominal est supérieur à cette valeur, il convient
d'ajouter un transistor additionnel sur chaque sortie (un simple 2N2222 avec une résistance de base de 2,2 KO
permet de monter à 500 mA sans problème).
Les figures lumineuses
Elles sont définies par la mise à l'état logique
haut des sorties 0 à 3 du port A et des sorties 0 à 5 du
port B du PIC, via quelques lignes de code assez simples à
comprendre :
procedure Out_RefreshPort;
begin
PORTA.0 := OutData.0;
PORTA.1 := OutData.1;
PORTA.2 := OutData.2;
PORTA.3 := OutData.3;
PORTB.0 := OutData.4;
PORTB.1 := OutData.5;
PORTB.2 := OutData.6;
PORTB.3 := OutData.7;
PORTB.4 := OutData.8;
PORTB.5 := OutData.9;
end;
Les états individuels de
chacune de ces dix sorties sont stockés dans une variable de
type word appelée OutData, qui elle-même est
modifiée à intervalles réguliers dans le corps
principal du programme :
case idx of
0 : OutData := %0000000000000000;
1 : OutData := %0000000000000001;
2 : OutData := %0000000000000011;
3 : OutData := %0000000000000111;
4 : OutData := %0000000000001111;
5 : OutData := %0000000000011111;
6 : OutData := %0000000000111111;
7 : OutData := %0000000001111111;
8 : OutData := %0000000011111111;
9 : OutData := %0000000111111111;
10 : OutData := %0000001111111111;
11 : OutData := %0000001111111110;
12 : OutData := %0000001111111100;
13 : OutData := %0000001111111000;
14 : OutData := %0000001111110000;
15 : OutData := %0000001111100000;
16 : OutData := %0000001111000000;
17 : OutData := %0000001110000000;
18 : OutData := %0000001100000000;
19 : OutData := %0000001000000000;
20 : OutData := %0000000000000000;
21 : OutData := %0000001000000000;
22 : OutData := %0000001100000000;
23 : OutData := %0000001110000000;
24 : OutData := %0000001111000000;
25 : OutData := %0000001111100000;
26 : OutData := %0000001111110000;
27 : OutData := %0000001111111000;
28 : OutData := %0000001111111100;
29 : OutData := %0000001111111110;
30 : OutData := %0000001111111111;
31 : OutData := %0000000111111111;
32 : OutData := %0000000011111111;
33 : OutData := %0000000001111111;
34 : OutData := %0000000000111111;
35 : OutData := %0000000000011111;
36 : OutData := %0000000000001111;
37 : OutData := %0000000000000111;
38 : OutData := %0000000000000011;
39 : OutData := %0000000000000001;
end;
Out_RefreshPort;
Comme une variable de type word
comporte 16 bits et que l'on travaille ici avec seulement dix sorties,
les six bits de poids fort ne sont pas utilisés du tout et sont
toujours positionnés à 0.
Vitesse de défilement
En mode automatique, la vitesse de défilement des leds est
ajustable de deux façons combinées : de façon
"matérielle" avec le potentiomètre RV1, et de
façon "logicielle" avec les boutons poussoir SW1 (SpeedDown,
ralentissement) et SW2 (SpeedUp, accélération). Pour
diminuer la vitesse (rendre plus lent le défilement des leds),
vous pouvez augmenter la valeur du condensateur C1, et/ou augmenter la
valeur du potentiomètre RV1 (100K ou 220K, voire plus). Et pour
augmenter la vitesse (rendre plus rapide le défilement des
leds), vous pouvez diminuer la valeur du condensateur C1, et
éventuellement descendre la valeur de R13 à 2,2 KO.
Procédure de réglage- Placer le potentiomètre de réglage RV1 à mi-course.
-
Appuyer une ou plusieurs fois sur les boutons SW1 et/ou SW2 pour
atteindre la vitesse désirée, ou pour atteindre une vitesse "médiane".
Par la suite, la vitesse peut être augmentée ou diminuée grâce au potentiomètre RV1.
Si
les boutons poussoir vous gênent (usage à vitesse fixe sur une voiture,
par exemple), soyez rassurés : vous pouvez les supprimer une fois le
réglage effectué. la dernière vitesse programmée par ces derniers est
sauvegardée en mémoire (EEPROM) et est rappelé à chaque remise sous tension.
Fichiers Sources et Binaire
Code source au format MikroPascal (Pro V2.50),
et fichier binaire compilé (hex) prêt à charger
dans le PIC avec le programmateur de votre choix.
Chenillard 013 - 16F628A.zip (version du 10/09/2009)
Si
vous souhaitez recevoir par la poste un PIC
préprogrammé et prêt à utiliser, merci de
consulter la page
PIC
- Sources.
Le circuit imprimé
Non réalisé.