Multi usage: Un clavier à 4 chiffres
Entrez le code: Si le code est correcte, un relais autorisera la fonction sur laquelle il est câblé !
Les Raisons D’être Du Montage:
Le circuit proposé n’établi le circuit d’allumage d’un véhicule seulement si le code, composé sur son clavier, est identique à celui contenu dans la mémoire du montage et défini par le propriétaire, qui peut le modifier à son gré.
L'exportation de l'idée sur toutes autres applications, telles que commande d'appareils électriques, commande de gâches de portes ou même d'alarmes reste possible et n'a de limite que l'imagination du lecteur .
Les Raisons D’être Du Projet:
Le projet, dans sa version originale, est développé en assembleur (là, il y en a qui se frottent les mains !) avec un PIC16C54 (là, il y a de la toile d'araignée !) et nous verrons dans la deuxième partie de la publication, comment muter le programme sous Flowcode, pour un PIC16F84 sans toucher au " hard ", simplement en re-développant du soft avec l'univers orienté objet !
Le Schéma:
Un PIC16C54, cadencé par élément RC, gère les entrées/sorties du port B divisé en deux pour écrire les lignes d’un clavier matricé et en lire les colonnes. Le port A est en sortie, et attaque trois LEDs et un relais via un transistor pour l'amplification en courant.
-1 Verte = code bon
-1 Jaune = touche prise en compte (Flash)
-1 Rouge = code faux
Rouge + verte = autorisation de changement de code
Un régulateur intégré adapte la tension à 5volt pour le PIC, et deux condensateurs assurent le découplage. Le reset est engendré par R5 et C5 lors de l’alimentation du circuit, tandis que la diode D7 évacue toute tension supérieure lors de la coupure. Les autres résistances ne servent que de ‘pull down’ et de limitation de courant.
Le Circuit Imprimé:
Le circuit est en simple face, et le perçage est à 0.8mm sauf pour le relais, le bornier et le régulateur intégré qui eux sont à 1mm. La taille des pads à été volontairement exagérée pour garantir une solidité mécanique des composants puisque le matériel sera soumis aux vibrations...Les trous de fixations sont à prévoir en fonction de l’adaptation dans le boîtier ou véhicule.
Le tracé sous Eagles du circuit imprimé. La version "free" est suffisante pour un si petit circuit .
Nostart rel (14.06 Ko)
Le Câblage:
Tous les composants sont soudés sur le circuit imprimé, dans le sens indiqué sur le plan d’implantation, sauf le PIC qui est sur support ou cosses tulipe. Attention de ne pas oublier le strap. Le clavier et les leds peuvent être soudés côté cuivre, après le montage des autres composants, si l’on ne veut pas déporter le clavier...
Part Value
C1 0.1æF
C2 0.33æF
C3 0.1æF
C4 10nF
C5 1æF
D1 GREEN
D2 YELLOW
D3 RED
D4 1N4148
D7 1N4148
Q1 2N2222 TO-18
R1 470
R2 470
R3 470
R4 2K2
R5 10K
R6 47K
R7 1K
REL1 REL5v RELAIS MATUSHITA
RN1 10K RN-9
U1 16C54
U2 7805T TO-220A
Deux versions de logiciel ==> Deux époques !
Le Logiciel d'Origine:
Les logiciels source, list et object, ne peuvent pas être publiés ici sous leur forme initiale, sans doute pour éviter quelques intrusions, pollutions et actions malveillantes. Je vous le livre en format zippé et vous pourrez le dézipper dans un coin de votre ordinateur.
Nostart sw1 (5.25 Ko)
Au commencement on retrouve les déclarations du composant, de ses options, du reset, de la configuration du hard et des variables. Puis la phase d’initialisation au démarrage et le très court programme principal avec appel de toute une suite de sous-programmes: Correspondance de touche enfoncée, touche relâchée? , Nbr de fois touches activées avec chaque fois comparaison du code, si les quatre sont corrects saut au collage du relais et contrôle qu’il n’y a pas de demande de changement de code et retour à la boucle principale....
Le Logiciel Actualisé:
Je vous propose une version plus moderne du soft, tout en conservant le matériel ! Cette version est élaborée pour un PIC16F84A, développée sous Flowcode . J'y ai ajouté une petite boucle qui permet de maintenir le relais tiré en appuyant la touche # après le bon code, jusqu'à action sur n'importe quelle touche, pour permettre la commande marche/arrêt d'un appareil raccordé dessus. J'ai en plus ajouté une très longue pénalité, après 5 faux codes successifs pour augmenter l'inviolabilité . La remise à zéro du nombre d'erreur se fait par un code réussi...
Nostart flow (4.41 Ko)
Une curiosité tout de même: je m'attendais a ce que le fichier .hex soit plus lourd que celui développé en assembleur, mais non ! il est inférieur à 4K malgré deux fonctions supplémentaires . Au démarrage, on initialise les variables, puis on appelle le sous-programme (keys) qui vient analyser en boucle le clavier. Si ce dernier est sollicité, on appelle le sous-programme (Saisie) qui sur 4 décisions, va comparer les valeurs stockées avec les valeurs saisies; une 5° remet tout à zero. Chaque saisie donne un "accusé de réception" par le clignotement de la Led jaune . Si les chiffres saisis sont différents des valeurs stockées, appel du sous programme "Error", sinon au 4° chiffre ok, appel de la fonction relais tire (Reltire). Le sous programme "Error" remet tout à zéro et lance une pénalisation de 7", compte le nombre d'erreur et verrouille pendant 255" le clavier; pour ces deux pénalités la Led rouge reste allumée. La réussite du code (Reltire) va remettre les erreurs à zéro, faire tirer le relais pendant 3", en même temps qu'elle allume la Led verte. Si le clavier entre un # en fin de temporisation, on supprime la retombée du relais et l'extinction de la led verte, jusqu'a une action sur un des chiffres. Si la touche * est actionnée en fin de temporisation, on passe en mode changement de code par appel du sous-programme "Change".Les Leds verte et Jaune sont alors allumées. La fonction "Change" va permettre de scruter le clavier, jusqu'a la saisie de 4 nouveaux chiffres de code, avec accusé de réception à chaque saisie (la Led jaune s'eteind brièvement) et dès le quatrième chiffre saisi, on renvoi au sous programme Keys . Attention: l'oscillateur RC est très lent, ne pas oublier de renseigner la fréquence horloge (1200 Hz) dans les options du projet ... sinon vous allez vous tourner les pouces .
Particularités pour l'utilisation:
Le Changement De Code:
Si le bon code a été accepté(Led verte), il est possible de changer la combinaison en pressant la touche * (étoile) qui provoque l’allumage de la led rouge et de la led verte simultanément et après une légère tempo (~3 secondes), permet de rentrer le nouveau code... et suite à l’entrée du quatrième chiffre re-tempo et retour au programme principal.....
Le Montage sur un Véhicule:
Plusieurs montages sont possibles suivant le degré de protection que l’on envisage:
- clavier et circuit dans le même boîtier dans l’habitacle, plus simple et aussi plus facile à shunter!
- clavier déporté par un câble en nappe et circuit moins accessible mais qui impose le déport de leds également.
Le schéma ci dessous permet un automaintien du relais de puissance pendant la marche, ce qui est préférable à un maintien ‘logiciel’ qui peut être oublié lorsque l’on quitte le véhicule! Ici la coupure du contact impose la recomposition du code!
Autres Utilisations:
Le pilotage d’ une gâche électrique est tout à fait possible avec le montage ci-dessous qui autorise l’alimentation en courant alternatif ou continu et assure la sauvegarde du code en cas de coupure d’ alimentation.
La modification du logiciel dans le sous-programme ‘RELTIRE’ permettra de piloter une centrale d’alarme ou la mise en service et arrêt de tous types d’appareils après recompilation, pour prise en compte des modifications ...
Ajouter un commentaire