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é !

Nostart ar

 

 

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 !

Nostart

 

 

Le Schéma:

Nostart sch

                   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é:

Nostart cmp

Nostart brd

                   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 relNostart 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 sw1Nostart 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 flowNostart 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!

Nostart vl

 

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.

Nostart sav

 

                     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