RFID ఆధారిత అటెండెన్స్ సిస్టమ్‌ను ఎలా తయారు చేయాలి

సమస్యలను తొలగించడానికి మా పరికరాన్ని ప్రయత్నించండి





ఈ పోస్ట్‌లో మేము ఒక RFID ఆధారిత హాజరు వ్యవస్థను నిర్మించబోతున్నాము, ఇది ఒక నిర్దిష్ట సమయ విండో కోసం 12 మంది విద్యార్థులు / సిబ్బంది హాజరును రికార్డ్ చేయగలదు మరియు ఈ వ్యవస్థ వ్యక్తికి 255 మంది హాజరును నమోదు చేయగలదు.

RFID హాజరు వ్యవస్థ అంటే ఏమిటి

ఆర్‌ఎఫ్‌ఐడి ఆధారిత హాజరు వ్యవస్థకు సంబంధించి మాకు ఎటువంటి పరిచయం అవసరం లేదు, కళాశాలలు, కార్యాలయాలు, గ్రంథాలయాలలో ఒక వ్యక్తి ఎన్నిసార్లు లేదా ఎంత మంది వ్యక్తులు ఏ సమయంలో వచ్చి బయటకు వచ్చారో తెలుసుకోవడానికి దీనిని ఉపయోగిస్తున్నారు.



ఈ ప్రాజెక్ట్‌లో మేము సరళమైన RFID ఆధారిత హాజరు వ్యవస్థను నిర్మిస్తాము, అది ప్రాజెక్టును అతిగా చేయదు.

ఈ ప్రాజెక్ట్‌లో మేము ఆర్టీసీ మాడ్యూల్‌ను ఉపయోగిస్తాము, ఇది ఒక నిర్దిష్ట వ్యవధిలో హాజరు వ్యవస్థను ప్రారంభించడానికి మరియు నిలిపివేయడానికి ఉపయోగించబడుతుంది, తద్వారా మేము ఆలస్యంగా వచ్చినవారిని బే వద్ద ఉంచవచ్చు.



RFID మాడ్యూల్ “RFID-RC522” ఇది NXP ఆధారిత RFID ట్యాగ్‌లపై చదవడం మరియు వ్రాయడం చేయగలదు. NXP ప్రపంచంలో RFID ట్యాగ్‌ల యొక్క ప్రధాన నిర్మాత మరియు మేము వాటిని ఆన్‌లైన్ మరియు ఆఫ్‌లైన్ స్టోర్లలో సులభంగా పొందవచ్చు.

16 x 2 LCD డిస్ప్లే ఉపయోగించబడుతుంది, ఇది సమయం, తేదీ, హాజరు సంఖ్య మొదలైన సమాచారాన్ని ప్రదర్శిస్తుంది.

చివరకు ఒక ఆర్డునో బోర్డు ఉపయోగించబడుతుంది ప్రాజెక్ట్ యొక్క మెదడు . మీరు బోర్డు యొక్క ఏదైనా సంస్కరణను ఎంచుకోవచ్చు.

ఇప్పుడు స్కీమాటిక్ రేఖాచిత్రాలకు వెళ్దాం:

ఆర్డునో టు ఎల్సిడి డిస్ప్లే కనెక్షన్:

దిగువ రేఖాచిత్రం ప్రకారం వైరింగ్‌ను కనెక్ట్ చేయండి మరియు కాంట్రాస్ట్‌ను సర్దుబాటు చేయడానికి 10 కిలో ఓం పొటెన్టోమీటర్‌ను ఉపయోగించండి.

ఆర్డునో నుండి RFID మాడ్యూల్ కనెక్షన్:

RFID మాడ్యూల్ తప్పనిసరిగా 3.3V చేత శక్తినివ్వాలి మరియు 5V ఆన్ బోర్డు భాగాలను దెబ్బతీస్తుంది. ఆర్డునోతో కమ్యూనికేట్ చేస్తున్నప్పుడు RFID-RC522 మాడ్యూల్ SPI కమ్యూనికేషన్ ప్రోటోకాల్‌పై పనిచేస్తుంది.

