0% ont trouvé ce document utile (0 vote)
37 vues4 pages

Elie Ista Code

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

Elie Ista Code

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

#include <SPI.

h>

#include <MFRC522.h>

#include <DHT.h>

#include <Wire.h>

#include <LiquidCrystal_I2C.h>

#include <SoftwareSerial.h>

// Pins pour le RFID

#define RST_PIN 9

#define SS_PIN 10

// Pins pour le DHT22

#define DHT_PIN 4

#define DHT_TYPE DHT22

// Pins pour le module Bluetooth

SoftwareSerial BTSerial(2, 3); // RX, TX

// Pins pour le relais (verrou)

#define RELAY_PIN 7

// Initialisation du lecteur RFID

MFRC522 mfrc522(SS_PIN, RST_PIN);

// Initialisation du capteur DHT22

DHT dht(DHT_PIN, DHT_TYPE);

// Initialisation de l'écran LCD I2C

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

// Variables pour l'ID RFID

String authorizedID = "1234567890"; // L'ID RFID autorisé (à remplacer par un vrai ID)

void setup() {

// Initialisation du port série pour le moniteur

[Link](9600);

// Initialisation du Bluetooth

[Link](9600);

// Initialisation du module RFID


[Link]();

mfrc522.PCD_Init();

// Initialisation du capteur DHT22

[Link]();

// Initialisation de l'écran LCD I2C

[Link](16, 2);

[Link](1);

[Link]();

// Initialisation du relais

pinMode(RELAY_PIN, OUTPUT);

digitalWrite(RELAY_PIN, LOW); // Verrouillé au début

// Afficher le message d'accueil sur l'écran LCD

[Link](0, 0);

[Link]("Systeme RFID");

[Link](0, 1);

[Link]("Prêt.");

delay(2000);

void loop() {

// Vérifie si une carte RFID est présente

if (mfrc522.PICC_IsNewCardPresent()) {

if (mfrc522.PICC_ReadCardSerial()) {

String rfidID = "";

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

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

[Link]();

[Link]("Carte détectée: " + rfidID);

// Vérifier si l'ID RFID est autorisé

if (rfidID == authorizedID) {

[Link]("Accès autorisé !");

[Link]();

[Link](0, 0);

[Link]("Accès autorisé!");

digitalWrite(RELAY_PIN, HIGH); // Déverrouiller le verrou


delay(5000); // Le verrou reste ouvert pendant 5 secondes

digitalWrite(RELAY_PIN, LOW); // Verrouiller à nouveau

[Link]();

[Link](0, 0);

[Link]("Verrouillage...");

} else {

[Link]("Accès refusé.");

[Link]();

[Link](0, 0);

[Link]("Accès refusé.");

delay(2000);

// Attend que la carte soit retirée

mfrc522.PICC_HaltA();

// Lire les données du capteur DHT22

float humidity = [Link]();

float temperature = [Link]();

// Si la lecture échoue, on ignore

if (isnan(humidity) || isnan(temperature)) {

[Link]("Erreur de lecture du DHT22");

[Link]();

[Link](0, 0);

[Link]("Erreur DHT22");

} else {

// Afficher les données sur l'écran LCD

[Link]();

[Link](0, 0);

[Link]("Temp: ");

[Link](temperature);

[Link](" C");

[Link](0, 1);

[Link]("Hum: ");

[Link](humidity);

[Link](" %");

// Envoi des données au smartphone via Bluetooth


[Link]("Temp: ");

[Link](temperature);

[Link](" C, Hum: ");

[Link](humidity);

[Link](" %");

// Ajout d'un délai pour éviter une surcharge du processeur

delay(1000);

Vous aimerez peut-être aussi