RC522 et Ruban LED qui bloque allumé après passage du TAG

certes ! :wink: (mais la question était sans sous entendu)

j'avais raté le rfid.PCD_Init(); qui remet tout à zéro effectivement

PS:

pour chipoter si on retire la carte 2 secondes et qu'on la remet le programme ne s'en rend pas compte alors (pas votre faute, c'est la spécification qui n'est pas précise :wink: )

on pourrait régler cela avec votre code en ne faisant aucun délai ou ça revient à faire une loop toute simple qui allume la LED tant que la carte est détectée

void loop() {
    digitalWrite(pinLEDStrip, cardCheck(bonUID) ? HIGH : LOW);
}

et pour chipoter un peu plus, si je présente une carte qui a un UID de 10 octets, on accède au tableau bonUID au delà de ses bornes.
On pourrait corriger comme cela:

boolean cardCheck(byte bonUID[]) {
  rfid.PCD_Init();
  if (rfid.PICC_IsNewCardPresent() && rfid.PICC_ReadCardSerial())  // on a lu avec succès son contenu
      return (memcmp(rfid.uid.uidByte, bonUID, 4) == 0);
  return false;
}

PS2/ j'ai pas testé :slight_smile: