Bonjour, je n’arrive pas à comprendre comment utiliser un capteur RFID grove.
J’ai fait des recherches pour trouver comment avoir l’UID de la carte car je cherche à faire tourner un moteur avec.
Le numéro sur la carte est 0008504002 (en hexadécimal avec le code de seed studio, j’ai 070081C2C286)
Voici le code:
#include <Wire.h>
#include <SoftwareSerial.h>
#include <Servo.h>
#include <MFRC522.h>
#include <SPI.h>
double angle_rad = PI/180.0;
double angle_deg = 180.0/PI;
double Value;
MFRC522_1 rfid(8,7); MFRC522_1::MIFARE_Key key; byte nuidPICC[4];
String rfidNum="";
String rfidNoAl(){if(rfidNum!="")
{String deger=rfidNum;
rfidNum=""; return deger; }
else return “”; }Servo servo_2;
void setup(){
SPI.begin();
rfid.PCD_Init();
for (byte i = 0; i < 6; i++){key.keyByte[i] = 0xFF;}Serial.begin(115200);
Value = rfidNoAl();
Serial.println(Value);
servo_2.attach(2); // init pin
if(((rfidNoAl())==(0008504002))){
servo_2.write(90); // write to servo
Serial.println(“Hello”);
}else{
Serial.println(“Access denied”);
}
}
void loop(){
_loop();
}
void _delay(float seconds){
long endTime = millis() + seconds * 1000;
while(millis() < endTime)_loop();
}
void _loop(){
if(!rfid.PICC_IsNewCardPresent())
return;
if(!rfid.PICC_ReadCardSerial())
return;
MFRC522_1:: PICC_Type piccType=rfid.PICC_GetType(rfid.uid.sak);
if(piccType!=MFRC522_1:: PICC_TYPE_MIFARE_MINI && piccType != MFRC522_1:: PICC_TYPE_MIFARE_1K && piccType!=MFRC522_1:: PICC_TYPE_MIFARE_4K)
{return;}
rfidNum="";
for(byte i=0;i<4;i++){
nuidPICC[i]=rfid.uid.uidByte[i];
rfidNum+=String(rfid.uid.uidByte[i]);
}
rfid.PICC_HaltA();
rfid.PCD_StopCrypto1();
}
Pouvez-vous m’aider
Merci d’avance