Tanut Choksatchawathi
/
Lost-Found_BOX
sds
Diff: main.cpp
- Revision:
- 0:8b94afcb61eb
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Sun Nov 15 19:38:36 2015 +0000 @@ -0,0 +1,86 @@ +//Test of cheap 13.56 Mhz RFID-RC522 module from eBay +//This code is based on Martin Olejar's MFRC522 library. Minimal changes +//Adapted for Nucleo STM32 F401RE. Should work on other Nucleos too + +//Connect as follows: +//RFID pins -> Nucleo header CN5 (Arduino-compatible header) +//---------------------------------------- +//RFID IRQ=pin5 -> Not used. Leave open +//RFID MISO=pin4 -> Nucleo SPI_MISO=PA_6=D12 +//RFID MOSI=pin3 -> Nucleo SPI_MOSI=PA_7=D11 +//RFID SCK=pin2 -> Nucleo SPI_SCK =PA_5=D13 +//RFID SDA=pin1 -> Nucleo SPI_CS =PB_6=D10 +//RFID RST=pin7 -> Nucleo =PA_9=D8 +//3.3V and Gnd to the respective pins + +#include "mbed.h" +#include "MFRC522.h" +#include "NOKIA_5110.h" +// Nucleo Pin for MFRC522 reset (pick another D pin if you need D8) +#define MF_RESET D8 + +DigitalOut LedGreen(LED1); +DigitalOut spi_address[2] = {SPI_CS,PA_9}; +//Serial connection to PC for output +Serial pc(SERIAL_TX, SERIAL_RX); +PwmOut speaker(D3); +MFRC522 RfChip (SPI_MOSI, SPI_MISO, SPI_SCK, SPI_CS, MF_RESET); + + + + +int main(void) { + + LcdPins myPins; +// myPins.sce = PB_6; + myPins.sce = PB_4; //D5 + myPins.rst = PB_10; //D6 + myPins.dc = PA_8; //D7 + myPins.mosi = PA_7; //SPI_MOSI; + myPins.miso = NC; + myPins.sclk = PA_5; //SPI_SCK; + NokiaLcd myLcd( myPins ); + + myLcd.InitLcd(); // LCD is reset and DDRAM is cleared + myLcd.DrawString("Hello"); + myLcd.stop(); + //RfChip.start(); + pc.printf("starting...\n"); + + // Init. RC522 Chip + RfChip.PCD_Init(); + pc.printf("Begin RFID!\n"); + while (true) { + LedGreen = 1; + // Look for new cards + if ( ! RfChip.PICC_IsNewCardPresent()) + { + wait_ms(500); + continue; + } + + // Select one of the cards + if ( ! RfChip.PICC_ReadCardSerial()) + { + wait_ms(500); + continue; + } + + LedGreen = 0; + + // Print Card UID + pc.printf("Card UID: "); + for (uint8_t i = 0; i < RfChip.uid.size; i++) + { + pc.printf(" %X02", RfChip.uid.uidByte[i]); + } + pc.printf("\n\r"); + + // Print Card type + uint8_t piccType = RfChip.PICC_GetType(RfChip.uid.sak); + pc.printf("PICC Type: %s \n\r", RfChip.PICC_GetTypeName(piccType)); + wait_ms(1000); + + } + +} \ No newline at end of file