0% ont trouvé ce document utile (0 vote)
15 vues8 pages

Projet Arduino : Clavier 4x4 et RFID

H

Transféré par

ngeruka32
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 DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
15 vues8 pages

Projet Arduino : Clavier 4x4 et RFID

H

Transféré par

ngeruka32
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 DOCX, PDF, TXT ou lisez en ligne sur Scribd

Pour ce projet, nous allons utiliser une carte Arduino Uno, un module RFID pour l'authentification par

carte, un clavier matriciel pour la saisie du code, un relais pour activer la serrure électronique, et un
écran LCD pour afficher des messages d'état. Le clavier sera un clavier matriciel 4x4, et les connexions
des lignes et des colonnes sont respectivement sur les broches A0, A1, A2, A3 pour les lignes et 1, 2, 3, 4
pour les colonnes. Le relais sera utilisé pour actionner la serrure.

Voici le code Arduino qui peut être utilisé pour cette configuration :

Matériel nécessaire :

Arduino Uno

Module RFID (par exemple, MFRC522)

Clavier matriciel 4x4

Relais (pour actionner la serrure)

Écran LCD (par exemple, 16x2)

Serrure électrique (commandée par relais)

Connexions :

Le module RFID est connecté à l'Arduino via le SPI (MISO, MOSI, SCK, et SDA).
Le clavier matriciel est connecté sur les broches définies (A0, A1, A2, A3 pour les lignes et 1, 2, 3, 4 pour
les colonnes).

Le relais est connecté à une broche numérique de l'Arduino (par exemple, la broche 8).

L'écran LCD est connecté aux broches RS, E, D4, D5, D6, D7.

Code Arduino :

#include <Wire.h>

#include <LiquidCrystal_I2C.h>

#include <Keypad.h>

#include <SPI.h>

#include <MFRC522.h>

// Définition des broches pour le RFID

#define RST_PIN 9 // Broche de réinitialisation du module RFID

#define SS_PIN 10 // Broche de sélection du module RFID

MFRC522 mfrc522(SS_PIN, RST_PIN); // Instance du lecteur RFID

// Définition des broches du clavier matriciel

const byte ROW_NUM = 4; // 4 rangées

const byte COL_NUM = 4; // 4 colonnes

char keys[ROW_NUM][COL_NUM] = {
{'1','2','3','A'},

{'4','5','6','B'},

{'7','8','9','C'},

{'*','0','#','D'}

};

byte pin_rows[ROW_NUM] = {A0, A1, A2, A3}; // Pins des rangées

byte pin_cols[COL_NUM] = {1, 2, 3, 4}; // Pins des colonnes

Keypad keypad = Keypad(makeKeymap(keys), pin_rows, pin_cols, ROW_NUM, COL_NUM);

// Définition du relais

int relaisPin = 8;

// Définition de l'écran LCD

LiquidCrystal_I2C lcd(0x27, 16, 2); // Adresse 0x27, écran 16x2

// Variables de gestion du mot de passe et de l'authentification

String password = "1234"; // Mot de passe par défaut

String enteredPassword = "";

bool authenticated = false;

void setup() {

// Initialisation de l'écran LCD

[Link]();

[Link]("En attente RFID...");

delay(2000);
// Initialisation du module RFID

[Link]();

mfrc522.PCD_Init();

// Initialisation du relais

pinMode(relaisPin, OUTPUT);

digitalWrite(relaisPin, LOW); // Relais éteint par défaut

// Initialisation du clavier

[Link](keypadEvent);

void loop() {

// Vérification de la présence d'une carte RFID

if (mfrc522.PICC_IsNewCardPresent()) {

if (mfrc522.PICC_ReadCardSerial()) {

String rfid = "";

for (byte i = 0; i < [Link]; i++) {

rfid += String([Link][i], HEX);

[Link]();

[Link]();

[Link]("Carte RFID lue");

delay(2000);
// Si la carte correspond au "mot de passe" (ici une carte spécifique pour l'exemple)

if (rfid == "XX XX XX XX") {

[Link]();

[Link]("Acces Autorise");

digitalWrite(relaisPin, HIGH); // Active le relais

delay(5000); // La serrure reste ouverte pendant 5 secondes

digitalWrite(relaisPin, LOW); // Désactive le relais

[Link]();

[Link]("Attente carte");

delay(1000);

} else {

[Link]();

[Link]("Carte non valide");

delay(2000);

// Vérification de la saisie du clavier

char key = [Link]();

if (key) {

if (key == '#') {

// Vérifier le mot de passe entré

if (enteredPassword == password) {
[Link]();

[Link]("Mot de passe correct");

digitalWrite(relaisPin, HIGH); // Active le relais

delay(5000); // La serrure reste ouverte pendant 5 secondes

digitalWrite(relaisPin, LOW); // Désactive le relais

enteredPassword = ""; // Réinitialise le mot de passe entré

} else {

[Link]();

[Link]("Mot de passe erroné");

delay(2000);

enteredPassword = ""; // Réinitialise le mot de passe entré

} else if (key == '*') {

// Réinitialiser la saisie du mot de passe

enteredPassword = "";

[Link]();

[Link]("Mot de passe: ");

} else {

// Ajouter la touche au mot de passe entré

enteredPassword += key;

[Link](0, 1);

[Link](enteredPassword);

}
// Fonction pour gérer les événements du clavier

void keypadEvent(KeypadEvent key) {

// Cette fonction n'est pas utilisée directement ici mais peut être personnalisée

Explication du code :

1. RFID : Nous utilisons la bibliothèque MFRC522 pour interagir avec le module RFID. Si une carte est lue,
le numéro de la carte est comparé à une valeur préenregistrée ("XX XX XX XX" dans cet exemple). Si la
carte est valide, le relais est activé pour 5 secondes (le temps d'ouvrir la serrure).

2. Clavier matriciel : Le clavier permet de saisir un mot de passe. Si le mot de passe est correct, le relais
est activé pour ouvrir la serrure pendant 5 secondes.

3. Relais : Un relais est utilisé pour commander la serrure. Il est contrôlé par la broche 8 de l'Arduino.
Lorsque l'accès est autorisé (soit par RFID soit par mot de passe), le relais est activé pendant 5 secondes.

4. LCD : L'écran LCD affiche des messages d'état, comme "Carte RFID lue", "Mot de passe correct", ou
"Erreur".

Remarques :
Assurez-vous que les connexions du module RFID, du clavier et de l'écran LCD sont correctement
réalisées.

Le mot de passe par défaut est "1234". Vous pouvez le changer à votre convenance dans le code.

Le numéro de la carte RFID valide doit être remplacé par celui que vous souhaitez utiliser.

Le relais peut être connecté à une serrure électronique pour contrôler l'accès.

Sécurité :

Ce projet est pour des applications simples et d'initiation. Dans des applications réelles, assurez-vous
d'implémenter des mesures de sécurité supplémentaires.

Vous aimerez peut-être aussi