Contrôle par carte I2C: Accès, Nombre d'accès et temps de fonctionnement

Cartes I2C à trois fonctions (Nombre d'accès, Temps de fonctionnement, Autorisation d'accès)

                  Je vous propose ici un lecteur de carte I2C genre carte D2000/D4000 qui a trois fonctions suivant ce qui est programmé dans la carte . Les programmateurs sont de deux modèles, soit une box de programmation : Pocket Programmateur pour Cartes I2C Type D2000/D4000   soit une interface PC  décrite prochainement dans ces pages.

Ctrlcard

Les trois fonctions, au choix sont définies par un octet caché dans la mémoire de la carte lors de l'écriture, ainsi que toutes autres informations, pour validation et affectation (C.F. nominative ou libre de texte).

  1. Autorisation d'accès: Si la carte est reconnue, un relais tire de façon permanente pour la mise en marche de n'importe quel appareil, ou temporisée de 3" pour actionner par exemple une gâche électrique, et un afficheur 2x16 affiche un message contenu dans la carte (Ex.: le nom du titulaire ) et bip. Le retrait de la carte remet le dispositif en veille .
  2. Nombre d'accès comptés: Si la carte est reconnue et programmée à cet effet, chaque introduction et retrait décrémente un nombre contenu dans sa mémoire. Le reste est affiché sur l'afficheur ainsi qu'un message genre identification du titulaire. Un relais tire en permanence tant que la carte reste inserée dans le logement. Si la mémoire de ce compteur est à 0, le message "carte non valide ou épuisée" s'affiche et il ne reste plus qu'a la recharger.
  3. Temps d'utilisation : Si la carte est reconnue et programmée pour cela, l'introduction de la carte débite cycliquement un compteur, stocké sur la carte et colle un relais tant que le compteur n'a pas atteind 0. Le reste des unités est affiché sur le LCD ainsi que tout autre message souhaité. La décrémentation du compteur peut être programmée à la seconde, dizaine de secondes, minutes ou heures suivant un paramétre fixé dans la carte .

 

Ctrlcard hole

 

 

 

Le palpable (matériel)

Tout commence par le schéma:

Ctrlcard sch

                       Un bien connu de ces pages, un PIC16F84A se voit attribuer la fonction de chef d'orchestre pour la gestion de l'afficheur 2x16, du lecteur/écriveur de carte, du relais amplifié en courant par le 2N2222 et du bip. Il est cadencé par un quartz à 4MHz, valeur toute raisonnable;Si vous choisissez d'en changer, il faut recalculer les temporisations. Le POR (Power On Reset) est largement calculé et l'alimentation peut se faire avec une tension alternative ou continue de 7 à 18 volts... Le connecteur JP2 va permettre l'adaptation du montage sur un décodeur externe pour activer une sortie parmi 8 disponibles grâce a un circuit PCF8574 et une interface ULN2003 via le bus I2C. Cette option permettra par exemple de commander un ascenseur ou n'importe quels peripheriques correctement interfacés.

 

La liste du matériel:

Part Value      Device    Package  Description
B1   W04        W04       WM                  
BZ1  BEEPER     BEEPER    BEEPER              
C1   22pF       CAPNP-5   C-5                 
C2   22pF       CAPNP-5   C-5                 
C3   0.1µF      CAPNP-5   C-5                 
C4   0.1µF      CAPNP-10  C-10                
C5   0.22µF     CAPNP-10  C-10                
C8   4.7µF      ELC-2,5   ES-2,5              
C9   1000µF/25V ELC-5     ES-5                
CRD1 I2C-CARD   I2C-CARD  I2C-CARD            
D1   1N4148     DIODE-10  D-10                
DIS1 LCD16X2    LCD16X2   LCD16X2             
J1   BORNIER2   BORNIER2  CLAMP-02            
J2   BORNIER2   BORNIER2  CLAMP-02            
JP1             PINHD-1X2 1X02                
JP2             PINHD-1X4 1X04                
Q1   4Mhz       XTAL/S    QS                  
Q2   2N2222     2N2222    TO-18               
R1   10K        RESEU-10  R-10                
R2   4K7        RESEU-10  R-10                
R3   4K7        RESEU-10  R-10                
R4   12K        RESEU-10  R-10                
R5   20K        POT-L     PT-10               
R6   10K        RESEU-10  R-10                
R7   1K         RESEU-10  R-10                
REL1 12V        RU        RU                  
U1   16F84A     16C84     16C84               
U2   7805T      78XXT     TO-220A  

 

