1#include <MFRC522.h>
2#include <Servo.h>
3#include <SPI.h>
4#include <LiquidCrystal.h>
5#include<MFRC522Extended.h>
6MFRC522 RFID(9,8);
7LiquidCrystal lcd(7,6,2,3,4,5);
8Servo moteur ;
9String code1="19 58 9a e" ;
10String test;
11int i;
12
13
14void setup() {
15
16 SPI.begin();
17 RFID.PCD_Init();
18 lcd.begin(16,2);
19 moteur.attach(8);
20 moteur.write(0);
21 pinMode(0,OUTPUT);
22 pinMode(1,OUTPUT);
23 pinMode(A1,OUTPUT);
24 digitalWrite(0,LOW);
25 digitalWrite(1,LOW);
26}
27
28void loop() {
29
30 lcd.setCursor(0,0);
31 lcd.print(" SMP - PFE -");
32 lcd.setCursor(4,1);
33 lcd.print("WELCOME");
34 if(RFID.PICC_IsNewCardPresent())
35 {
36 if(RFID.PICC_ReadCardSerial())
37 {
38 test="";
39 for(i=0;i<RFID.uid.size;i++)
40 {
41 test += String(RFID.uid.uidByte[i],HEX);
42 test += " ";
43 }
44
45 if(test==code1){
46
47 digitalWrite(1,HIGH);
48 tone(A1,1000);
49 delay(300);
50 noTone(A1);
51 lcd.clear();
52 lcd.print("acces autorise");
53 moteur.write(90);
54 delay(1000);
55 lcd.clear();
56 lcd.print("bonjour Mr X");
57 delay(2000);
58 lcd.clear();
59
60for (i=10;i>=0;i--)
61 {
62 lcd.print("Porte se fermera");
63 lcd.setCursor(0,2);
64 lcd.print("dans ");
65 lcd.print(i);
66 lcd.print(" secondes");
67 delay(1000);
68 lcd.clear();
69 }
70 tone(A1,1000);
71 delay(300);
72 noTone(A1);
73 moteur.write(0);
74 digitalWrite(1,LOW);
75 }
76
77
78 else
79 {
80 digitalWrite(0,HIGH);
81 tone(A1,1000);
82 lcd.clear();
83 lcd.print(" Non reconnue");
84 lcd.setCursor(0,2);
85 lcd.print(" Acces refuse");
86 delay(2000);
87 lcd.clear();
88 noTone(A1);
89 digitalWrite(0,LOW);
90 }
91 }
92 }
93 }
94