RFID kart okuyucu kullanimi. MFRC522
Dependencies: mbed MFRC522 TextLCD keypad
main.cpp
- Committer:
- marvas
- Date:
- 2018-12-15
- Revision:
- 1:77bee052ac90
- Parent:
- 0:911799228106
File content as of revision 1:77bee052ac90:
#include "mbed.h" #include "MFRC522.h" #include "keypad.h" #include "TextLCD.h" #define SPI_MOSI D4 #define SPI_MISO D5 #define SPI_SCLK D3 #define SPI_CS A0//sda pin durumu farketmiyor. #define MF_RESET A1//sda pin durumu farketmiyor. char sifre[4],sayac=0; Serial pc(USBTX, USBRX); TextLCD lcd(PB_13, PB_14, PB_15, PB_1, PB_2, PB_12); // rs, e, d4-d7 pin bağlantıları char Keytable[] = { '1', '2', '3', 'A', '4', '5', '6', 'B', '7', '8', '9', 'C', '*', '0', '#', 'D' }; uint32_t cbAfterInput(uint32_t index) { wait_ms(400); sifre[sayac]=Keytable[index]; lcd.printf("*"); if(sayac==3) { if(sifre[0]=='4' && sifre[1]=='5' && sifre[2]=='6' && sifre[3]=='B') { lcd.cls(); pc.printf("Giris Basarili \n"); lcd.printf("Giris Basarili"); wait(3); lcd.cls(); sayac=-1; for(char x=0;x<4;x++) { sifre[x]=0; } } else { lcd.cls(); pc.printf("Giris Basarisiz \n"); lcd.printf("Giris Basarisiz"); wait(3); lcd.cls(); sayac=-1; for(char x=0;x<4;x++) { sifre[x]=0; } } } sayac++; return 0; } MFRC522 RfChip (SPI_MOSI, SPI_MISO, SPI_SCLK, SPI_CS, MF_RESET); int main(void) { Keypad keypad(D13, D12, D11, D10, D9, D8, D7, D6); keypad.CallAfterInput(&cbAfterInput); keypad.Start(); pc.baud(250000); // Init. RC522 Chip RfChip.PCD_Init(); while (true) { // Look for new cards if ( ! RfChip.PICC_IsNewCardPresent()) { wait_ms(100); continue; } // Select one of the cards if ( ! RfChip.PICC_ReadCardSerial()) { wait_ms(100); continue; } // Print Card UID printf("Card UID: "); for (uint8_t i = 0; i < RfChip.uid.size; i++) { pc.printf(" %X", RfChip.uid.uidByte[i]); } printf("\n\r"); if(RfChip.uid.uidByte[0]==0x76 && RfChip.uid.uidByte[1]==0xEC && RfChip.uid.uidByte[2]==0xCA && RfChip.uid.uidByte[3]==0x1F) { pc.printf("Giris Basarili \n"); } // Print Card type uint8_t piccType = RfChip.PICC_GetType(RfChip.uid.sak); printf("PICC Type: %s \n\r", RfChip.PICC_GetTypeName(piccType)); wait_ms(500); } }