Kapii_Ornegi

Dependencies:   mbed Servo MFRC522 TextLCD keypad

Committer:
freedaom
Date:
Sun Dec 15 07:46:06 2019 +0000
Revision:
1:ce3de3f1306d
Parent:
0:eb13172d8708
Kapi_Uygulamasi

Who changed what in which revision?

UserRevisionLine numberNew contents of line
freedaom 0:eb13172d8708 1 #include "mbed.h"
freedaom 0:eb13172d8708 2 #include "TextLCD.h"
freedaom 0:eb13172d8708 3 #include "Keypad.h"
freedaom 0:eb13172d8708 4 #include <string>
freedaom 1:ce3de3f1306d 5 #include "MFRC522.h"
freedaom 0:eb13172d8708 6
freedaom 1:ce3de3f1306d 7 #define SIFRE "**123A" // sifreyi kendinize göre değistirebilirsiniz
freedaom 1:ce3de3f1306d 8 #define uzunluk 6 // girdiğiniz sifre ne kadar uzunsa buraya sayısını giriniz
freedaom 0:eb13172d8708 9
freedaom 0:eb13172d8708 10 string sifre= "";
freedaom 0:eb13172d8708 11 uint8_t hata=4;
freedaom 0:eb13172d8708 12
freedaom 0:eb13172d8708 13 char key_table[] = {
freedaom 0:eb13172d8708 14 '1', '2', '3', 'A',
freedaom 0:eb13172d8708 15 '4', '5', '6', 'B',
freedaom 0:eb13172d8708 16 '7', '8', '9', 'C',
freedaom 0:eb13172d8708 17 '*', '0', '#', 'D'
freedaom 0:eb13172d8708 18 };
freedaom 0:eb13172d8708 19
freedaom 0:eb13172d8708 20 Keypad key(PA_12,PA_11,PB_12,PB_2,PB_1,PB_15,PB_14,PB_13);
freedaom 0:eb13172d8708 21 TextLCD lcd(PA_0,PA_1,PA_4,PB_0,PC_1,PC_0); // rs, e, d4-d7..
freedaom 0:eb13172d8708 22
freedaom 0:eb13172d8708 23 DigitalOut buzzer(D7);
freedaom 0:eb13172d8708 24 Servo servo1(PA_15);
freedaom 0:eb13172d8708 25
freedaom 0:eb13172d8708 26 MFRC522 RfChip(PA_7, PA_6, PA_5, PB_6, PC_7);/**/
freedaom 0:eb13172d8708 27
freedaom 1:ce3de3f1306d 28
freedaom 1:ce3de3f1306d 29 void hataliGiris()
freedaom 1:ce3de3f1306d 30 {
freedaom 1:ce3de3f1306d 31 lcd.cls();
freedaom 1:ce3de3f1306d 32 lcd.printf("Hatali Giris..");
freedaom 1:ce3de3f1306d 33 for(uint8_t a = 10; a > 1; a--) {
freedaom 1:ce3de3f1306d 34 buzzer=1;
freedaom 1:ce3de3f1306d 35 wait_ms(50);
freedaom 1:ce3de3f1306d 36 buzzer=0;
freedaom 1:ce3de3f1306d 37 wait_ms(10);
freedaom 1:ce3de3f1306d 38 }
freedaom 1:ce3de3f1306d 39 buzzer=0;
freedaom 1:ce3de3f1306d 40 hata--;
freedaom 1:ce3de3f1306d 41 printf("Hatali Giris..");
freedaom 1:ce3de3f1306d 42 wait(3);
freedaom 1:ce3de3f1306d 43 lcd.cls();
freedaom 1:ce3de3f1306d 44 sifre = "";
freedaom 1:ce3de3f1306d 45 if(hata == 1) {
freedaom 1:ce3de3f1306d 46 hata = 4;
freedaom 1:ce3de3f1306d 47 lcd.printf(" saniye \n bekleyiniz..");
freedaom 1:ce3de3f1306d 48 for(uint8_t sure = 60; sure > 0; sure--) {
freedaom 1:ce3de3f1306d 49 lcd.locate(0,0);
freedaom 1:ce3de3f1306d 50 lcd.printf("%d ",sure);
freedaom 1:ce3de3f1306d 51 wait(1);
freedaom 1:ce3de3f1306d 52 }
freedaom 1:ce3de3f1306d 53 }
freedaom 1:ce3de3f1306d 54 }
freedaom 1:ce3de3f1306d 55
freedaom 0:eb13172d8708 56 int main()
freedaom 0:eb13172d8708 57 {
freedaom 0:eb13172d8708 58 uint32_t key_num;
freedaom 0:eb13172d8708 59 RfChip.PCD_Init();/**/
freedaom 0:eb13172d8708 60
freedaom 0:eb13172d8708 61 Onur:
freedaom 0:eb13172d8708 62
freedaom 0:eb13172d8708 63 lcd.cls();
freedaom 0:eb13172d8708 64 lcd.printf("Sifre : ");
freedaom 0:eb13172d8708 65 printf("Sifre : ");
freedaom 0:eb13172d8708 66
freedaom 0:eb13172d8708 67 while(true) {
freedaom 1:ce3de3f1306d 68 while ((key_num = key.read()) != 0) { // keypada her basıldığında
freedaom 1:ce3de3f1306d 69
freedaom 0:eb13172d8708 70 buzzer=1;
freedaom 0:eb13172d8708 71 wait_ms(50);
freedaom 0:eb13172d8708 72 buzzer=0;
freedaom 0:eb13172d8708 73
freedaom 0:eb13172d8708 74 lcd.printf("*");
freedaom 0:eb13172d8708 75 printf("%c", *(key_table + key_num-1));
freedaom 0:eb13172d8708 76
freedaom 1:ce3de3f1306d 77 sifre += *(key_table + key_num-1); // keypad deki değerler sifre adlı değişkende toplanıyor
freedaom 0:eb13172d8708 78
freedaom 0:eb13172d8708 79 if(uzunluk == sifre.length()) {
freedaom 0:eb13172d8708 80
freedaom 1:ce3de3f1306d 81
freedaom 1:ce3de3f1306d 82 if(sifre == SIFRE) { // eger ki sifremiz dogruysa
freedaom 0:eb13172d8708 83 lcd.cls();
freedaom 0:eb13172d8708 84 lcd.printf("Giris Basarili..");
freedaom 0:eb13172d8708 85 printf("Giris Basarili...");
freedaom 0:eb13172d8708 86 wait(3);
freedaom 0:eb13172d8708 87 lcd.cls();
freedaom 0:eb13172d8708 88 sifre = "";
freedaom 0:eb13172d8708 89 hata=4;
freedaom 0:eb13172d8708 90 goto Onur;
freedaom 1:ce3de3f1306d 91 } else { // eger sifre hataliysa
freedaom 1:ce3de3f1306d 92 hataliGiris();
freedaom 0:eb13172d8708 93 goto Onur;
freedaom 0:eb13172d8708 94 }
freedaom 0:eb13172d8708 95 }
freedaom 0:eb13172d8708 96
freedaom 0:eb13172d8708 97 }
freedaom 0:eb13172d8708 98 wait(0.2);
freedaom 0:eb13172d8708 99 /////////////////////// /*
freedaom 0:eb13172d8708 100 if ( ! RfChip.PICC_IsNewCardPresent()) {
freedaom 0:eb13172d8708 101 wait_ms(100);
freedaom 0:eb13172d8708 102 continue;
freedaom 0:eb13172d8708 103 }
freedaom 0:eb13172d8708 104
freedaom 0:eb13172d8708 105 if ( ! RfChip.PICC_ReadCardSerial()) {
freedaom 0:eb13172d8708 106 wait_ms(100);
freedaom 0:eb13172d8708 107 continue;
freedaom 1:ce3de3f1306d 108 }
freedaom 1:ce3de3f1306d 109
freedaom 1:ce3de3f1306d 110 // kard ID si yazdırılıyor
freedaom 0:eb13172d8708 111 printf("Kart ID: ");
freedaom 0:eb13172d8708 112 for (uint8_t i = 0; i < RfChip.uid.size; i++) {
freedaom 0:eb13172d8708 113 printf(" %X", RfChip.uid.uidByte[i]);
freedaom 0:eb13172d8708 114 }
freedaom 0:eb13172d8708 115 printf("\n");
freedaom 0:eb13172d8708 116
freedaom 1:ce3de3f1306d 117 // kendinize göre dğeiştirmeniz gerekiyor
freedaom 0:eb13172d8708 118 if(RfChip.uid.uidByte[0]==0x53 && RfChip.uid.uidByte[1]==0x25 && RfChip.uid.uidByte[2]==0xB6 && RfChip.uid.uidByte[3]== 0x0) {
freedaom 0:eb13172d8708 119 lcd.cls();
freedaom 0:eb13172d8708 120 lcd.printf("Giris Basarili..");
freedaom 0:eb13172d8708 121 printf("Giris Basarili...\n");
freedaom 0:eb13172d8708 122 wait(3);
freedaom 0:eb13172d8708 123 lcd.cls();
freedaom 0:eb13172d8708 124 sifre = "";
freedaom 0:eb13172d8708 125 hata=4;
freedaom 0:eb13172d8708 126 goto Onur;
freedaom 0:eb13172d8708 127 }
freedaom 1:ce3de3f1306d 128
freedaom 1:ce3de3f1306d 129 else { // RFID da okunan kart yanlis ise
freedaom 1:ce3de3f1306d 130 hataliGiris();
freedaom 1:ce3de3f1306d 131 goto Onur;
freedaom 1:ce3de3f1306d 132 }
freedaom 1:ce3de3f1306d 133
freedaom 1:ce3de3f1306d 134 } // while(true) {
freedaom 1:ce3de3f1306d 135 return 0;
freedaom 1:ce3de3f1306d 136 } // int main()