Empfindlichkeit RFID Reader anpassen

Ich habe den Code noch mal überarbeitet und die Möglichkeit hinzugefügt die Lesempfindlichkeit am Anfang des Scetches über die #define einzustellen.

Bei den defines am Anfang folgendes einfügen

#define NFCgaine_max          // RFID-Reader wird auf max Empfindlichkeit eingestellt     
  #ifndef NFCgaine_max        // Wenn keine Max Empfindlichkeit gewünscht, vorhergehende Zeile auskommentieren 
    #define NFCgaine_avg      // Empfindlichkeit auf Mittel        
     #ifndef NFCgaine_avg     // wenn minimale Empfindlichkeit gewünscht, vorhergehende Zeile zusätzlich auskommentieren
       #define NFCgaine_min   // Minimale Empfindlichkeit  
     #endif
   #endif      

dann hinter

static const uint32_t cardCookie = 322417479;

folgendes einfügen

#ifdef NFCgaine_min
uint8_t nfcRxGain = 1;
#endif
#ifdef NFCgaine_avg
uint8_t nfcRxGain = 2;
#endif
#ifdef NFCgaine_max
uint8_t nfcRxGain = 3;
#endif

Dann im Setup das folgende für die Initialisierung des RFID readers ersetzen

 SPI.begin();                        // Init SPI bus
  mfrc522.PCD_Init();                 // Init MFRC522
  //uint8_t nfcRxGain = 3;

  if (nfcRxGain == 1)
  {
  mfrc522.PCD_SetAntennaGain(mfrc522.RxGain_min);
  Serial.println(F("=== mfrc522-> RxGain_min === "));
  }
  if (nfcRxGain == 2)
  {
  mfrc522.PCD_SetAntennaGain(mfrc522.RxGain_avg);
  Serial.println(F("=== mfrc522-> RxGain_avg === "));
  }
  if (nfcRxGain == 3)
  {
  mfrc522.PCD_SetAntennaGain(mfrc522.RxGain_max);
  Serial.println(F("=== mfrc522-> RxGain_max === "));
  }
  
 /* MFRC522 RxGain[2:0] masks, defines the receiver's signal voltage gain factor (on the PCD).
   Described in 9.3.3.6 / table 98 of the datasheet at http://www.nxp.com/documents/data_sheet/MFRC522.pdf
  
    RxGain_18dB       = 0x00 << 4,  // 000b - 18 dB, minimum
    RxGain_23dB       = 0x01 << 4,  // 001b - 23 dB
    RxGain_18dB_2     = 0x02 << 4,  // 010b - 18 dB, it seems 010b is a duplicate for 000b
    RxGain_23dB_2     = 0x03 << 4,  // 011b - 23 dB, it seems 011b is a duplicate for 001b
    RxGain_33dB       = 0x04 << 4,  // 100b - 33 dB, average, and typical default
    RxGain_38dB       = 0x05 << 4,  // 101b - 38 dB
    RxGain_43dB       = 0x06 << 4,  // 110b - 43 dB
    RxGain_48dB       = 0x07 << 4,  // 111b - 48 dB, maximum
    RxGain_min        = 0x00 << 4,  // 000b - 18 dB, minimum, convenience for RxGain_18dB
    RxGain_avg        = 0x04 << 4,  // 100b - 33 dB, average, convenience for RxGain_33dB
    RxGain_max        = 0x07 << 4   // 111b - 48 dB, maximum, convenience for RxGain_48dB
 
*/

  mfrc522.PCD_DumpVersionToSerial();  // Show details of PCD - MFRC522 Card Reader
  for (byte i = 0; i < 6; i++) 
  {
    key.keyByte[i] = 0xFF;
  }

Die Voreinstellung hier ist auf Maximale Empfindlichkeit. Wenn eine andere Empfindlichkeit gewünscht wird entsprechend den Anweisungen im Define Bereich auskommentieren bzw kommentieren.

Im Monitor kann man in der Zeile vor der Firmwareversion kontrollieren welche Empfindlichkeit eingestellt wurde

23:00:54.605 -> 
23:00:54.605 ->  _____         _____ _____ _____ _____
23:00:54.605 -> |_   _|___ ___|  |  |     |   | |     |
23:00:54.605 ->   | | | . |   |  |  |-   -| | | |  |  |
23:00:54.605 ->   |_| |___|_|_|_____|_____|_|___|_____|
23:00:54.652 -> 
23:00:54.652 -> TonUINO Version 2.1
23:00:54.652 -> created by Thorsten Voß and licensed under GNU/GPL.
23:00:54.652 -> Information and contribution at https://tonuino.de.
23:00:54.652 -> 
23:00:54.652 -> *****************************************************
23:00:54.652 -> **** VERSION THOMAS LEHNERT ** Stand 2020-07-06 *****
23:00:54.652 -> === loadSettingsFromFlash()
23:00:54.652 -> Version: 2
23:00:54.652 -> Maximal Volume: 25
23:00:54.652 -> Minimal Volume: 3
23:00:54.652 -> Initial Volume: 15
23:00:54.652 -> EQ: 1
23:00:54.652 -> Sleep Timer: 5
23:00:54.652 -> Inverted Volume Buttons: 0
23:00:54.652 -> Admin Menu locked: 1
23:00:54.699 -> Admin Menu Pin: 2123
23:00:54.699 -> === setstandbyTimer()
23:00:54.699 -> 300056
23:00:56.808 -> === mfrc522-> RxGain_max === 
23:00:56.808 -> Firmware Version: 0x92 = v2.0
23:00:58.824 -> Kopfhörer angeschlossen! Lautsprecher wird ausgeschaltet!
23:00:58.824 -> === playShortCut()
23:00:58.824 -> 3
23:00:58.824 -> == playFolder()
23:00:58.824 -> === disablestandby()
23:00:58.824 -> 17 Dateien in Ordner 1
23:00:58.824 -> Spezialmodus Von-Bis: Hörspiel -> zufälligen Track wiedergeben
23:00:58.871 -> 2 bis 2
23:00:58.871 -> 2
23:00:58.871 -> === disablestandby()
23:01:05.199 -> Track beendet2
23:01:05.292 -> 2
23:01:05.292 -> === nextTrack()
23:01:05.292 -> Hörspielmodus ist aktiv -> keinen neuen Track spielen
23:01:05.339 -> === setstandbyTimer()
23:01:05.339 -> 310698
23:01:06.323 -> Track beendet2
23:01:06.417 -> 2
2 „Gefällt mir“