Smart Fridge code

Dependencies:   mbed MFRC522

Committer:
rajas1812
Date:
Mon Apr 15 20:34:43 2019 +0000
Revision:
1:ad028c0c6c6c
Parent:
0:ebf3612d4985
Child:
2:9a39ebd76683
Smart fridge using RFID

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
rajas1812 1:ad028c0c6c6c 19 int counter1 = 0;
rajas1812 1:ad028c0c6c6c 20 int counter2 = 0;
rajas1812 1:ad028c0c6c6c 21
ndgohil 0:ebf3612d4985 22 int main(void) {
ndgohil 0:ebf3612d4985 23
ndgohil 0:ebf3612d4985 24 blue.baud(9600);
ndgohil 0:ebf3612d4985 25 pc.baud(9600);
ndgohil 0:ebf3612d4985 26 printf("Welcome to RFID Tag Reader Using FRDM K64F...\n\r");
ndgohil 0:ebf3612d4985 27 blue.printf("Welcome to RFID Tag Reader Uing FRDM K64F...\n\r");
ndgohil 0:ebf3612d4985 28 printf("Bluetooth Enable\r\n");
ndgohil 0:ebf3612d4985 29 blue.printf("Bluetooth Enable\r\n");
ndgohil 0:ebf3612d4985 30 RfChip.PCD_Init();
ndgohil 0:ebf3612d4985 31
ndgohil 0:ebf3612d4985 32 while (true) {
ndgohil 0:ebf3612d4985 33 LedGreen = 1;
ndgohil 0:ebf3612d4985 34
ndgohil 0:ebf3612d4985 35 // Look for new cards
ndgohil 0:ebf3612d4985 36 if ( ! RfChip.PICC_IsNewCardPresent())
ndgohil 0:ebf3612d4985 37 {
ndgohil 0:ebf3612d4985 38 wait_ms(200);
ndgohil 0:ebf3612d4985 39 continue;
ndgohil 0:ebf3612d4985 40 }
ndgohil 0:ebf3612d4985 41
ndgohil 0:ebf3612d4985 42 // Select one of the cards
ndgohil 0:ebf3612d4985 43 if ( ! RfChip.PICC_ReadCardSerial())
ndgohil 0:ebf3612d4985 44 {
ndgohil 0:ebf3612d4985 45 wait_ms(200);
ndgohil 0:ebf3612d4985 46 continue;
ndgohil 0:ebf3612d4985 47 }
ndgohil 0:ebf3612d4985 48 LedGreen = 0;
ndgohil 0:ebf3612d4985 49 int a=0;
ndgohil 0:ebf3612d4985 50
ndgohil 0:ebf3612d4985 51 // Print Card UID
ndgohil 0:ebf3612d4985 52 printf("Card UID:");
ndgohil 0:ebf3612d4985 53 blue.printf("Card UID:");
ndgohil 0:ebf3612d4985 54 for (uint8_t i = 0; i < RfChip.uid.size; i++)
ndgohil 0:ebf3612d4985 55 {
ndgohil 0:ebf3612d4985 56 printf(" %X02 ", RfChip.uid.uidByte[i]);
ndgohil 0:ebf3612d4985 57 blue.printf(" %X02 ", RfChip.uid.uidByte[i]);
ndgohil 0:ebf3612d4985 58 a = RfChip.uid.uidByte[0];
ndgohil 0:ebf3612d4985 59 }
rajas1812 1:ad028c0c6c6c 60 printf("%d",a);
ndgohil 0:ebf3612d4985 61
ndgohil 0:ebf3612d4985 62 //Print Card Type
rajas1812 1:ad028c0c6c6c 63 if(a==73)
ndgohil 0:ebf3612d4985 64 {
rajas1812 1:ad028c0c6c6c 65 if(counter1 == 0){
rajas1812 1:ad028c0c6c6c 66 printf("\r\nMilk is in the fridge");
ndgohil 0:ebf3612d4985 67 blue.printf("\r\nWhite Card");
rajas1812 1:ad028c0c6c6c 68 counter1 = 1;
ndgohil 0:ebf3612d4985 69 }
rajas1812 1:ad028c0c6c6c 70 else if(counter1 == 1){
rajas1812 1:ad028c0c6c6c 71 printf("\r\nMilk is out of the fridge");
rajas1812 1:ad028c0c6c6c 72 counter1 = 0;
rajas1812 1:ad028c0c6c6c 73 }
rajas1812 1:ad028c0c6c6c 74 }
rajas1812 1:ad028c0c6c6c 75
rajas1812 1:ad028c0c6c6c 76 if(a==207)
ndgohil 0:ebf3612d4985 77 {
rajas1812 1:ad028c0c6c6c 78 if (counter2 == 0)
rajas1812 1:ad028c0c6c6c 79 {
rajas1812 1:ad028c0c6c6c 80 printf("\r\nBeer is in the fridge");
rajas1812 1:ad028c0c6c6c 81 blue.printf("\r\nBlue Keychain");
rajas1812 1:ad028c0c6c6c 82 counter2 = 1;
rajas1812 1:ad028c0c6c6c 83 }
rajas1812 1:ad028c0c6c6c 84 else if (counter2 == 1){
rajas1812 1:ad028c0c6c6c 85 printf("\r\nBeer is out of the fridge");
rajas1812 1:ad028c0c6c6c 86 counter2 = 0;
rajas1812 1:ad028c0c6c6c 87 }
rajas1812 1:ad028c0c6c6c 88 }
rajas1812 1:ad028c0c6c6c 89 //wait(1);
rajas1812 1:ad028c0c6c6c 90 // else
rajas1812 1:ad028c0c6c6c 91 // {
rajas1812 1:ad028c0c6c6c 92 // printf("\r\nUnrecognized");
rajas1812 1:ad028c0c6c6c 93 // blue.printf("\r\nUnrecognized");
rajas1812 1:ad028c0c6c6c 94 //}
ndgohil 0:ebf3612d4985 95 printf("\n\r");
ndgohil 0:ebf3612d4985 96 blue.printf("\n\r");
ndgohil 0:ebf3612d4985 97
ndgohil 0:ebf3612d4985 98 // Print RFID Card type
ndgohil 0:ebf3612d4985 99 uint8_t piccType = RfChip.PICC_GetType(RfChip.uid.sak);
ndgohil 0:ebf3612d4985 100 printf("PICC Type: %s \n\n\r\r", RfChip.PICC_GetTypeName(piccType));
ndgohil 0:ebf3612d4985 101 blue.printf("PICC Type: %s \n\n\r\r", RfChip.PICC_GetTypeName(piccType));
ndgohil 0:ebf3612d4985 102
rajas1812 1:ad028c0c6c6c 103 wait(2);
ndgohil 0:ebf3612d4985 104
ndgohil 0:ebf3612d4985 105 }
ndgohil 0:ebf3612d4985 106 }
ndgohil 0:ebf3612d4985 107