kapi guvenlik uygulamasi(RFID,KEypad,LCD,BUZZER,ROLE)

Dependencies:   mbed MFRC522 TextLCD keypad

Committer:
marvas
Date:
Sun Dec 15 07:38:26 2019 +0000
Revision:
3:e22883906b56
Parent:
2:961790ab9dbb
hatalar giderildi_pc.baud

Who changed what in which revision?

UserRevisionLine numberNew contents of line
detay 0:568acc58974f 1 #include "mbed.h"
detay 0:568acc58974f 2 #include "TextLCD.h"
detay 0:568acc58974f 3 #include "Keypad.h"
marvas 1:cb5c15635617 4 #include <iostream>
marvas 1:cb5c15635617 5 #include "MFRC522.h"
marvas 1:cb5c15635617 6
marvas 3:e22883906b56 7 Serial pc(USBTX,USBRX);
marvas 1:cb5c15635617 8 //KL25Z Pins for MFRC522 SPI interface
marvas 1:cb5c15635617 9 #define SPI_MOSI PA_7 //Master output slave input
marvas 1:cb5c15635617 10 #define SPI_MISO PA_6 //Master input slave Output
marvas 1:cb5c15635617 11 #define SPI_SCLK PA_5 //SCK Clock pulse saat darbesi
marvas 1:cb5c15635617 12 #define SPI_CS PB_6 //SDA data pini
marvas 1:cb5c15635617 13 // KL25Z Pin for MFRC522 reset
marvas 1:cb5c15635617 14 #define MF_RESET PC_7 //RST
marvas 1:cb5c15635617 15
marvas 1:cb5c15635617 16 MFRC522 RfChip(SPI_MOSI, SPI_MISO, SPI_SCLK, SPI_CS, MF_RESET);
marvas 1:cb5c15635617 17 DigitalOut bzr(PB_7);
marvas 1:cb5c15635617 18 DigitalOut role(PA_5);
marvas 1:cb5c15635617 19 char sifre[4];
marvas 1:cb5c15635617 20 uint8_t sayac=0;
marvas 1:cb5c15635617 21 uint8_t hata=3;
marvas 1:cb5c15635617 22 char basilantus;
detay 0:568acc58974f 23 TextLCD lcd(PB_0,PA_4,PC_3,PC_2,PB_3,PA_10);
detay 0:568acc58974f 24 Keypad key(PC_12, PC_10, PC_11,PD_2,PA_13,PA_14,PA_15,PC_8);
marvas 1:cb5c15635617 25 char key_table[] = {
marvas 1:cb5c15635617 26 '1', '2', '3', 'A',
marvas 1:cb5c15635617 27 '4', '5', '6', 'B',
marvas 1:cb5c15635617 28 '7', '8', '9', 'C',
marvas 1:cb5c15635617 29 '*', '0', '#', 'D'
detay 0:568acc58974f 30 };
marvas 1:cb5c15635617 31
marvas 1:cb5c15635617 32 void hatametodu()
marvas 1:cb5c15635617 33 {
detay 0:568acc58974f 34
marvas 1:cb5c15635617 35 lcd.cls();
marvas 1:cb5c15635617 36 bzr=0;
marvas 1:cb5c15635617 37 role=0;
marvas 1:cb5c15635617 38 lcd.printf("Giris basarisiz");
marvas 1:cb5c15635617 39 for(uint8_t x=0; x<20; x++) {
marvas 1:cb5c15635617 40 bzr=1;
marvas 1:cb5c15635617 41 wait_ms(50);
marvas 1:cb5c15635617 42 bzr=0;
marvas 1:cb5c15635617 43 wait_ms(10);
marvas 1:cb5c15635617 44 }
marvas 1:cb5c15635617 45 hata--;
marvas 1:cb5c15635617 46 if(hata==0) {
marvas 1:cb5c15635617 47 lcd.cls();
marvas 1:cb5c15635617 48 hata=3;
marvas 1:cb5c15635617 49 for(uint8_t sure=10; sure>0; sure--) {
marvas 1:cb5c15635617 50 lcd.locate(0,0);
marvas 1:cb5c15635617 51 lcd.printf("%d",sure);
marvas 1:cb5c15635617 52 lcd.printf(" ");
marvas 1:cb5c15635617 53 wait(1);
marvas 1:cb5c15635617 54 }
marvas 1:cb5c15635617 55
marvas 1:cb5c15635617 56 }
marvas 3:e22883906b56 57 lcd.cls();
detay 0:568acc58974f 58 }
detay 0:568acc58974f 59
marvas 1:cb5c15635617 60 int main()
marvas 1:cb5c15635617 61 {
marvas 3:e22883906b56 62 pc.baud(9600);
marvas 1:cb5c15635617 63 // Init. RC522 Chip
marvas 1:cb5c15635617 64 RfChip.PCD_Init();
marvas 1:cb5c15635617 65 uint32_t key_num;
marvas 1:cb5c15635617 66 while(true) {
marvas 1:cb5c15635617 67
marvas 1:cb5c15635617 68 while ((key_num = key.read()) != 0) {
marvas 1:cb5c15635617 69 bzr=1;
marvas 1:cb5c15635617 70 wait_ms(10);
marvas 1:cb5c15635617 71 bzr=0;
marvas 1:cb5c15635617 72 sifre[sayac]=*(key_table + key_num-1);
marvas 1:cb5c15635617 73 sayac++;
marvas 1:cb5c15635617 74 lcd.printf("*");
marvas 1:cb5c15635617 75 cout<<*(key_table + key_num-1)<<endl;
marvas 1:cb5c15635617 76 if(sayac==4) {
marvas 1:cb5c15635617 77 sayac=0;
marvas 1:cb5c15635617 78 if(sifre[0]=='1' && sifre[1]=='2' && sifre[2]=='3' && sifre[3]=='A') {
marvas 1:cb5c15635617 79 role=1;
marvas 1:cb5c15635617 80 hata=3;
marvas 1:cb5c15635617 81 lcd.cls();
marvas 1:cb5c15635617 82 lcd.printf("Giris basarili");
marvas 1:cb5c15635617 83 wait(3);
marvas 1:cb5c15635617 84 role=0;
marvas 1:cb5c15635617 85 lcd.cls();
marvas 1:cb5c15635617 86 } else {
marvas 1:cb5c15635617 87 hatametodu();
marvas 1:cb5c15635617 88 }
marvas 1:cb5c15635617 89 lcd.cls();
marvas 1:cb5c15635617 90 }//if(sayac==4) {
marvas 1:cb5c15635617 91
marvas 1:cb5c15635617 92 }// while ((key_num = key.read()) != 0) {
marvas 1:cb5c15635617 93
marvas 1:cb5c15635617 94 // Look for new cards
marvas 3:e22883906b56 95 if (RfChip.PICC_IsNewCardPresent()) {
marvas 3:e22883906b56 96 wait_ms(10);
marvas 1:cb5c15635617 97 continue;
marvas 1:cb5c15635617 98 }
marvas 1:cb5c15635617 99
marvas 1:cb5c15635617 100
marvas 1:cb5c15635617 101
marvas 1:cb5c15635617 102 // Select one of the cards
marvas 1:cb5c15635617 103 if ( ! RfChip.PICC_ReadCardSerial()) {
marvas 3:e22883906b56 104 wait_ms(10);
marvas 1:cb5c15635617 105 continue;
marvas 1:cb5c15635617 106 }
marvas 1:cb5c15635617 107
marvas 1:cb5c15635617 108 // Print Card UID
marvas 1:cb5c15635617 109 printf("Kart ID: ");
marvas 1:cb5c15635617 110 for (uint8_t i = 0; i < RfChip.uid.size; i++) {
marvas 3:e22883906b56 111 pc.printf(" %X", RfChip.uid.uidByte[i]);
marvas 1:cb5c15635617 112 }
marvas 3:e22883906b56 113 pc.printf("\n");
marvas 1:cb5c15635617 114
marvas 1:cb5c15635617 115 //kendi kartınızı id'si olacak
marvas 1:cb5c15635617 116 if(RfChip.uid.uidByte[0]==0x76 && RfChip.uid.uidByte[1]==0x45 && RfChip.uid.uidByte[2]==0x55 && RfChip.uid.uidByte[3]==0xF5) {
marvas 1:cb5c15635617 117 hata=3;
marvas 1:cb5c15635617 118 bzr=1;
marvas 1:cb5c15635617 119 lcd.cls();
marvas 1:cb5c15635617 120 lcd.printf("Hosgeldiniz Ayse");
marvas 1:cb5c15635617 121 wait(2);
marvas 1:cb5c15635617 122 bzr=0;
marvas 1:cb5c15635617 123 lcd.cls();
marvas 1:cb5c15635617 124 } else {
marvas 1:cb5c15635617 125 hatametodu();
marvas 1:cb5c15635617 126 }
marvas 1:cb5c15635617 127
marvas 1:cb5c15635617 128
marvas 1:cb5c15635617 129 // Print Card type
marvas 1:cb5c15635617 130 uint8_t piccType = RfChip.PICC_GetType(RfChip.uid.sak);
marvas 3:e22883906b56 131 pc.printf("PICC Type: %s \n\r", RfChip.PICC_GetTypeName(piccType));
marvas 1:cb5c15635617 132
marvas 1:cb5c15635617 133 }// while(true) {
marvas 1:cb5c15635617 134
marvas 3:e22883906b56 135
marvas 1:cb5c15635617 136 }//main