Kapii_Ornegi
Dependencies: mbed Servo MFRC522 TextLCD keypad
main.cpp@0:eb13172d8708, 2019-12-15 (annotated)
- Committer:
- freedaom
- Date:
- Sun Dec 15 07:31:34 2019 +0000
- Revision:
- 0:eb13172d8708
- Child:
- 1:ce3de3f1306d
kapi_guvenlik_onur
Who changed what in which revision?
User | Revision | Line number | New 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 | 0:eb13172d8708 | 5 | #include "Servo.h" |
freedaom | 0:eb13172d8708 | 6 | |
freedaom | 0:eb13172d8708 | 7 | #include "MFRC522.h"/**/ |
freedaom | 0:eb13172d8708 | 8 | |
freedaom | 0:eb13172d8708 | 9 | #define SIFRE "**123A" |
freedaom | 0:eb13172d8708 | 10 | #define uzunluk 6 |
freedaom | 0:eb13172d8708 | 11 | |
freedaom | 0:eb13172d8708 | 12 | string sifre= ""; |
freedaom | 0:eb13172d8708 | 13 | uint8_t hata=4; |
freedaom | 0:eb13172d8708 | 14 | |
freedaom | 0:eb13172d8708 | 15 | char key_table[] = { |
freedaom | 0:eb13172d8708 | 16 | '1', '2', '3', 'A', |
freedaom | 0:eb13172d8708 | 17 | '4', '5', '6', 'B', |
freedaom | 0:eb13172d8708 | 18 | '7', '8', '9', 'C', |
freedaom | 0:eb13172d8708 | 19 | '*', '0', '#', 'D' |
freedaom | 0:eb13172d8708 | 20 | }; |
freedaom | 0:eb13172d8708 | 21 | |
freedaom | 0:eb13172d8708 | 22 | Keypad key(PA_12,PA_11,PB_12,PB_2,PB_1,PB_15,PB_14,PB_13); |
freedaom | 0:eb13172d8708 | 23 | TextLCD lcd(PA_0,PA_1,PA_4,PB_0,PC_1,PC_0); // rs, e, d4-d7.. |
freedaom | 0:eb13172d8708 | 24 | |
freedaom | 0:eb13172d8708 | 25 | DigitalOut buzzer(D7); |
freedaom | 0:eb13172d8708 | 26 | Servo servo1(PA_15); |
freedaom | 0:eb13172d8708 | 27 | |
freedaom | 0:eb13172d8708 | 28 | MFRC522 RfChip(PA_7, PA_6, PA_5, PB_6, PC_7);/**/ |
freedaom | 0:eb13172d8708 | 29 | |
freedaom | 0:eb13172d8708 | 30 | int main() |
freedaom | 0:eb13172d8708 | 31 | { |
freedaom | 0:eb13172d8708 | 32 | uint32_t key_num; |
freedaom | 0:eb13172d8708 | 33 | RfChip.PCD_Init();/**/ |
freedaom | 0:eb13172d8708 | 34 | |
freedaom | 0:eb13172d8708 | 35 | Onur: |
freedaom | 0:eb13172d8708 | 36 | |
freedaom | 0:eb13172d8708 | 37 | lcd.cls(); |
freedaom | 0:eb13172d8708 | 38 | servo1.SetPosition(20); |
freedaom | 0:eb13172d8708 | 39 | lcd.printf("Sifre : "); |
freedaom | 0:eb13172d8708 | 40 | printf("Sifre : "); |
freedaom | 0:eb13172d8708 | 41 | |
freedaom | 0:eb13172d8708 | 42 | while(true) { |
freedaom | 0:eb13172d8708 | 43 | while ((key_num = key.read()) != 0) { |
freedaom | 0:eb13172d8708 | 44 | |
freedaom | 0:eb13172d8708 | 45 | buzzer=1; |
freedaom | 0:eb13172d8708 | 46 | wait_ms(50); |
freedaom | 0:eb13172d8708 | 47 | buzzer=0; |
freedaom | 0:eb13172d8708 | 48 | |
freedaom | 0:eb13172d8708 | 49 | lcd.printf("*"); |
freedaom | 0:eb13172d8708 | 50 | printf("%c", *(key_table + key_num-1)); |
freedaom | 0:eb13172d8708 | 51 | |
freedaom | 0:eb13172d8708 | 52 | sifre += *(key_table + key_num-1); |
freedaom | 0:eb13172d8708 | 53 | |
freedaom | 0:eb13172d8708 | 54 | if(uzunluk == sifre.length()) { |
freedaom | 0:eb13172d8708 | 55 | |
freedaom | 0:eb13172d8708 | 56 | if(sifre == SIFRE) { |
freedaom | 0:eb13172d8708 | 57 | lcd.cls(); |
freedaom | 0:eb13172d8708 | 58 | lcd.printf("Giris Basarili.."); |
freedaom | 0:eb13172d8708 | 59 | printf("Giris Basarili..."); |
freedaom | 0:eb13172d8708 | 60 | servo1.SetPosition(150); |
freedaom | 0:eb13172d8708 | 61 | wait(3); |
freedaom | 0:eb13172d8708 | 62 | lcd.cls(); |
freedaom | 0:eb13172d8708 | 63 | sifre = ""; |
freedaom | 0:eb13172d8708 | 64 | hata=4; |
freedaom | 0:eb13172d8708 | 65 | goto Onur; |
freedaom | 0:eb13172d8708 | 66 | } else { |
freedaom | 0:eb13172d8708 | 67 | lcd.cls(); |
freedaom | 0:eb13172d8708 | 68 | lcd.printf("Hatali Giris.."); |
freedaom | 0:eb13172d8708 | 69 | for(uint8_t a = 10; a > 1; a--) { |
freedaom | 0:eb13172d8708 | 70 | buzzer=1; |
freedaom | 0:eb13172d8708 | 71 | wait_ms(50); |
freedaom | 0:eb13172d8708 | 72 | buzzer=0; |
freedaom | 0:eb13172d8708 | 73 | wait_ms(10); |
freedaom | 0:eb13172d8708 | 74 | } |
freedaom | 0:eb13172d8708 | 75 | buzzer=0; |
freedaom | 0:eb13172d8708 | 76 | hata--; |
freedaom | 0:eb13172d8708 | 77 | printf("Hatali Giris.."); |
freedaom | 0:eb13172d8708 | 78 | servo1.SetPosition(20); |
freedaom | 0:eb13172d8708 | 79 | wait(3); |
freedaom | 0:eb13172d8708 | 80 | lcd.cls(); |
freedaom | 0:eb13172d8708 | 81 | sifre = ""; |
freedaom | 0:eb13172d8708 | 82 | if(hata == 1) { |
freedaom | 0:eb13172d8708 | 83 | hata = 4; |
freedaom | 0:eb13172d8708 | 84 | lcd.printf(" saniye \n bekleyiniz.."); |
freedaom | 0:eb13172d8708 | 85 | for(uint8_t sure = 60; sure > 0; sure--) { |
freedaom | 0:eb13172d8708 | 86 | lcd.locate(0,0); |
freedaom | 0:eb13172d8708 | 87 | lcd.printf("%d ",sure); |
freedaom | 0:eb13172d8708 | 88 | wait(1); |
freedaom | 0:eb13172d8708 | 89 | } |
freedaom | 0:eb13172d8708 | 90 | } |
freedaom | 0:eb13172d8708 | 91 | goto Onur; |
freedaom | 0:eb13172d8708 | 92 | } |
freedaom | 0:eb13172d8708 | 93 | } |
freedaom | 0:eb13172d8708 | 94 | |
freedaom | 0:eb13172d8708 | 95 | } |
freedaom | 0:eb13172d8708 | 96 | wait(0.2); |
freedaom | 0:eb13172d8708 | 97 | /////////////////////// /* |
freedaom | 0:eb13172d8708 | 98 | if ( ! RfChip.PICC_IsNewCardPresent()) { |
freedaom | 0:eb13172d8708 | 99 | wait_ms(100); |
freedaom | 0:eb13172d8708 | 100 | continue; |
freedaom | 0:eb13172d8708 | 101 | } |
freedaom | 0:eb13172d8708 | 102 | |
freedaom | 0:eb13172d8708 | 103 | if ( ! RfChip.PICC_ReadCardSerial()) { |
freedaom | 0:eb13172d8708 | 104 | wait_ms(100); |
freedaom | 0:eb13172d8708 | 105 | continue; |
freedaom | 0:eb13172d8708 | 106 | } |
freedaom | 0:eb13172d8708 | 107 | |
freedaom | 0:eb13172d8708 | 108 | printf("Kart ID: "); |
freedaom | 0:eb13172d8708 | 109 | for (uint8_t i = 0; i < RfChip.uid.size; i++) { |
freedaom | 0:eb13172d8708 | 110 | printf(" %X", RfChip.uid.uidByte[i]); |
freedaom | 0:eb13172d8708 | 111 | } |
freedaom | 0:eb13172d8708 | 112 | printf("\n"); |
freedaom | 0:eb13172d8708 | 113 | |
freedaom | 0:eb13172d8708 | 114 | if(RfChip.uid.uidByte[0]==0x53 && RfChip.uid.uidByte[1]==0x25 && RfChip.uid.uidByte[2]==0xB6 && RfChip.uid.uidByte[3]== 0x0) { |
freedaom | 0:eb13172d8708 | 115 | lcd.cls(); |
freedaom | 0:eb13172d8708 | 116 | lcd.printf("Giris Basarili.."); |
freedaom | 0:eb13172d8708 | 117 | printf("Giris Basarili...\n"); |
freedaom | 0:eb13172d8708 | 118 | servo1.SetPosition(150); |
freedaom | 0:eb13172d8708 | 119 | wait(3); |
freedaom | 0:eb13172d8708 | 120 | lcd.cls(); |
freedaom | 0:eb13172d8708 | 121 | sifre = ""; |
freedaom | 0:eb13172d8708 | 122 | hata=4; |
freedaom | 0:eb13172d8708 | 123 | goto Onur; |
freedaom | 0:eb13172d8708 | 124 | } |
freedaom | 0:eb13172d8708 | 125 | |
freedaom | 0:eb13172d8708 | 126 | else { |
freedaom | 0:eb13172d8708 | 127 | lcd.cls(); |
freedaom | 0:eb13172d8708 | 128 | lcd.printf("Hatali Giris.."); |
freedaom | 0:eb13172d8708 | 129 | for(uint8_t a = 10; a > 1; a--) { |
freedaom | 0:eb13172d8708 | 130 | buzzer=1; |
freedaom | 0:eb13172d8708 | 131 | wait_ms(50); |
freedaom | 0:eb13172d8708 | 132 | buzzer=0; |
freedaom | 0:eb13172d8708 | 133 | wait_ms(10); |
freedaom | 0:eb13172d8708 | 134 | } |
freedaom | 0:eb13172d8708 | 135 | buzzer=0; |
freedaom | 0:eb13172d8708 | 136 | hata--; |
freedaom | 0:eb13172d8708 | 137 | printf("Hatali Giris..\n"); |
freedaom | 0:eb13172d8708 | 138 | servo1.SetPosition(20); |
freedaom | 0:eb13172d8708 | 139 | wait(3); |
freedaom | 0:eb13172d8708 | 140 | lcd.cls(); |
freedaom | 0:eb13172d8708 | 141 | sifre = ""; |
freedaom | 0:eb13172d8708 | 142 | if(hata == 1) { |
freedaom | 0:eb13172d8708 | 143 | hata = 4; |
freedaom | 0:eb13172d8708 | 144 | lcd.printf(" saniye \n bekleyiniz.."); |
freedaom | 0:eb13172d8708 | 145 | for(uint8_t sure = 60; sure > 0; sure--) { |
freedaom | 0:eb13172d8708 | 146 | lcd.locate(0,0); |
freedaom | 0:eb13172d8708 | 147 | lcd.printf("%d ",sure); |
freedaom | 0:eb13172d8708 | 148 | wait(1); |
freedaom | 0:eb13172d8708 | 149 | } |
freedaom | 0:eb13172d8708 | 150 | } |
freedaom | 0:eb13172d8708 | 151 | goto Onur; |
freedaom | 0:eb13172d8708 | 152 | } |
freedaom | 0:eb13172d8708 | 153 | return 0; |
freedaom | 0:eb13172d8708 | 154 | } |
freedaom | 0:eb13172d8708 | 155 | } |