Pocket Programmateur pour Cartes I2C Type D2000/D4000

Un programmateur de poche pour les cartes I2C type D2000....etc

Dans cette page est décrit le programmateur de poche, pour les cartes I2C série D2000 et autres afin de pouvoir les "charger en unités" et les rendre compatibles et utilisables dans l'appareil évoqué sous la page :   Contrôle par carte I2C: Accès, Nombre d'acces et temps de fonctionnement

Cardprog

 

Le programmateur, après mise en route et insertion d'une carte vous offre trois menus accessibles par les quatre touches de façade (Esc, Ret, Av, Ok) :

  1. Lecture: qui permet de lire le contenu de la carte ... Chaque appui sur le bouton "OK" affiche les 32 caractères suivant ...
  2. Ecriture: avec deux possibilités d'écriture; partielle ou complète. L'écriture partielle offre la ré-écriture d'une carte épuisée en y remettant seulement le nombre d'unité de temps ou d'accès souhaités, dans une carte déjà mise en service.L'écriture complète permet de créer une carte, et de la personnaliser suivant les besoins. Le premier sous-menu propose la fonction de la carte: Accès, ou Nombre de fois, ou Temps de fonctionnement. Si Accès est choisi, nous pouvons opter pour un collage permanent du relais, ou fugitif de 3" (Gâche électrique par exemple ). Si c'est la fonction "Temps de fonctionnement" qui est choisie, l'appareil vous propose le choix dans l'unité de temps pour la décrémentation entre dizaines de secondes, minutes et heures. Si c'est la fonction "Nombre de fois" qui est validée, c'est une invitation à rentrer une valeur de 3 chiffres comprise entre 000 et 999, puis, comme pour les autres fonctions, vous pouvez rentrer deux messages qui apparaitront sur l'afficheur du lecteur de carte (Ex.:Nom Prénom...) C'est un peu plus long à écrire qu'avec l'autre programmateur relié au PC.
  3. Effacer: C'est le blanchiment de la carte ! pour la rendre inutilisable, on vient écrire la valeur hFF sur toute les adresses de la carte ! Rien n'empèche de la ré-écrire après mais son histoire est effacée .

 

Voilà ce qui est du mode d'emploi !

La réalisation:

Le schéma:

Cardprog sch

 

Le coeur du montage est un PIC16F88 cadencé par un quartz de 4Mhz, et alimenté, comme tout le reste, par une tension unique de 5 volt issue d'un régulateur intégré. Les gestion de l'afficheur, du support de carte et des boutons lui sont confiées, ainsi qu'en option, une EEPROM série au cas où l'on souhaite stocker des données transitoires.

 

Le circuit imprimé:

Cardprog brd

 

Cardprog cmp

 

Le circuit imprimé est réalisé en deux morceaux, simple face, qui se connectent l'un sur l'autre par les connecteurs JP2 / JP3 afin de se loger dans le boîtier adéquat. Attention lors de la soudure du connecteur mâle, il se soude, coté imprimé du circuit, de la partie suppérieure. 

 

Et pour faire tourner tout ça:

Le software est développé sous Flowcode pour PIC, et composé d'un menu principal et de 8 sous-programmes appelés par les fonctions souhaitées .

  • Le programme principal initialise l'afficheur, la communication I2C master, écris les messages d'accueil et contrôle dans une boucle l'insertion d'une carte puis appel le sous-programme 'INSER'
  • INSER affiche 'Carte Absente' ou appel la macro 'CHOIX'.
  • CHOIX vous propose, par l'appui sur les boutons, les sous menus ACCES, COMPTAGE, TEMPO, NOMER, EFFACER, et recule si rien n'a été choisi.
  • ACCES permet de choisir entre un relais permanent ou fugitif 3" et envoi l'écriture des  caractères ASCII suivant aux adresses h00 valeur h20 'space' (protection invisible carte); h03 valeur 'a' (accès); h04 valeur 'p' ou rien (relais permanent ou fugitif) dans la carte I2C. 
  • COMPTAGE affiche sur l'afficheur "Nombre ?" et écrit sur la carte I2C aux adresses h00 valeur des centaines, h01 valeurs des dizaines, h02 valeur des unités et h03 le caractère ASCII 'c' pour fonction de comptage. Les valeurs choisies, individuellement par les boutons, sont reprises sur la 2°ligne de l'afficheur et incrémentées/décrémentées puis validées chacune par pression sur 'Ok' pour être burinées dans la puce.
  • TEMPO affiche sur l'afficheur "Nombre ?" et ecrit sur la carte I2C aux adresses h00 valeur des centaines, h01 valeurs des dizaines, h02 valeur des unités et h03 le caractère ASCII 't' pour fonction de comptage. Les valeurs choisies avec les boutons sont reprises sur la 2°ligne de l'afficheur et incrémentées/décrémentées puis validées chacune par pression sur 'Ok'. Puis appel du sous programme UNIT.
  • UNIT offre le choix de l'unité en écrivant à l'adresse h04 les valeurs ASCII 'd'(secondes * 10) ou 'm'(minutes) ou 'h'(heures) suivant le choix de l'unité de temps .
  • NOMER pointe l'adresse h10 et permet de rentrer, les un après les autres, les caractères ASCII de votre choix, par pression sur la touche 'Ok' jusqu'a l'adresse h1F; c'est le message composé qui apparait sur l'afficheur du lecteur de badge . Au dela de l'adresse h20 la place est disponnible; le message n'apparaît pas sur l'afficheur mais est vu par le menu 'lecture' de ce programmateur (Ex.: message caché).
  • EFFACER vient écrire la valeur hFF depuis l'adresse h00 jusqu'a l'adresse hFF et affiche "carte effacée" après un certain temps.

 

Tout les fichiers nécessaires sont zipés sous leur format original ci-dessous:

CardprogCardprog (48.89 Ko)

Ajouter un commentaire