0% ont trouvé ce document utile (0 vote)
26 vues2 pages

Prog Led + Rfid

Ce code Arduino utilise un module RFID pour lire des identifiants de cartes. Il active une LED verte si l'ID reconnu correspond à un code attendu, sinon il active une LED rouge. Le programme gère la communication série et le nettoyage des données lues pour une utilisation correcte.

Transféré par

ighilyanis22
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats TXT, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
26 vues2 pages

Prog Led + Rfid

Ce code Arduino utilise un module RFID pour lire des identifiants de cartes. Il active une LED verte si l'ID reconnu correspond à un code attendu, sinon il active une LED rouge. Le programme gère la communication série et le nettoyage des données lues pour une utilisation correcte.

Transféré par

ighilyanis22
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats TXT, PDF, TXT ou lisez en ligne sur Scribd

#include <SoftwareSerial.

h>

// Définition des broches


#define txPin 2 // Broche SOUT du module RFID
#define enablePin 8 // Broche Enable du module RFID
#define ledPinGreen 11 // Broche de la LED verte
#define ledPinRed 12 // Broche de la LED rouge

SoftwareSerial mySerial(txPin, txPin); // Communication série avec le module RFID


char rfidData[12]; // Tableau pour stocker l'ID de la carte
int index = 0;
const char* recognizedCode = "5300113477"; // Code attendu

void setup() {
Serial.begin(9600); // Communication série avec le moniteur série
mySerial.begin(2400); // Communication série avec le module RFID
(2400 bauds)

pinMode(txPin, INPUT); // Configurer la broche SOUT comme entrée


pinMode(enablePin, OUTPUT); // Configurer la broche Enable comme sortie
pinMode(ledPinGreen, OUTPUT); // Configurer la broche de la LED verte comme
sortie
pinMode(ledPinRed, OUTPUT); // Configurer la broche de la LED rouge comme
sortie

// Activer le module RFID


digitalWrite(enablePin, LOW); // Activer le module (LOW pour activer, HIGH
pour désactiver)

// Éteindre les LEDs au démarrage


digitalWrite(ledPinGreen, LOW);
digitalWrite(ledPinRed, LOW);

Serial.println("RFID Module prêt. Approchez une carte...");


}

void loop() {
// Vérifier si des données sont disponibles depuis le module RFID
if (mySerial.available() > 0) {
char readChar = mySerial.read(); // Lire un caractère depuis le module

if (readChar == 10) { // Si un retour à la ligne (10) est détecté, l'ID de


la carte est complet
rfidData[index] = '\0'; // Ajouter un caractère nul pour terminer la
chaîne

// Nettoyer l'ID en supprimant les espaces et les caractères de


contrôle
String cleanedData = String(rfidData); // Convertir en String pour
manipuler facilement
cleanedData.trim(); // Retirer les espaces en début et fin de chaîne

Serial.print("ID de la carte nettoyé : ");


Serial.println(cleanedData); // Afficher l'ID nettoyé sur le moniteur
série

// Si le code est reconnu


if (strcmp(cleanedData.c_str(), recognizedCode) == 0) {
// Si l'ID correspond au code attendu
Serial.println("Carte reconnue ! LED verte activée.");

// Allumer la LED verte


digitalWrite(ledPinGreen, HIGH); // Allumer la LED verte
digitalWrite(ledPinRed, LOW); // Éteindre la LED rouge
}
// Si le code est incorrect
else {
// Si l'ID ne correspond pas au code attendu
Serial.println("Code non reconnu. LED rouge activée.");
digitalWrite(ledPinGreen, LOW); // Éteindre la LED verte
digitalWrite(ledPinRed, HIGH); // Allumer la LED rouge
}

index = 0; // Réinitialiser l'index pour la prochaine carte


} else {
// Ajouter le caractère lu au tableau
if (index < sizeof(rfidData) - 1) {
rfidData[index++] = readChar;
}
}
}
}

Vous aimerez peut-être aussi