dort islem yapan hesap makinesi

Dependencies:   mbed TextLCD keypad

Committer:
marvas
Date:
Sun Dec 15 07:03:21 2019 +0000
Revision:
2:961790ab9dbb
Parent:
1:cb5c15635617
Child:
3:e22883906b56
hatali durumda lcd ekrani silme

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 }
marvas 2:961790ab9dbb 56 lcd.cls()
detay 0:568acc58974f 57 }
detay 0:568acc58974f 58
marvas 1:cb5c15635617 59 int main()
marvas 1:cb5c15635617 60 {
marvas 1:cb5c15635617 61 // Init. RC522 Chip
marvas 1:cb5c15635617 62 RfChip.PCD_Init();
marvas 1:cb5c15635617 63 uint32_t key_num;
marvas 1:cb5c15635617 64 while(true) {
marvas 1:cb5c15635617 65
marvas 1:cb5c15635617 66 while ((key_num = key.read()) != 0) {
marvas 1:cb5c15635617 67 bzr=1;
marvas 1:cb5c15635617 68 wait_ms(10);
marvas 1:cb5c15635617 69 bzr=0;
marvas 1:cb5c15635617 70 sifre[sayac]=*(key_table + key_num-1);
marvas 1:cb5c15635617 71 sayac++;
marvas 1:cb5c15635617 72 lcd.printf("*");
marvas 1:cb5c15635617 73 cout<<*(key_table + key_num-1)<<endl;
marvas 1:cb5c15635617 74 if(sayac==4) {
marvas 1:cb5c15635617 75 sayac=0;
marvas 1:cb5c15635617 76 if(sifre[0]=='1' && sifre[1]=='2' && sifre[2]=='3' && sifre[3]=='A') {
marvas 1:cb5c15635617 77 role=1;
marvas 1:cb5c15635617 78 hata=3;
marvas 1:cb5c15635617 79 lcd.cls();
marvas 1:cb5c15635617 80 lcd.printf("Giris basarili");
marvas 1:cb5c15635617 81 wait(3);
marvas 1:cb5c15635617 82 role=0;
marvas 1:cb5c15635617 83 lcd.cls();
marvas 1:cb5c15635617 84 } else {
marvas 1:cb5c15635617 85 hatametodu();
marvas 1:cb5c15635617 86 }
marvas 1:cb5c15635617 87 lcd.cls();
marvas 1:cb5c15635617 88 }//if(sayac==4) {
marvas 1:cb5c15635617 89
marvas 1:cb5c15635617 90 }// while ((key_num = key.read()) != 0) {
marvas 1:cb5c15635617 91
marvas 1:cb5c15635617 92 // Look for new cards
marvas 1:cb5c15635617 93 if ( ! RfChip.PICC_IsNewCardPresent()) {
marvas 1:cb5c15635617 94 wait_ms(100);
marvas 1:cb5c15635617 95 continue;
marvas 1:cb5c15635617 96 }
marvas 1:cb5c15635617 97
marvas 1:cb5c15635617 98
marvas 1:cb5c15635617 99
marvas 1:cb5c15635617 100 // Select one of the cards
marvas 1:cb5c15635617 101 if ( ! RfChip.PICC_ReadCardSerial()) {
marvas 1:cb5c15635617 102 wait_ms(100);
marvas 1:cb5c15635617 103 continue;
marvas 1:cb5c15635617 104 }
marvas 1:cb5c15635617 105
marvas 1:cb5c15635617 106 // Print Card UID
marvas 1:cb5c15635617 107 printf("Kart ID: ");
marvas 1:cb5c15635617 108 for (uint8_t i = 0; i < RfChip.uid.size; i++) {
marvas 1:cb5c15635617 109 printf(" %X", RfChip.uid.uidByte[i]);
marvas 1:cb5c15635617 110 }
marvas 1:cb5c15635617 111 printf("\n");
marvas 1:cb5c15635617 112
marvas 1:cb5c15635617 113 //kendi kartınızı id'si olacak
marvas 1:cb5c15635617 114 if(RfChip.uid.uidByte[0]==0x76 && RfChip.uid.uidByte[1]==0x45 && RfChip.uid.uidByte[2]==0x55 && RfChip.uid.uidByte[3]==0xF5) {
marvas 1:cb5c15635617 115 hata=3;
marvas 1:cb5c15635617 116 bzr=1;
marvas 1:cb5c15635617 117 lcd.cls();
marvas 1:cb5c15635617 118 lcd.printf("Hosgeldiniz Ayse");
marvas 1:cb5c15635617 119 wait(2);
marvas 1:cb5c15635617 120 bzr=0;
marvas 1:cb5c15635617 121 lcd.cls();
marvas 1:cb5c15635617 122 } else {
marvas 1:cb5c15635617 123 hatametodu();
marvas 1:cb5c15635617 124 }
marvas 1:cb5c15635617 125
marvas 1:cb5c15635617 126
marvas 1:cb5c15635617 127 // Print Card type
marvas 1:cb5c15635617 128 uint8_t piccType = RfChip.PICC_GetType(RfChip.uid.sak);
marvas 1:cb5c15635617 129 printf("PICC Type: %s \n\r", RfChip.PICC_GetTypeName(piccType));
marvas 1:cb5c15635617 130
marvas 1:cb5c15635617 131 }// while(true) {
marvas 1:cb5c15635617 132
marvas 1:cb5c15635617 133 return 0;
marvas 1:cb5c15635617 134 }//main