మిగిలిన సర్క్యూట్:

ఆర్డునోను 9 వి వాల్ అడాప్టర్ నుండి శక్తినివ్వవచ్చు. కార్డు కనుగొనబడిందని సూచించడానికి బజర్ మరియు LED ఉంది. హాజరు చూడటానికి, మెమరీని క్లియర్ చేయడానికి మరియు “అవును” మరియు “లేదు” బటన్లకు 4 బటన్లు అందించబడ్డాయి.

ఇది హార్డ్వేర్ భాగాన్ని ముగించింది.

దయచేసి క్రింది లైబ్రరీ ఫైళ్ళను డౌన్‌లోడ్ చేయండి:

లింక్ 1: github.com/PaulStoffregen/DS1307RTC

లింక్ 2: github.com/PaulStoffregen/Time

లింక్ 3: github.com/miguelbalboa/rfid.git

ఇప్పుడు మేము దీన్ని చేయడానికి సరైన సమయాన్ని RTC మాడ్యూల్‌కు సెట్ చేయాలి, పూర్తి చేసిన హార్డ్‌వేర్ సెటప్‌తో క్రింది దశలను అనుసరించండి.

  • Arduino IDE ని తెరవండి.
  • ఫైల్> ఉదాహరణలు> DS1307RTC> సెట్‌టైమ్‌కు నావిగేట్ చేయండి.
  • కోడ్‌ను అప్‌లోడ్ చేయండి.

కోడ్ Arduino కి అప్‌లోడ్ అయిన తర్వాత, సీరియల్ మానిటర్ తెరవండి . ఇప్పుడు RTC మీ కంప్యూటర్ సమయంతో సమకాలీకరించబడింది.

ఇప్పుడు మీరు మొత్తం 12 RFID కార్డులు / ట్యాగ్‌ల యొక్క UID లేదా ప్రత్యేకమైన గుర్తింపు సంఖ్యను కనుగొనాలి. UID ని కనుగొనడానికి, దిగువ కోడ్‌ను అప్‌లోడ్ చేసి, సీరియల్ మానిటర్‌ను తెరవండి.

