Dans ce projet, nous allons développer un système de sécurité basé sur la RFID et le clavier. Ce projet est mis en œuvre à l'aide du microcontrôleur 8051. La technologie RFID (identification et détection par radiofréquence) est couramment utilisée dans les écoles, les collèges, les bureaux et les stations à diverses fins pour authentifier automatiquement les personnes avec des étiquettes RFID valides. Ici, nous vérifierons l'étiquette RFID, ainsi qu'un mot de passe associé à l'étiquette, pour sécuriser le système.
Travail
Nous pouvons diviser le système de sécurité complet en différentes sections - section lecteur, clavier, section contrôle, section pilote et section affichage. Le fonctionnement de l'ensemble du système et le rôle de chaque section peuvent être compris à travers le schéma fonctionnel ci-dessous.
Section Lecteur: Cette section contient un RFID, qui est un appareil électronique qui a deux parties - l'une est un lecteur RFID et l'autre est une étiquette ou une carte RFID. Lorsque nous plaçons une étiquette RFID près du lecteur RFID, elle lit les données de l'étiquette en série. L'étiquette RFID que nous avons utilisée ici a un code de caractère à 12 chiffres ou un numéro de série. Cette RFID fonctionne à une vitesse de transmission de 9600 bps.
Clavier: Ici, nous avons utilisé un clavier matriciel 4x4 pour saisir le mot de passe du système.
Section de contrôle: le microcontrôleur 8051 est utilisé pour contrôler le processus complet de ce système de sécurité basé sur RFID. Ici, en utilisant 8051, nous recevons des données RFID et envoyons des états ou des messages à l'écran LCD.
Section d'affichage: L' écran LCD 6x2 est utilisé dans ce projet pour afficher des messages dessus. Ici vous pouvez voir le tutoriel: Interface LCD avec le microcontrôleur 8051
Section Driver: Cette section a un driver de moteur L293D pour l'ouverture du portail et un buzzer avec un transistor BC547 NPN pour les indications.
Lorsqu'une personne met son étiquette RFID sur un lecteur RFID, la RFID lit les données de l'étiquette et l'envoie au microcontrôleur 8051, puis le microcontrôleur compare ces données avec des données prédéfinies. Si les données correspondent aux données prédéfinies, le microcontrôleur demande le mot de passe et après avoir entré le mot de passe, le microcontrôleur compare le mot de passe avec le mot de passe prédéfini. Si la porte de correspondance du mot de passe s'ouvre, sinon l'écran LCD affiche Accès refusé et le buzzer émet un bip pendant un certain temps.
Schéma de circuit et explication
Comme indiqué dans le schéma de circuit du système de sécurité RFID ci-dessus, l'écran LCD 16x2 est connecté en mode quatre bits avec un microcontrôleur. Les broches RS, RW et EN de l'écran LCD sont directement connectées aux broches du PORT 1 numéro P1.0, P1.1 et P1.2. Les broches D4, D5, D6 et D7 de l'écran LCD sont directement connectées aux broches P1.4, P1.5, P1.6 et P1.7 du port 1. Le pilote de moteur est connecté aux broches du PORT numéro P2.4 et P2.5. Et le buzzer est connecté en P2.6 au PORT2. Et le clavier est connecté au PORT0. Les lignes de clavier sont connectées à P0.4 - P0.7 et les colonnes sont connectées à P0.0 - P0.3.
Explication du programme
Lors de la programmation du microcontrôleur 8051 pour le système de sécurité RFID, nous incluons tout d'abord des fichiers d'en-tête et définissons les broches et les variables d'entrée et de sortie.
#comprendre
Définissez ensuite les broches du module de clavier.
sbit col1 = P0 ^ 0; sbit col2 = P0 ^ 1; sbit col3 = P0 ^ 2; sbit col4 = P0 ^ 3; sbit row1 = P0 ^ 4; sbit row2 = P0 ^ 5; sbit row3 = P0 ^ 6; sbit row4 = P0 ^ 7;
Après cela, nous avons créé une fonction pour le retard.
délai vide (int itime) {int i, j; pour (i = 0; i
Ensuite, nous créons une fonction pour l'écran LCD et initialisons la fonction LCD, void lcd_init (void) {lcdcmd (0x02); lcdcmd (0x28); lcdcmd (0x0e); lcdcmd (0x01); }
Ici, nous avons une fonction que nous avons utilisée dans notre programme. En cela, nous avons configuré un débit en bauds de 9600 bps à une fréquence de cristal de 11,0592 MHz et, pour la réception, nous surveillons le registre SBUF pour la réception de données.
void uart_init () {TMOD = 0x20; SCON = 0x50; TH1 = 0xfd; TR1 = 1; } char rxdata () {while (! RI); ch = SBUF; RI = 0; return ch; }
Après cela, dans le programme principal, nous avons initialisé lcd et Uart, puis nous lisons la sortie de la RFID lorsqu'une étiquette est appliquée. Nous stockons cette chaîne dans un tableau, puis nous la mettons en correspondance avec les données de tableau prédéfinies. Et puis faites correspondre le mot de passe.
if (strncmp (rfid, "160066A5EC39", 12) == 0) {clavier (); if (strncmp (pass, "4201", 4) == 0) {accept (); lcdcmd (1); lcdstring ("Accès accordé"); lcdcmd (0xc0);
Si une correspondance se produit, le contrôleur ouvre la porte, sinon le buzzer démarre et l'écran LCD affiche une carte invalide.