Problemi con RFID

Ciao a tutti, volevo chiedervi se potevate aiutarmi riguardo a sensori RFID. Ho acquistato 4 sensori RFID e collegandoli seguendo un preciso schema e caricando lo sketch adatto non mi danno segni di vita nel monitor seriale. Sapete dirmi che problema può essere o se proprio sono rotti i sensori ?

Se non dici quale modello di lettore, quali rfid, dei link a cosa hai comprato, cosa possiamo dirti ?

Scusate avete ragione ho comprato gli RFID rc522 e questo è il link:
https://m.miniinthebox.com/it/rc522-modulo-rfid-s50-fudan-figurine-ic-card-portachiavi-per-arduino-fornire-il-codice-di-sviluppo_p903471.html?prm=2-2.5.1.1

Io ho un cellulare con sensore NFC, con uno come quello puoi intanto testare le tessere.

Quale libreria hai usato ? Quale collegamenti hai fatto (che schema hai seguito, in internet trovi tante cavolate) ?

Ho provato a seguire quello schema ma non mi riconosce la tessera c’è e come se non mettessi niente davanti al sensore. Potrebbero essere saldati male i pin ?

Ciao,

Ho usato il tuo stesso modulo utilizzando questo codice:

/*
* --------------------------------------------------------------------------------------------------------------------
* Example to change UID of changeable MIFARE card.
* --------------------------------------------------------------------------------------------------------------------
* This is a MFRC522 library example; for further details and other examples see: https://github.com/miguelbalboa/rfid
* 
* This sample shows how to set the UID on a UID changeable MIFARE card.
* NOTE: for more informations read the README.rst
* 
* @author Tom Clement
* @license Released into the public domain.
*
* Typical pin layout used:
* -----------------------------------------------------------------------------------------
*             MFRC522      Arduino       Arduino   Arduino    Arduino          Arduino
*             Reader/PCD   Uno           Mega      Nano v3    Leonardo/Micro   Pro Micro
* Signal      Pin          Pin           Pin       Pin        Pin              Pin
* -----------------------------------------------------------------------------------------
* RST/Reset   RST          9             5         D9         RESET/ICSP-5     RST
* SPI SS      SDA(SS)      10            53        D10        10               10
* SPI MOSI    MOSI         11 / ICSP-4   51        D11        ICSP-4           16
* SPI MISO    MISO         12 / ICSP-1   50        D12        ICSP-1           14
* SPI SCK     SCK          13 / ICSP-3   52        D13        ICSP-3           15
*/

#include <SPI.h>
#include <MFRC522.h>

#define RST_PIN   9     // Configurable, see typical pin layout above
#define SS_PIN    10    // Configurable, see typical pin layout above

MFRC522 mfrc522(SS_PIN, RST_PIN);   // Create MFRC522 instance

/* Set your new UID here! */
#define NEW_UID {0xDE, 0xAD, 0xBE, 0xEF}

MFRC522::MIFARE_Key key;

void setup() {
 Serial.begin(9600);  // Initialize serial communications with the PC
 while (!Serial);     // Do nothing if no serial port is opened (added for Arduinos based on ATMEGA32U4)
 SPI.begin();         // Init SPI bus
 mfrc522.PCD_Init();  // Init MFRC522 card
 Serial.println(F("Warning: this example overwrites the UID of your UID changeable card, use with care!"));
 
 // Prepare key - all keys are set to FFFFFFFFFFFFh at chip delivery from the factory.
 for (byte i = 0; i < 6; i++) {
   key.keyByte[i] = 0xFF;
 }
}

// Setting the UID can be as simple as this:
//void loop() {
//  byte newUid[] = NEW_UID;
//  if ( mfrc522.MIFARE_SetUid(newUid, (byte)4, true) ) {
//    Serial.println("Wrote new UID to card.");
//  }
//  delay(1000);
//}

// But of course this is a more proper approach
void loop() {
 
 // Look for new cards, and select one if present
 if ( ! mfrc522.PICC_IsNewCardPresent() || ! mfrc522.PICC_ReadCardSerial() ) {
   delay(50);
   return;
 }
 
 // Now a card is selected. The UID and SAK is in mfrc522.uid.
 
 // Dump UID
 Serial.print(F("Card UID:"));
 for (byte i = 0; i < mfrc522.uid.size; i++) {
   Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ");
   Serial.print(mfrc522.uid.uidByte[i], HEX);
 } 
 Serial.println();

 // Dump PICC type
//  MFRC522::PICC_Type piccType = mfrc522.PICC_GetType(mfrc522.uid.sak);
//  Serial.print(F("PICC type: "));
//  Serial.print(mfrc522.PICC_GetTypeName(piccType));
//  Serial.print(F(" (SAK "));
//  Serial.print(mfrc522.uid.sak);
//  Serial.print(")\r\n");
//  if (  piccType != MFRC522::PICC_TYPE_MIFARE_MINI 
//    &&  piccType != MFRC522::PICC_TYPE_MIFARE_1K
//    &&  piccType != MFRC522::PICC_TYPE_MIFARE_4K) {
//    Serial.println(F("This sample only works with MIFARE Classic cards."));
//    return;
//  }
 
 // Set new UID
 byte newUid[] = NEW_UID;
 if ( mfrc522.MIFARE_SetUid(newUid, (byte)4, true) ) {
   Serial.println(F("Wrote new UID to card."));
 }
 
 // Halt PICC and re-select it so DumpToSerial doesn't get confused
 mfrc522.PICC_HaltA();
 if ( ! mfrc522.PICC_IsNewCardPresent() || ! mfrc522.PICC_ReadCardSerial() ) {
   return;
 }
 
 // Dump the new memory contents
 Serial.println(F("New UID and contents:"));
 mfrc522.PICC_DumpToSerial(&(mfrc522.uid));
 
 delay(2000);
}[/b]

come schema delle connessioni:
RST 9
SDA(SS) 10
MOSI 11 / ICSP-4
MISO 12 / ICSP-1
SCK 13 / ICSP-3

in allegato la libreria che ho utilizzato.

rfid.zip (1.03 MB)

Dovresti aggiungere una istanza per ogni lettore:

#define RST_PIN_1   9     // Configurable, see typical pin layout above
#define SS_PIN_1    10    // Configurable, see typical pin layout above

#define RST_PIN_2   7     // Configurable, see typical pin layout above
#define SS_PIN_2    8    // Configurable, see typical pin layout above


MFRC522 mfrc522_1(SS_PIN_1, RST_PIN_1);   // Create MFRC522 instance for 1° module
MFRC522 mfrc522_2(SS_PIN_2, RST_PIN_2);   // Create MFRC522 instance for 2° module

da mettere in setup:

mfrc522_1.PCD_Init();  // Init MFRC522 card 1
mfrc522_2.PCD_Init();  // Init MFRC522 card 2

nel loop e nelle varie funzioni ogni chiamata deve essere assoggettata al lettore corretto

Saluti