Controle d'accés à base de pic 16F877A avec clavier4*4
Il s’agit ici d’étudier les différents éléments qui constituent notre système de contrôle d’accès et qui entrent dans la conception de celle-ci. Le système est constituée d’un clavier avec des chiffres et un afficheur LCD. Le clavier et LCD étant les seules parties visibles par l’utilisateur.
La structure principale est composée d’un microcontrôleur PIC qui assure la programmation des codes d’activations.
Ce système aura pour but d’activer des relais pour la commande des dispositifs électroniques ou mécaniques.
Ce système de commande représente le cerveau. Il est constitué de parties bien visibles par l’utilisateur et d’autres qui sont invisibles.
Nous étalons la structure interne de notre projet avec ses différents composants électroniques et nous citons comme composants principaux :
- Un microcontrôleur PIC qui est le cœur de ce circuit.
- Le quartz qui détermine la fréquence avec laquelle fonctionne le PIC.
- L’écran LCD où ils s’affichent les différents messages.
- Le clavier électronique.
- Relai
- Le BUZZER et le moteur
PIC 16F877A
L'intégration du PIC 16F877A dans un schéma électronique est des plus aisées. L'alimentation se fait au travers de deux broches VDD qui requièrent une tension de 5V. Un découplage au travers d'un condensateur est recommandé par le constructeur. La broche MCLR permet un reset matériel du microcontrôleur mais cela n’étant pas utile à l’application, la fonctionnalité est
désactivée par la connexion du pin au Vcc. Aussi, la masse du microcontrôleur doit être connectée à la masse du circuit grâce aux deux entrées VSS.
LCD
L'afficheur est constitué de deux lames de verre, distantes de 20 µm environ, sur lesquelles sont dessinées les mantisses formant les caractères. L'espace entre elles est rempli de cristal liquide normalement réfléchissant (pour les modèles réflectifs). L'application entre les deux faces d'une tension alternative basse fréquence de quelques volts (3 à 5 V) le rend absorbant. Les caractères apparaissent sombres sur fond clair.
Cet afficheur nécessite une alimentation de 5V pour pouvoir alimenter son pilote interne et ainsi permettre l’affichage des caractères sur l’écran. La résistance variable permet de pouvoir modifier le contraste à tout moment. Ce LCD possède huit bits de données, mais seules quatre sont utilisées. Le composant propose en effet un mode de transmission sur 4 bits en passant les caractères en deux temps. Cela économise quatre lignes de données sur le microcontrôleur. Il possède également trois lignes de contrôle : une de lecture ou d’écriture de données sur le LCD, une qui informe si les données servent à la configuration de l’afficheur ou à l’affichage, et une qui avertit l’afficheur qu’un caractère est présent sur le port.
Cablage avec PIC:
Clavier 4*4(keypad)
Ce clavier comprend 16 touches disposées en 4 lignes et 4 colonnes.
L'appui sur une touche fait communiquer une ligne avec une colonne.
Les lignes sont des sorties. Les colonnes sont des entrées maintenues au niveau haut par une résistance interne au pic.
Le système envoie par balayage un niveau bas sur chaque ligne (1 seule à la fois) et balaye les colonnes en lecture.
Quand il lit un niveau bas, c'est que la colonne est reliée par une touche appuyée à la ligne qui est basse à ce moment.
On n'a pas besoin de programmer ce balayage : c'est la bibliothèque qui le fait.
Circuit sur ARES(routage)
conception 3D :
Réalisation
Programation
PIC kit est une famille de programmateurs pour microcontrôleur PIC de Micro chip Technologie.
Le PICKit2 possède une fonction nommée Programmer-To-Go (PTG) qui permet de télécharger le fichier HEX et les instructions de programmation dans sa mémoire intégrée (128KB i2c EEPROM ou 256KB i2c EEPROM) donc aucun ordinateur n'est requis lors de l'application finale.
programme et fonctionnement de système:
Le Programme de notre projet constitue la démarche suivante :
1) Activation de LCD :
Lcd_Init(); // Initialisation de LCD
Lcd_Cmd(_LCD_CLEAR); // Clear display
Lcd_Cmd(_LCD_CURSOR_OFF); // Cursor off
lcd_out(1,4,"Bienvenue");
delay_ms(1000);
Lcd_Cmd(_LCD_CLEAR);
lcd_out(1,1,"Entrer le code:");
2)Activation de clavier :
Keypad_Init();
kp=Keypad_Key_Click() ;
}
while(!kp);
x=read_keypad(kp);
if(i==0) p0=x;
if(i==1) p1=x;
if(i==2) p2=x;
if(i==3) p3=x;
lcd_out(2,6+i,"*"); // affichage des * pour sécuriser le code
--> Après la comparaison le code entré et de code enregistré en mémoire, Il existe deux conditions :
▪ si le code est conforme :
lcd_out(1,1,"code accepte");
ouverture porte(); /// le moteur tourne
Initialisation ()
▪ si le code est non validée :
lcd_out(1,1,"code Errone");
lcd_out(1,1,"Retapez le code:");
-->Cette opération provoque le déclanchement de BUZZER a la troisième fois. lcd_out(1,1,"Porte bloquee!!");
alarme_porte();
JMAL Radhoine
NB: Pour plus de détail contactez moi...
Commentaires
Enregistrer un commentaire