dort islem yapan hesap makinesi

Dependencies:   mbed TextLCD keypad

Committer:
marvas
Date:
Sun Dec 15 06:44:00 2019 +0000
Revision:
1:cb5c15635617
Parent:
0:568acc58974f
Child:
2:961790ab9dbb
kapi guvenlik uygulamasi(RFID,KEypad,LCD,BUZZER,ROLE)

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