//-------------------------Program developed by R.Girish------------------//
#include
#include
#define SS_PIN 10
#define RST_PIN 9
MFRC522 rfid(SS_PIN, RST_PIN)
MFRC522::MIFARE_Key key
void setup()
{
Serial.begin(9600)
SPI.begin()
rfid.PCD_Init()
}
void loop() {
if ( ! rfid.PICC_IsNewCardPresent())
return
if ( ! rfid.PICC_ReadCardSerial())
return
MFRC522::PICC_Type piccType = rfid.PICC_GetType(rfid.uid.sak)
if (piccType != MFRC522::PICC_TYPE_MIFARE_MINI &&
piccType != MFRC522::PICC_TYPE_MIFARE_1K &&
piccType != MFRC522::PICC_TYPE_MIFARE_4K)
{
Serial.println(F('Your tag is not of type MIFARE Classic, your card/tag can't be read :('))
return
}
String StrID = ''
for (byte i = 0 i <4 i ++)
{
StrID +=
(rfid.uid.uidByte[i] <0x10 ? '0' : '') +
String(rfid.uid.uidByte[i], HEX) +
(i != 3 ? ':' : '' )
}
StrID.toUpperCase()
Serial.print('Your card's UID: ')
Serial.println(StrID)
rfid.PICC_HaltA ()
rfid.PCD_StopCrypto1 ()
}
//-------------------------Program developed by R.Girish------------------//

  • సీరియల్ మానిటర్ తెరవండి.
  • RFID మాడ్యూల్‌లో కార్డ్ / ట్యాగ్‌ను స్కాన్ చేయండి.
  • ఇప్పుడు మీరు ప్రతి కార్డుకు కొన్ని హెక్సాడెసిమల్ కోడ్‌ను చూస్తారు.
  • దానిని వ్రాసి, మేము తదుపరి డేటాను ఆ డేటాను నమోదు చేస్తాము.

ప్రధాన కార్యక్రమం:

//-------------------------Program developed by R.Girish------------------//
#include
#include
#include
#include
#include
#include
#include
#define SS_PIN 10
#define RST_PIN 9
MFRC522 rfid(SS_PIN, RST_PIN)
MFRC522::MIFARE_Key key
const int rs = 7
const int en = 6
const int d4 = 5
const int d5 = 4
const int d6 = 3
const int d7 = 2
const int LED = 8
boolean ok = false
LiquidCrystal lcd(rs, en, d4, d5, d6, d7)
const int list = A0
const int CLM = A1
const int yes = A2
const int no = A3
int H = 0
int M = 0
int S = 0
int i = 0
int ID1 = 0
int ID2 = 0
int ID3 = 0
int ID4 = 0
int ID5 = 0
int ID6 = 0
int ID7 = 0
int ID8 = 0
int ID9 = 0
int ID10 = 0
int ID11 = 0
int ID12 = 0
char UID[] = ''
// **************************** SETTINGS ************************ //
// ------ From -------- // (Set the time range for attendance in hours 0 to 23)
int h = 21 // Hrs
int m = 00 // Min
// ------- To ------- //
int h1 = 21 // Hrs
int m1 = 50 //Min
// ---------------- SET UIDs ----------------- //
char UID1[] = 'F6:97:ED:70'
char UID2[] = '45:B8:AF:C0'
char UID3[] = '15:9F:A5:C0'
char UID4[] = 'C5:E4:AD:C0'
char UID5[] = '65:1D:AF:C0'
char UID6[] = '45:8A:AF:C0'
char UID7[] = '15:9F:A4:C0'
char UID8[] = '55:CB:AF:C0'
char UID9[] = '65:7D:AF:C0'
char UID10[] = '05:2C:AA:04'
char UID11[] = '55:7D:AA:04'
char UID12[] = 'BD:8A:16:0B'
// -------------- NAMES -----------------------//
char Name1[] = 'Student1'
char Name2[] = 'Student2'
char Name3[] = 'Student3'
char Name4[] = 'Student4'
char Name5[] = 'Student5'
char Name6[] = 'Student6'
char Name7[] = 'Student7'
char Name8[] = 'Student8'
char Name9[] = 'Student9'
char Name10[] = 'Student10'
char Name11[] = 'Student11'
char Name12[] = 'Student12'
// ********************************************************** //
void setup()
{
Serial.begin(9600)
lcd.begin(16, 2)
SPI.begin()
rfid.PCD_Init()
pinMode(yes, INPUT)
pinMode(no, INPUT)
pinMode(list, INPUT)
pinMode(LED, OUTPUT)
pinMode(CLM, INPUT)
digitalWrite(CLM, HIGH)
digitalWrite(LED, LOW)
digitalWrite(yes, HIGH)
digitalWrite(no, HIGH)
digitalWrite(list, HIGH)
}
void loop()
{
if (digitalRead(list) == LOW)
{
Read_data()
}
if (digitalRead(CLM) == LOW)
{
clear_Memory()
}
tmElements_t tm
if (RTC.read(tm))
{
lcd.clear()
H = tm.Hour
M = tm.Minute
S = tm.Second
lcd.setCursor(0, 0)
lcd.print('TIME:')
lcd.print(tm.Hour)
lcd.print(':')
lcd.print(tm.Minute)
lcd.print(':')
lcd.print(tm.Second)
lcd.setCursor(0, 1)
lcd.print('DATE:')
lcd.print(tm.Day)
lcd.print('/')
lcd.print(tm.Month)
lcd.print('/')
lcd.print(tmYearToCalendar(tm.Year))
delay(1000)
} else {
if (RTC.chipPresent())
{
lcd.setCursor(0, 0)
lcd.print('RTC stopped!!!')
lcd.setCursor(0, 1)
lcd.print('Run SetTime code')
} else {
lcd.clear()
lcd.setCursor(0, 0)
lcd.print('Read error!')
lcd.setCursor(0, 1)
lcd.print('Check circuitry!')
}
}
if (H == h)
{
if (M == m)
{
ok = true
}
}
if (H == h1)
{
if (M == m1)
{
ok = false
}
}
if ( ! rfid.PICC_IsNewCardPresent())
return
if ( ! rfid.PICC_ReadCardSerial())
return
MFRC522::PICC_Type piccType = rfid.PICC_GetType(rfid.uid.sak)
if (piccType != MFRC522::PICC_TYPE_MIFARE_MINI &&
piccType != MFRC522::PICC_TYPE_MIFARE_1K &&
piccType != MFRC522::PICC_TYPE_MIFARE_4K)
{
Serial.println(F('Your tag is not of type MIFARE Classic, your card/tag can't be read :('))
}
String StrID = ''
for (byte i = 0 i <4 i ++)
{
StrID +=
(rfid.uid.uidByte[i] <0x10 ? '0' : '') +
String(rfid.uid.uidByte[i], HEX) +
(i != 3 ? ':' : '' )
}
StrID.toUpperCase()
if (ok == false)
{
lcd.clear()
lcd.setCursor(0, 0)
lcd.print('Attendance is')
lcd.setCursor(0, 1)
lcd.print('Closed.')
delay(1000)
}
if (ok)
{
//-----------------------------------//
if (StrID == UID1)
{
ID1 = EEPROM.read(1)
ID1 = ID1 + 1
if (ID1 == 256)
{
lcd.clear()
lcd.setCursor(0, 0)
lcd.print('Memory is Full')
lcd.setCursor(0, 1)
lcd.print('Please Clear All.')
for (i = 0 i <20 i++)
{
digitalWrite(LED, HIGH)
delay(100)
digitalWrite(LED, LOW)
delay(100)
}
i = 0
return
}
if (ID1 != 256)
{
EEPROM.write(1, ID1)
lcd.clear()
lcd.setCursor(0, 0)
lcd.print('Your Attendance')
lcd.setCursor(0, 1)
lcd.print('Registered !!!')
digitalWrite(LED, HIGH)
delay(1000)
digitalWrite(LED, LOW)
return
}
}
//-----------------------------------//
if (StrID == UID2)
{
ID2 = EEPROM.read(2)
ID2 = ID2 + 1
if (ID2 == 256)
{
lcd.clear()
lcd.setCursor(0, 0)
lcd.print('Memory is Full')
lcd.setCursor(0, 1)
lcd.print('Please Clear All.')
for (i = 0 i <20 i++)
{
digitalWrite(LED, HIGH)
delay(100)
digitalWrite(LED, LOW)
delay(100)
}
i = 0
return
}
if (ID2 != 256)
{
EEPROM.write(2, ID2)
lcd.clear()
lcd.setCursor(0, 0)
lcd.print('Your Attendance')
lcd.setCursor(0, 1)
lcd.print('Registered !!!')
digitalWrite(LED, HIGH)
delay(1000)
digitalWrite(LED, LOW)
return
}
}
//-----------------------------------//
if (StrID == UID3)
{
ID3 = EEPROM.read(3)
ID3 = ID3 + 1
if (ID3 == 256)
{
lcd.clear()
lcd.setCursor(0, 0)
lcd.print('Memory is Full')
lcd.setCursor(0, 1)
lcd.print('Please Clear All.')
for (i = 0 i <20 i++)
{
digitalWrite(LED, HIGH)
delay(100)
digitalWrite(LED, LOW)
delay(100)
}
i = 0
return
}
if (ID3 != 256)
{
EEPROM.write(3, ID3)
lcd.clear()
lcd.setCursor(0, 0)
lcd.print('Your Attendance')
lcd.setCursor(0, 1)
lcd.print('Registered !!!')
digitalWrite(LED, HIGH)
delay(1000)
digitalWrite(LED, LOW)
return
}
}
//-----------------------------------//
if (StrID == UID4)
{
ID4 = EEPROM.read(4)
ID4 = ID4 + 1
if (ID4 == 256)
{
lcd.clear()
lcd.setCursor(0, 0)
lcd.print('Memory is Full')
lcd.setCursor(0, 1)
lcd.print('Please Clear All.')
for (i = 0 i <20 i++)
{
digitalWrite(LED, HIGH)
delay(100)
digitalWrite(LED, LOW)
delay(100)
}
i = 0
return
}
if (ID4 != 256)
{
EEPROM.write(4, ID4)
lcd.clear()
lcd.setCursor(0, 0)
lcd.print('Your Attendance')
lcd.setCursor(0, 1)
lcd.print('Registered !!!')
digitalWrite(LED, HIGH)
delay(1000)
digitalWrite(LED, LOW)
return
}
}
//-----------------------------------//
if (StrID == UID5)
{
ID5 = EEPROM.read(5)
ID5 = ID5 + 1
if (ID5 == 256)
{
lcd.clear()
lcd.setCursor(0, 0)
lcd.print('Memory is Full')
lcd.setCursor(0, 1)
lcd.print('Please Clear All.')
for (i = 0 i <20 i++)
{
digitalWrite(LED, HIGH)
delay(100)
digitalWrite(LED, LOW)
delay(100)
}
i = 0
return
}
if (ID5 != 256)
{
EEPROM.write(5, ID5)
lcd.clear()
lcd.setCursor(0, 0)
lcd.print('Your Attendance')
lcd.setCursor(0, 1)
lcd.print('Registered !!!')
digitalWrite(LED, HIGH)
delay(1000)
digitalWrite(LED, LOW)
return
}
}
//-----------------------------------//
if (StrID == UID6)
{
ID6 = EEPROM.read(6)
ID6 = ID6 + 1
if (ID6 == 256)
{
lcd.clear()
lcd.setCursor(0, 0)
lcd.print('Memory is Full')
lcd.setCursor(0, 1)
lcd.print('Please Clear All.')
for (i = 0 i <20 i++)
{
digitalWrite(LED, HIGH)
delay(100)
digitalWrite(LED, LOW)
delay(100)
}
i = 0
return
}
if (ID6 != 256)
{
EEPROM.write(6, ID6)
lcd.clear()
lcd.setCursor(0, 0)
lcd.print('Your Attendance')
lcd.setCursor(0, 1)
lcd.print('Registered !!!')
digitalWrite(LED, HIGH)
delay(1000)
digitalWrite(LED, LOW)
return
}
}
//-----------------------------------//
if (StrID == UID7)
{
ID7 = EEPROM.read(7)
ID7 = ID7 + 1
if (ID7 == 256)
{
lcd.clear()
lcd.setCursor(0, 0)
lcd.print('Memory is Full')
lcd.setCursor(0, 1)
lcd.print('Please Clear All.')
for (i = 0 i <20 i++)
{
digitalWrite(LED, HIGH)
delay(100)
digitalWrite(LED, LOW)
delay(100)
}
i = 0
return
}
if (ID7 != 256)
{
EEPROM.write(7, ID7)
lcd.clear()
lcd.setCursor(0, 0)
lcd.print('Your Attendance')
lcd.setCursor(0, 1)
lcd.print('Registered !!!')
digitalWrite(LED, HIGH)
delay(1000)
digitalWrite(LED, LOW)
return
}
}
//-----------------------------------//
if (StrID == UID8)
{
ID8 = EEPROM.read(8)
ID8 = ID1 + 1
if (ID8 == 256)
{
lcd.clear()
lcd.setCursor(0, 0)
lcd.print('Memory is Full')
lcd.setCursor(0, 1)
lcd.print('Please Clear All.')
for (i = 0 i <20 i++)
{
digitalWrite(LED, HIGH)
delay(100)
digitalWrite(LED, LOW)
delay(100)
}
i = 0
return
}
if (ID8 != 256)
{
EEPROM.write(8, ID8)
lcd.clear()
lcd.setCursor(0, 0)
lcd.print('Your Attendance')
lcd.setCursor(0, 1)
lcd.print('Registered !!!')
digitalWrite(LED, HIGH)
delay(1000)
digitalWrite(LED, LOW)
return
}
}
//-----------------------------------//
if (StrID == UID9)
{
ID9 = EEPROM.read(9)
ID9 = ID9 + 1
if (ID9 == 256)
{
lcd.clear()
lcd.setCursor(0, 0)
lcd.print('Memory is Full')
lcd.setCursor(0, 1)
lcd.print('Please Clear All.')
for (i = 0 i <20 i++)
{
digitalWrite(LED, HIGH)
delay(100)
digitalWrite(LED, LOW)
delay(100)
}
i = 0
return
}
if (ID9 != 256)
{
EEPROM.write(9, ID9)
lcd.clear()
lcd.setCursor(0, 0)
lcd.print('Your Attendance')
lcd.setCursor(0, 1)
lcd.print('Registered !!!')
digitalWrite(LED, HIGH)
delay(1000)
digitalWrite(LED, LOW)
return
}
}
//-----------------------------------//
if (StrID == UID10)
{
ID10 = EEPROM.read(10)
ID10 = ID10 + 1
if (ID10 == 256)
{
lcd.clear()
lcd.setCursor(0, 0)
lcd.print('Memory is Full')
lcd.setCursor(0, 1)
lcd.print('Please Clear All.')
for (i = 0 i <20 i++)
{
digitalWrite(LED, HIGH)
delay(100)
digitalWrite(LED, LOW)
delay(100)
}
i = 0
return
}
if (ID10 != 256)
{
EEPROM.write(10, ID10)
lcd.clear()
lcd.setCursor(0, 0)
lcd.print('Your Attendance')
lcd.setCursor(0, 1)
lcd.print('Registered !!!')
digitalWrite(LED, HIGH)
delay(1000)
digitalWrite(LED, LOW)
return
}
}
//-----------------------------------//
if (StrID == UID11)
{
ID11 = EEPROM.read(11)
ID11 = ID11 + 1
if (ID11 == 256)
{
lcd.clear()
lcd.setCursor(0, 0)
lcd.print('Memory is Full')
lcd.setCursor(0, 1)
lcd.print('Please Clear All.')
for (i = 0 i <20 i++)
{
digitalWrite(LED, HIGH)
delay(100)
digitalWrite(LED, LOW)
delay(100)
}
i = 0
return
}
if (ID11 != 256)
{
EEPROM.write(11, ID11)
lcd.clear()
lcd.setCursor(0, 0)
lcd.print('Your Attendance')
lcd.setCursor(0, 1)
lcd.print('Registered !!!')
digitalWrite(LED, HIGH)
delay(1000)
digitalWrite(LED, LOW)
return
}
}
//-----------------------------------//
if (StrID == UID12)
{
ID12 = EEPROM.read(12)
ID12 = ID12 + 1
if (ID12 == 256)
{
lcd.clear()
lcd.setCursor(0, 0)
lcd.print('Memory is Full')
lcd.setCursor(0, 1)
lcd.print('Please Clear All.')
for (i = 0 i <20 i++)
{
digitalWrite(LED, HIGH)
delay(100)
digitalWrite(LED, LOW)
delay(100)
}
i = 0
return
}
if (ID12 != 256)
{
EEPROM.write(12, ID12)
lcd.clear()
lcd.setCursor(0, 0)
lcd.print('Your Attendance')
lcd.setCursor(0, 1)
lcd.print('Registered !!!')
digitalWrite(LED, HIGH)
delay(1000)
digitalWrite(LED, LOW)
return
}
}
if (StrID != UID1 || StrID != UID2 || StrID != UID3 || StrID != UID4
|| StrID != UID5 || StrID != UID6 || StrID != UID7 || StrID != UID8
|| StrID != UID9 || StrID != UID10 || StrID != UID11 || StrID != UID12)
{
lcd.clear()
lcd.setCursor(0, 0)
lcd.print('Unknown RFID')
lcd.setCursor(0, 1)
lcd.print('Card !!!')
for (i = 0 i <3 i++)
{
digitalWrite(LED, HIGH)
delay(200)
digitalWrite(LED, LOW)
delay(200)
}
}
rfid.PICC_HaltA ()
rfid.PCD_StopCrypto1()
}
}
void Read_data()
{
lcd.clear()
lcd.setCursor(0, 0)
lcd.print(Name1)
lcd.print(':')
lcd.print(EEPROM.read(1))
lcd.setCursor(0, 1)
lcd.print(Name2)
lcd.print(':')
lcd.print(EEPROM.read(2))
delay(2000)
lcd.clear()
lcd.setCursor(0, 0)
lcd.print(Name3)
lcd.print(':')
lcd.print(EEPROM.read(3))
lcd.setCursor(0, 1)
lcd.print(Name4)
lcd.print(':')
lcd.print(EEPROM.read(4))
delay(2000)
lcd.clear()
lcd.setCursor(0, 0)
lcd.print(Name5)
lcd.print(':')
lcd.print(EEPROM.read(5))
lcd.setCursor(0, 1)
lcd.print(Name6)
lcd.print(':')
lcd.print(EEPROM.read(6))
delay(2000)
lcd.clear()
lcd.setCursor(0, 0)
lcd.print(Name7)
lcd.print(':')
lcd.print(EEPROM.read(7))
lcd.setCursor(0, 1)
lcd.print(Name8)
lcd.print(':')
lcd.print(EEPROM.read(8))
delay(2000)
lcd.clear()
lcd.setCursor(0, 0)
lcd.print(Name9)
lcd.print(':')
lcd.print(EEPROM.read(9))
lcd.setCursor(0, 1)
lcd.print(Name10)
lcd.print(':')
lcd.print(EEPROM.read(10))
delay(2000)
lcd.clear()
lcd.setCursor(0, 0)
lcd.print(Name11)
lcd.print(':')
lcd.print(EEPROM.read(11))
lcd.setCursor(0, 1)
lcd.print(Name12)
lcd.print(':')
lcd.print(EEPROM.read(12))
delay(2000)
}
void clear_Memory()
{
lcd.clear()
lcd.print(0, 0)
lcd.print(F('Clear All Data?'))
lcd.setCursor(0, 1)
lcd.print(F('Long press: Y/N'))
delay(2500)
Serial.print('YES')
if (digitalRead(yes) == LOW)
{
EEPROM.write(1, 0)
EEPROM.write(2, 0)
EEPROM.write(3, 0)
EEPROM.write(4, 0)
EEPROM.write(5, 0)
EEPROM.write(6, 0)
EEPROM.write(7, 0)
EEPROM.write(8, 0)
EEPROM.write(9, 0)
EEPROM.write(10, 0)
EEPROM.write(11, 0)
EEPROM.write(12, 0)
lcd.clear()
lcd.setCursor(0, 0)
lcd.print(F('All Data Cleared'))
lcd.setCursor(0, 1)
lcd.print(F('****************'))
delay(1500)
}
if (digitalRead(no) == LOW)
{
return
}
}
//-------------------------Program developed by R.Girish------------------//

// ---------------- UID లను సెట్ చేయండి ----------------- //

చార్ UID1 [] = 'F6: 97: ED: 70'

చార్ UID2 [] = '45: B8: AF: C0 '

చార్ UID3 [] = '15: 9F: A5: C0 '

చార్ UID4 [] = 'C5: E4: AD: C0'

చార్ UID5 [] = '65: 1D: AF: C0 '

చార్ UID6 [] = '45: 8A: AF: C0 '

చార్ UID7 [] = '15: 9F: A4: C0 '

చార్ UID8 [] = '55: CB: AF: C0 '

చార్ UID9 [] = '65: 7D: AF: C0 '

చార్ UID10 [] = '05: 2C: AA: 04 '

చార్ UID11 [] = '55: 7D: AA: 04 '

చార్ UID12 [] = 'BD: 8A: 16: 0B'

// ---------------------------------------------- //

మీకు ఇక్కడ స్థల పేర్లు ఉన్నాయి:

// -------------- పేర్లు ----------------------- //

చార్ పేరు 1 [] = 'స్టూడెంట్ 1'

చార్ పేరు 2 [] = 'స్టూడెంట్ 2'

చార్ పేరు 3 [] = 'స్టూడెంట్ 3'

చార్ పేరు 4 [] = 'స్టూడెంట్ 4'

చార్ పేరు 5 [] = 'స్టూడెంట్ 5'

చార్ పేరు 6 [] = 'స్టూడెంట్ 6'

చార్ పేరు 7 [] = 'స్టూడెంట్ 7'

చార్ పేరు 8 [] = 'స్టూడెంట్ 8'

చార్ పేరు 9 [] = 'స్టూడెంట్ 9'

చార్ పేరు 10 [] = 'స్టూడెంట్ 10'

చార్ పేరు 11 [] = 'స్టూడెంట్ 11'

చార్ పేరు 12 [] = 'స్టూడెంట్ 12'

// -------------------------------------------- //

స్టూడెంట్ 1, స్టూడెంట్ 2 ను మీరు కోరుకున్న ఏ పేరుతోనైనా మార్చండి లేదా దానిని అలాగే ఉంచండి.

హాజరు వ్యవస్థ ఎప్పుడు చురుకుగా ఉండాలో మీరు సమయాన్ని సెట్ చేయాలి, మిగిలిన సమయం మేము RFID ట్యాగ్ / కార్డును స్కాన్ చేసినప్పుడు సిస్టమ్ హాజరును నమోదు చేయదు:

// ------ నుండి -------- //

int h = 21 // గంటలు

int m = 00 // కనిష్ట

// ------- నుండి ------- //

int h1 = 21 // గంటలు

int m1 = 50 // కనిష్ట

// ------------------------- //

ఎగువ భాగం ప్రారంభ సమయం మరియు దిగువ భాగం సమయం ముగుస్తుంది. మీరు గంట నుండి 0 నుండి 23 వరకు మరియు 00 నుండి 59 వరకు నిమిషాల్లో సమయం నమోదు చేయాలి.

రచయిత యొక్క నమూనా:

ఈ ప్రాజెక్ట్‌కు సంబంధించి మీకు ఏవైనా ప్రశ్నలు ఉంటే, వ్యాఖ్య విభాగంలో సంకోచించకండి, మీకు శీఘ్ర సమాధానం లభిస్తుంది.




మునుపటి: ఆర్డునో ఆటోమేటిక్ స్కూల్ / కాలేజ్ బెల్ సిస్టమ్ తర్వాత: ఛార్జర్ మరియు డిమ్మర్ సర్క్యూట్‌తో 3 డి మూన్-స్పియర్ ఎల్‌ఇడి డ్రైవర్