Maquette serrure à lecteur RFID

Cliquer pour agrandir Il s'agit de commander une gâche électrique (servomoteur) à partir de la lecture d'un badge RFID.

Composition

Matériel

Une carte Arduino Uno

Un module RFID CAP635 (RC522) : broches RST = 9 et SDA = 10

Un servomoteur : broche 3 fermé = 10° et ouvert = 150°

Une LED rouge avec sa résistance de limitation : broche 4 qui indique “Porte fermé”

Une LED verte avec sa résistance de limitation : broche 5 qui indique “Porte ouverte”

Logiciel

Cliquer pour agrandir Programme réalisé avec https://ide.mblock.cc pour la carte Arduino Uno nécessite les extensions :

RC522RFID (Développeurs：techno.morceau)

Branchements

Arduino	RFID	Servomoteur	LEDs
3	Orange
4	Rouge
5	Verte
9	RST
10	SDA
11	MOSI
12	MISO
13	SCK
+5V	Rouge
+3.3V	3.3V
GND	GND	Noir	Cathode

Activité

Analyser le programme suivant et le compléter pour déverrouiller la serrure si le code est bon.

1- Lecture badge

Modifier le sous programme “Initialisation” pour au démarrage :

Éteindre la led verte

Allumer la led rouge (indicateur sous tension)

Positionner le servomoteur à 0° (serrure verrouillée)

Modifier le sous programme “Lecture carte” pour :

Faire flasher (allumer 0.2s) la led verte si un code est lu

Modifier le programme principal pour :

que le numéro de carte valide corresponde a celui du badge de couleur unique (chiffes et lettres sans les tirets)

que la led verte s'allume et le servomoteur se positionne à 90° pendant 3 seconde si le bon badge est lu.

que la led rouge clignote 3 fois en 3 secondes si le badge n'est pas le bon.

2- Lecture de plusieurs badges

Modifier le programme pour que ce soit les 2 badges de couleur identiques qui puissent déverrouiller la serrure.
Il faut ajouter l'extension STRINGS pour utiliser une liste de codes.

“Crea x variables tipo string” pour pouvoir définir x codes valides

“Asigna xxx a srtVar y” pour assigner le code xxx à la variable-liste y. La 1ere variable-liste à la valeur 0 et la dernière la valeur x-1.

Une seule comparaison ne suffit pas. Il faut faire une boucle (compteur) pour comparer tous les codes valides.

Coups de pouces

S'assurer, en utilisant une variable NbCodeValide que le nombres x de cartes valides créées est le même que celui des cartes vérifiées.

Positionner une variable Ok à 1 ou 0 si un bon code est trouvé ou pas lors de la vérification.

Un compteur est une boucle “Compter avec la variable i de x à y par pas de 1”