Les circuits imprimés:

 Ctrlcard brd

Ctrlcard cmp

 

Et l'ensemble Zippé au format d'exploitation: 

CtrlcardCtrlcard (29.79 Ko)         

La matière grise

                    Un retour à mes premiers amours : un petit peu de Basic ! le logiciel a été développé  avec BasicPicPro de chez Digimok et compilé en .hex pour tourner dans le PIC16F84 .

Ctrlcard swCtrlcard sw (2.93 Ko)

Il n'est pas exclu que je ne reprenne pas ce logiciel sous Flowcode lors de mes longues soirées d'hiver .

 

Organisation interne de la carte pour la programmation :

L'organisation pour le mode 'acces' est le suivant:
Address  Data         Commentaire
00hex   20hex             Protection contre les coïncidences aleatoires
03hex   'a'                    Choisi la fonction 'Acces'
04hex   'p'                    Si l'on veut maintenir le relais permanent
04hex   ' '                      Si l'on veut maintenir le relais 3 secondes                        

10hex   Txt                   Debut du message....
1Fhex   Txt                  Fin du 1er message (Ex.: NOM)

20hex   Txt                  Debut du 2eme message
2Fhex   Txt                  Fin du 2eme message

30hex   Free                Libre.......


L'organisation pour le mode 'comptage' est le suivant:
Address  Data         Commentaire
00hex   Cent           Chiffre le plus significatif (Centaines)
01hex   Dix             Chiffre des dizaines
02hex   Unit            Chiffre le moins significatif (Unités )
03hex   'c'               Choisi la fonction 'Compt'

10hex   Txt             Debut du message....
1Fhex   Txt             Fin du 1er message (Ex.: Il vous reste:)

20hex   Txt             Debut du 2eme message
2Fhex   Txt             Fin du 2eme message (Ex.:    Unite(s) ! )

30hex   Free           Libre.......(Ex.: NOM)

 

L'organisation pour le mode 'timer' est le suivant:
Address  Data         Commentaire
00hex   Cent          Chiffre le plus significatif
01hex   Dix            Chiffre des dizaines
02hex   Unit           Chiffre le moins significatif
03hex   't'               Choisi la fonction 'Timeur'
04hex   'd'              Base de temps de decrementation (seconde*10)
04hex   'm'             Base de temps de decrementation (minute)
04hex   'h'              Base de temps de decrementation (Heures)

10hex   Txt             Debut du message....
1Fhex   Txt             Fin du 1er message (Ex.: Il vous reste:)

20hex   Txt             Debut du 2eme message
2Fhex   Txt             Fin du 2eme message (Ex.:    Unite(s) ! )

30hex   Free           Libre.......(Ex.: NOM)


L'organisation pour le mode 'decod' est le suivant:
Address  Data         Commentaire
00hex   Cent           Chiffre de la sortie a activer (0 a 7)

03hex   'd'               Choisi la fonction 'decodeur'

10hex   Txt             Debut du message....
1Fhex   Txt             Fin du 1er message (Ex.: Vous allez au:)

20hex   Txt             Debut du 2eme message
2Fhex   Txt             Fin du 2eme message (Ex.:    Etage ! )

30hex   Free           Libre.......(Ex.: NOM)

 

Le décodeur I2C / Décimal utilisé dans ce cas là est un PCF8574 accessible par  l'adresse d'écriture 41hex .

Ajouter un commentaire