fermigadda / Mbed 2 deprecated RFID-RC522

Dependencies:   mbed Servo

Files at this revision

API Documentation at this revision

Comitter:
mariangelamone
Date:
Tue Jan 22 22:22:11 2019 +0000
Parent:
2:a0c7513fb634
Commit message:
chiave elettronica con RFID

Changed in this revision

Servo.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Servo.lib	Tue Jan 22 22:22:11 2019 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/simon/code/Servo/#36b69a7ced07
--- a/main.cpp	Fri Jun 06 03:04:48 2014 +0000
+++ b/main.cpp	Tue Jan 22 22:22:11 2019 +0000
@@ -1,3 +1,4 @@
+
 //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
@@ -15,26 +16,29 @@
                               
 #include "mbed.h"
 #include "MFRC522.h"
-
+#include "Servo.h"
 // Nucleo Pin for MFRC522 reset (pick another D pin if you need D8)
 #define MF_RESET    D8
-
-DigitalOut LedGreen(LED1);
-
+#define PWMA PC_8
 //Serial connection to PC for output
 Serial pc(SERIAL_TX, SERIAL_RX);
-
+DigitalOut green(D7);
+DigitalOut red(D6);
 MFRC522    RfChip   (SPI_MOSI, SPI_MISO, SPI_SCK, SPI_CS, MF_RESET);
+uint8_t card1=0x20;
+uint8_t card2=0x82;
+uint8_t card3=0xBF;
+uint8_t card4=0x4F;
+PwmOut mypwm(PWMA);
+int main(void) {red=0;
+  volatile float speed_value = 0.5;
 
-int main(void) {
+    Servo myservo(D2);
   pc.printf("starting...\n");
-
   // Init. RC522 Chip
   RfChip.PCD_Init();
-
   while (true) {
-    LedGreen = 1;
-
+    red=0;
     // Look for new cards
     if ( ! RfChip.PICC_IsNewCardPresent())
     {
@@ -48,17 +52,25 @@
       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("%d%",i);
+      pc.printf(" %X02", RfChip.uid.uidByte[i]); 
     }
     pc.printf("\n\r");
-
+ if((RfChip.uid.uidByte[0]==card1)&&(RfChip.uid.uidByte[1]==card2)&&(RfChip.uid.uidByte[2]==card3)&&(RfChip.uid.uidByte[3]==card4))
+{pc.printf("\nhello");
+mypwm.pulsewidth(90);
+green=1;
+myservo=90;
+wait_ms(3000);
+myservo=-90;
+green=0; 
+red=0;       
+}else {mypwm.pulsewidth(-90);
+green=0;
+red=1;} 
     // Print Card type
     uint8_t piccType = RfChip.PICC_GetType(RfChip.uid.sak);
     pc.printf("PICC Type: %s \n\r", RfChip.PICC_GetTypeName(piccType));