RFID Tag Reader with Bluetooth Module HC-06 . Detected RFID Tag data are sent to Putty Screen using serial communication and to Android Device using Blueterm-2 application screen using Bluetooth module

Dependencies:   MFRC522 mbed

Committer:
ndgohil
Date:
Fri Mar 25 22:37:10 2016 +0000
Revision:
0:ebf3612d4985
RFID Tag Reader with Bluetooth module HC-06

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ndgohil 0:ebf3612d4985 1 #include "mbed.h"
ndgohil 0:ebf3612d4985 2 #include "MFRC522.h"
ndgohil 0:ebf3612d4985 3 // FRDM-K64F (Freescale) Pin for MFRC522 reset
ndgohil 0:ebf3612d4985 4 #define MF_RESET PTD0
ndgohil 0:ebf3612d4985 5 #define SERIAL_1
ndgohil 0:ebf3612d4985 6
ndgohil 0:ebf3612d4985 7 DigitalOut LedGreen(LED2);
ndgohil 0:ebf3612d4985 8
ndgohil 0:ebf3612d4985 9 //Serial connection to PC for output
ndgohil 0:ebf3612d4985 10 Serial pc(PTC17, PTC16); // serial comm on the FRDM board
ndgohil 0:ebf3612d4985 11
ndgohil 0:ebf3612d4985 12 //wireless bluetooth connection to Android Device for output
ndgohil 0:ebf3612d4985 13 Serial blue(PTC15, PTC14);
ndgohil 0:ebf3612d4985 14
ndgohil 0:ebf3612d4985 15
ndgohil 0:ebf3612d4985 16 //MFRC522 RfChip (SPI_MOSI, SPI_MISO, SPI_SCK, SPI_CS, MF_RESET);
ndgohil 0:ebf3612d4985 17 MFRC522 RfChip (PTD2, PTD3, PTD1, PTE25, PTD0);
ndgohil 0:ebf3612d4985 18
ndgohil 0:ebf3612d4985 19 int main(void) {
ndgohil 0:ebf3612d4985 20
ndgohil 0:ebf3612d4985 21 blue.baud(9600);
ndgohil 0:ebf3612d4985 22 pc.baud(9600);
ndgohil 0:ebf3612d4985 23 printf("Welcome to RFID Tag Reader Using FRDM K64F...\n\r");
ndgohil 0:ebf3612d4985 24 blue.printf("Welcome to RFID Tag Reader Uing FRDM K64F...\n\r");
ndgohil 0:ebf3612d4985 25 printf("Bluetooth Enable\r\n");
ndgohil 0:ebf3612d4985 26 blue.printf("Bluetooth Enable\r\n");
ndgohil 0:ebf3612d4985 27 RfChip.PCD_Init();
ndgohil 0:ebf3612d4985 28
ndgohil 0:ebf3612d4985 29 while (true) {
ndgohil 0:ebf3612d4985 30 LedGreen = 1;
ndgohil 0:ebf3612d4985 31
ndgohil 0:ebf3612d4985 32 // Look for new cards
ndgohil 0:ebf3612d4985 33 if ( ! RfChip.PICC_IsNewCardPresent())
ndgohil 0:ebf3612d4985 34 {
ndgohil 0:ebf3612d4985 35 wait_ms(200);
ndgohil 0:ebf3612d4985 36 continue;
ndgohil 0:ebf3612d4985 37 }
ndgohil 0:ebf3612d4985 38
ndgohil 0:ebf3612d4985 39 // Select one of the cards
ndgohil 0:ebf3612d4985 40 if ( ! RfChip.PICC_ReadCardSerial())
ndgohil 0:ebf3612d4985 41 {
ndgohil 0:ebf3612d4985 42 wait_ms(200);
ndgohil 0:ebf3612d4985 43 continue;
ndgohil 0:ebf3612d4985 44 }
ndgohil 0:ebf3612d4985 45 LedGreen = 0;
ndgohil 0:ebf3612d4985 46 int a=0;
ndgohil 0:ebf3612d4985 47
ndgohil 0:ebf3612d4985 48 // Print Card UID
ndgohil 0:ebf3612d4985 49 printf("Card UID:");
ndgohil 0:ebf3612d4985 50 blue.printf("Card UID:");
ndgohil 0:ebf3612d4985 51 for (uint8_t i = 0; i < RfChip.uid.size; i++)
ndgohil 0:ebf3612d4985 52 {
ndgohil 0:ebf3612d4985 53 printf(" %X02 ", RfChip.uid.uidByte[i]);
ndgohil 0:ebf3612d4985 54 blue.printf(" %X02 ", RfChip.uid.uidByte[i]);
ndgohil 0:ebf3612d4985 55 a = RfChip.uid.uidByte[0];
ndgohil 0:ebf3612d4985 56 }
ndgohil 0:ebf3612d4985 57
ndgohil 0:ebf3612d4985 58 //Print Card Type
ndgohil 0:ebf3612d4985 59 if(a==117 || a==177)
ndgohil 0:ebf3612d4985 60 {
ndgohil 0:ebf3612d4985 61 printf("\r\nWhite Card");
ndgohil 0:ebf3612d4985 62 blue.printf("\r\nWhite Card");
ndgohil 0:ebf3612d4985 63 }
ndgohil 0:ebf3612d4985 64 else if(a==226 || a==20)
ndgohil 0:ebf3612d4985 65 {
ndgohil 0:ebf3612d4985 66 printf("\r\nBlue Keychain");
ndgohil 0:ebf3612d4985 67 blue.printf("\r\nBlue Keychain");
ndgohil 0:ebf3612d4985 68 }
ndgohil 0:ebf3612d4985 69 else
ndgohil 0:ebf3612d4985 70 {
ndgohil 0:ebf3612d4985 71 printf("\r\nUnrecognized");
ndgohil 0:ebf3612d4985 72 blue.printf("\r\nUnrecognized");
ndgohil 0:ebf3612d4985 73 }
ndgohil 0:ebf3612d4985 74 printf("\n\r");
ndgohil 0:ebf3612d4985 75 blue.printf("\n\r");
ndgohil 0:ebf3612d4985 76
ndgohil 0:ebf3612d4985 77 // Print RFID Card type
ndgohil 0:ebf3612d4985 78 uint8_t piccType = RfChip.PICC_GetType(RfChip.uid.sak);
ndgohil 0:ebf3612d4985 79 printf("PICC Type: %s \n\n\r\r", RfChip.PICC_GetTypeName(piccType));
ndgohil 0:ebf3612d4985 80 blue.printf("PICC Type: %s \n\n\r\r", RfChip.PICC_GetTypeName(piccType));
ndgohil 0:ebf3612d4985 81
ndgohil 0:ebf3612d4985 82 wait_ms(200);
ndgohil 0:ebf3612d4985 83
ndgohil 0:ebf3612d4985 84 }
ndgohil 0:ebf3612d4985 85 }
ndgohil 0:ebf3612d4985 86