-
Notifications
You must be signed in to change notification settings - Fork 0
/
Arduino File.c
260 lines (257 loc) · 7.97 KB
/
Arduino File.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
//Hi this is Oreoluwa
#include<SPI.h> // THIS IS A LIABRARY
#include<MFRC522.h> // THIS IS THE LIBRARY FOR THE RFID CARD READER
#include<LiquidCrystal.h> // THIS IS THE LIBRARY OR HEADER FILE FOR THE LCD SCREEN WE USED
LiquidCrystal lcd(7,6,5,4,3,2); // Object for the LCD AND PIN DECLARATION FOR THE LCD SCREEN
#define SS_PIN 10 // THIS IS SIMPLY A DIGITAL PIN DECLATION FOR THE RFID CARD READER ASSIGNING SSPIN TO PIN 10
#define RST_PIN 9 // THIS IS ALSO A DIGITAL PIN DECLATION FOR THE RFID CARD READER ASSIGNING RSTPIN TO PIN 9
MFRC522 mfrc522(SS_PIN, RST_PIN); // THIS A FUCTION DEFINITON SAYING THAT INPUT IS PASSED THROUGH PIN SS AND PIN RST
void setup() // THIS IS THE VOID SETPUP FUNCTION . IT ALLOW A CODE TO RUN ONCE. IT IS ALSO USE FOR INITIALIZATION OF CERTAIN THINGS
{
Serial.begin(9600); // THIS FUNCTION SIMPLY MEANS INITIALIZATION OF THE SERIAL MONITOR
mfrc522.PCD_Init(); // THIS FUNCTION SIMPLY MEANS THE INITIALIZATION OF THE CARD READER
lcd.begin(16,2); // THIS FUNTION SIMPLY MEANS THE INITIALIZATION OF THE LCD SCREEN WE USED
SPI.begin(); // THIS FUNCTION SIMPLY MENAS THE INITIALIZATION OF THE SPI
lcd.setCursor(0,0); // THIS FUNCTION SIMPLY MEANS THE NEXT FUNCTION BELOW WILL BE PRINTED ON COLUMN 0 AND ROW 0 OF THE LCD
lcd.print("Welcome Team 7"); // THIS FUNCTION SIMPLY TELLS THE LCD TO DISPLAY "Welcome Team 7"
delay(2000); // THIS FUNCTION SIMPLY MEANS THAT THE FUCTION ABOVE IS DISPLAY FOR 2 SECONDS OR 2000MILLISECONDS
lcd.clear(); // THIS FUNCTION SIMPLY CLEARS THE LCS SCREEN AFTER THE MESSAE HAS BEEN DISPLAYED
Serial.println(F("Key Card Lock")); // THIS FUNCTION SIMPLY MEANS THAT "KEY CARD LOCK WILL BE PRINTED ON THE SERIAL MONITOR
lcd.setCursor(0,0);
lcd.print("PLACE ID CARD");
Serial.println("Put your card to the reader...");
Serial.println();
}
// this part of the program repeats itself//
// this code only grants access to memebers of group 7 computer engineering
void loop(){ // THIS IS THE LOOP FUNCTION , WHERE EVERYTHING INSIDE IT RUNS MORE THAT ONCE
if ( ! mfrc522.PICC_IsNewCardPresent()) { // THIS FUNCTION MEANS THAT IF THE CARD READER SENSES AND ID CARD IT RETURNS A DEFAULT VALUE TO READ IT
return;
}
if ( ! mfrc522.PICC_ReadCardSerial()) {
return;
}
Serial.println(F("CARD ID:")); // THIS SIMPLY MEANS THAT "CARD ID " WILL BE DISPLAYED ON THE SERIAL MONITOR
String content =""; // THIS SIMPY SAY THAT THE VARIABLE NAME "CONTENT " IS A STRING
byte letter; // THIS SIMPLY MEANS THAT THE VARIABLE NAME "LETTER" IS A BYTE
for(byte i=0;i<mfrc522.uid.size; i++) // THIS SIMPLY MEANS THAT THE FUNCTION WILL RUN AS LONG AS THE READ DATA IS UP THE THE CARDREADER ARRAY SIZE
{
Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0": " ");
Serial.print(mfrc522.uid.uidByte[i], HEX);
content.concat(String(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " "));
content.concat(String(mfrc522.uid.uidByte[i], HEX)); // THIS SIMPLY DEFINES THE DATA READ FROM THE CARD READER TO BE IN HEXDECIMALS
}
Serial.println();
Serial.print("Message :"); //THIS SIMPLY PRINTS "MESSAGE" ON THE SERIAL MONITOR
content.toUpperCase();
if(content.substring(1) =="94 E8 90 91") // THIS IS A DECISION STATEMENT COMPARING THE STRING OF THE CARD TO THIS SET OF HEXADECIMALS" 94 E8 90 91"
{
lcd.clear();
Serial.println("Authorised"); // THIS SIMPLY PRINTS AUTHORISED ON THE SERIAL MONITOR
lcd.print("Ugo Uchechi"); // THIS PRINTS "UGO UCHECHI" IF THE DECISION IS TRUE
Serial.println("Ugo Uchechi");
delay(1000); // THIS DELAYS THE DISPLAY TIME BY 1 SECOND
lcd.clear(); // THIS CLEARS THE NAME AND MOVES TO PRINT THE MATRIC NO ON LINE65
lcd.print("17CJ022547");
Serial.println("17CJ022547");
delay(1000);
lcd.clear();
lcd.print("ACCESS GRANTED");
delay(1000);
lcd.clear();
digitalWrite(8,HIGH); //HIS SIMPLY TELL THE BUZZER TO BEAP TWICE IF WHEN THE CARD IS DETECTED " BUZZER ON "
delay(1000);
digitalWrite(8,LOW); //THIS SIMPLY TELL THE BUZZER TO BEAP TWICE IF WHEN THE CARD IS DETECTED "BUZZER OFF"
delay(1000);
digitalWrite(8,HIGH); //THIS SIMPLY TELL THE BUZZER TO BEAP TWICE IF WHEN THE CARD IS DETECTED "BUZZER ON"
delay(1000);
digitalWrite(8,LOW); // THIS SIMPLY TELL THE BUZZER TO BEAP TWICE IF WHEN THE CARD IS DETECTED "BUZZER OFF"
delay(500);
lcd.print("PLACE ID CARD");
}
else if(content.substring(1) =="A4 81 D6 91")
{
lcd.clear();
Serial.println("Authorised");
lcd.print("Oyinkansola");
Serial.println("Oyinkansola");
delay(1000);
lcd.clear();
lcd.print("17CJ022527");
Serial.println("17CJ022527");
delay(1000);
lcd.clear();
lcd.print("ACCESS GRANTED");
delay(1000);
lcd.clear();
digitalWrite(8,HIGH);
delay(1000);
digitalWrite(8,LOW);
delay(1000);
digitalWrite(8,HIGH);
delay(1000);
digitalWrite(8,LOW);
delay(500);
lcd.print("PLACE ID CARD");
}
else if(content.substring(1) =="62 79 7B A5")
{
lcd.clear();
Serial.println("Authorised");
lcd.print("Oreoluwa");
Serial.println("Oreoluwa");
delay(1000);
lcd.clear();
lcd.print("17CE023397");
Serial.println("17CE023397");
delay(1000);
lcd.clear();
lcd.print("ACCESS GRANTED");
delay(1000);
lcd.clear();
digitalWrite(8,HIGH);
delay(1000);
digitalWrite(8,LOW);
digitalWrite(8,HIGH);
delay(1000);
digitalWrite(8,LOW);
delay(500);
lcd.print("PLACE ID CARD");
}
else if(content.substring(1) =="87 43 80 06")
{
lcd.clear();
Serial.println("Authorised");
lcd.print("Oma");
Serial.println("Oma");
delay(1000);
lcd.clear();
lcd.print("17CJ022517");
Serial.println("17CJ022517");
delay(1000);
lcd.clear();
lcd.print("ACCESS GRANTED");
delay(1000);
lcd.clear();
digitalWrite(8,HIGH);
delay(1000);
digitalWrite(8,LOW);
delay(1000);
digitalWrite(8,HIGH);
delay(1000);
digitalWrite(8,LOW);
delay(500);
lcd.print("PLACE ID CARD");
}
else if(content.substring(1) =="F4 46 BB 91")
{
lcd.clear();
Serial.println("Authorised");
lcd.print("Gesinde Abisolu");
Serial.println("Gesinde Abisolu");
delay(1000);
lcd.clear();
lcd.print("17CJ022497");
Serial.println("17CJ022497");
delay(1000);
lcd.clear();
lcd.print("ACCESS GRANTED");
delay(1000);
lcd.clear();
digitalWrite(8,HIGH);
delay(1000);
digitalWrite(8,LOW);
delay(1000);
digitalWrite(8,HIGH);
delay(1000);
digitalWrite(8,LOW);
delay(500);
lcd.print("PLACE ID CARD");
}
else if(content.substring(1) =="64 99 D5 91")
{
lcd.clear();
Serial.println("Authorised");
lcd.print("James Kolade");
Serial.println("James Kolade");
delay(1000);
lcd.clear();
lcd.print("17CJ022507");
Serial.println("17CJ022507");
delay(1000);
lcd.clear();
lcd.print("ACCESS GRANTED");
delay(1000);
lcd.clear();
digitalWrite(8,HIGH);
delay(1000);
digitalWrite(8,LOW);
delay(1000);
digitalWrite(8,HIGH);
delay(1000);
digitalWrite(8,LOW);
delay(500);
lcd.print("PLACE ID CARD");
}
else if(content.substring(1) =="04 61 65 2D")
{
lcd.clear();
Serial.println("Authorised");
lcd.print("Emmanuel Apa");
Serial.println("Emmanuel Apa");
delay(1000);
lcd.clear();
lcd.print("17CJ022477");
Serial.println("17CJ022477");
delay(1000);
lcd.clear();
lcd.print("ACCESS GRANTED");
Serial.println("Priscilla");
delay(1000);
lcd.clear();
digitalWrite(8,HIGH);
delay(1000);
digitalWrite(8,LOW);
delay(1000);
digitalWrite(8,HIGH);
delay(1000);
digitalWrite(8,LOW);
delay(500);
lcd.print("PLACE ID CARD");
}
else if(content.substring(1) =="E4 B7 C9 91")
{
lcd.clear();
Serial.println("Authorised");
lcd.print("Priscilla");
Serial.println("Priscilla");
delay(1000);
lcd.clear();
lcd.print("17CJ022537");
Serial.println("17CJ022537");
delay(1000);
lcd.clear();
lcd.print("ACCESS GRANTED");
Serial.println("Priscilla");
delay(1000);
lcd.clear();
digitalWrite(8,HIGH);
delay(1000);
digitalWrite(8,LOW);
delay(1000);
digitalWrite(8,HIGH);
delay(1000);
digitalWrite(8,LOW);
delay(500);
lcd.print("PLACE ID CARD");
}
else
{
lcd.clear();
lcd.print("ACCESS DENIED"); // THIS SIMPLY DISPLAYS "ACCESS DENIED " ON THE LCD IF AN UNRECOGNIZED CARD IS PLACED TO THE CARD READER
Serial.println("ACCESS DENIED");
delay(500); // THIS DISPLAYS THE MESSAGE ON THE LCD SCREEN FOR 1 SECOND
lcd.clear(); // THIS CLEARS THE MEASSAGE DISPLAYED ON THE LCD SCREEN
lcd.print("PLACE ID CARD");
}
}