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