কীভাবে একটি আরএফআইডি ভিত্তিক উপস্থিতি সিস্টেম তৈরি করবেন

সমস্যাগুলি দূর করার জন্য আমাদের উপকরণটি ব্যবহার করে দেখুন





এই পোস্টে আমরা একটি আরএফআইডি ভিত্তিক উপস্থিতি সিস্টেম তৈরি করতে যাচ্ছি, যা একটি নির্দিষ্ট সময় উইন্ডোর জন্য 12 শিক্ষার্থী / কর্মীদের উপস্থিতি রেকর্ড করতে পারে এবং এই সিস্টেমটি প্রতি ব্যক্তি 255 জন উপস্থিতি রেকর্ড করতে পারে।

আরএফআইডি উপস্থিতি সিস্টেম কি

আরএফআইডি ভিত্তিক উপস্থিতি ব্যবস্থা সম্পর্কে আমাদের কোনও পরিচয়ের প্রয়োজন নেই, কলেজ, অফিস, গ্রন্থাগারে কোনও ব্যক্তি কতবার বা কত সংখ্যক লোক কোন সময়ে এসেছেন এবং কীভাবে এসেছেন তা জানতে এটি ব্যবহার করা হচ্ছে।



এই প্রকল্পে আমরা একটি সহজতম আরএফআইডি ভিত্তিক উপস্থিতি সিস্টেম তৈরি করব যা প্রকল্পটিকে বেশি কাটবে না।

এই প্রকল্পে আমরা আরটিসি মডিউলটি ব্যবহার করব, যা একটি নির্দিষ্ট সময়ের মধ্যে উপস্থিতি সিস্টেমকে সক্ষম ও অক্ষম করার জন্য ব্যবহৃত হয়, যাতে আমরা দেরীতে আগতদের উপকার করতে পারি।



আরএফআইডি মডিউল 'আরএফআইডি-আরসি 522' যা এনএক্সপি ভিত্তিক আরএফআইডি ট্যাগগুলি পড়তে এবং লিখতে পারে operations এনএক্সপি বিশ্বের আরএফআইডি ট্যাগগুলির শীর্ষস্থানীয় নির্মাতা এবং আমরা এগুলি সহজেই অনলাইনে এবং অফলাইনে স্টোরগুলিতে পেতে পারি।

একটি 16 এক্স 2 এলসিডি ডিসপ্লে ব্যবহৃত হয়, যা সময়, তারিখ, উপস্থিতির সংখ্যা ইত্যাদির মতো তথ্য প্রদর্শন করতে is

এবং অবশেষে একটি আরডুইনো বোর্ড ব্যবহার করা হয় যা এটি প্রকল্পের মস্তিষ্ক । আপনি বোর্ডের যে কোনও সংস্করণ চয়ন করতে পারেন।

এখন আসুন স্কিম্যাটিক ডায়াগ্রামে এগিয়ে যাওয়া যাক:

আরডুইনো থেকে এলসিডি ডিসপ্লে সংযোগ:

কেবল নীচের চিত্র অনুযায়ী ওয়্যারিংগুলি সংযুক্ত করুন এবং বৈসাদৃশ্যটি সামঞ্জস্য করতে 10 কিলো ওহম পোটেনোমিটার ব্যবহার করুন।

আরডুইনো থেকে আরএফআইডি মডিউল সংযোগ:

আরএফআইডি মডিউলটি অবশ্যই 3.3V দ্বারা চালিত হওয়া উচিত এবং 5 ভি বোর্ডের উপাদানগুলির ক্ষতি করতে পারে। আরএফআইডি-আরসি 522 মডিউলটি আরডুইনোর সাথে যোগাযোগের সময় এসপিআই যোগাযোগ প্রোটোকলে কাজ করে।

সার্কিটের বাকি:

আরডুইনো 9 ভি ওয়াল অ্যাডাপ্টার থেকে চালিত হতে পারে। কার্ডটি সনাক্ত হয়েছে তা বোঝাতে একটি বুজার এবং এলইডি রয়েছে। উপস্থিতি দেখার জন্য, মেমরিটি সাফ করার জন্য এবং 'হ্যাঁ' এবং 'না' বোতামের জন্য 4 টি বোতাম সরবরাহ করা হয়েছে।

এটি হার্ডওয়্যার অংশটি শেষ করে।

নিম্নলিখিত গ্রন্থাগার ফাইলগুলি ডাউনলোড করুন:

লিঙ্ক 1: github.com/PauulStoffregen/DS1307RTC

লিংক 2: গিথুব.com/পলস্টফ্রেজেন / টাইম

লিঙ্ক 3: github.com/miguelbalboa/rfid.git

এটি করার জন্য এখন আমাদের আরটিসি মডিউলে সঠিক সময় নির্ধারণ করতে হবে, সম্পূর্ণ হার্ডওয়্যার সেটআপ সহ নীচের পদক্ষেপগুলি অনুসরণ করুন।

  • আরডুইনো আইডিই খুলুন।
  • ফাইল> উদাহরণসমূহ> DS1307RTC> সেটটাইমে নেভিগেট করুন।
  • কোড আপলোড করুন।

কোডটি আরডুইনোতে আপলোড হয়ে গেলে, সিরিয়াল মনিটর খুলুন । এখন আরটিসি আপনার কম্পিউটারের সময়ের সাথে সিঙ্ক্রোনাইজ করা হয়েছে।

এখন আপনাকে সমস্ত 12 টি আরএফআইডি কার্ড / ট্যাগগুলির ইউআইডি বা অনন্য পরিচয় সংখ্যাটি সন্ধান করতে হবে। ইউআইডি সন্ধানের জন্য, নীচের কোডটি আপলোড করুন এবং ক্রমিক মনিটরটি খুলুন।

//-------------------------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------------------//

  • সিরিয়াল মনিটর খুলুন।
  • আরএফআইডি মডিউলে কার্ড / ট্যাগটি স্ক্যান করুন।
  • এখন আপনি প্রতিটি কার্ডের জন্য কয়েকটি হেক্সাডেসিমাল কোড দেখতে পাবেন।
  • এটি লিখুন, আমরা পরবর্তী প্রোগ্রামে সেই তথ্য প্রবেশ করব।

মূল প্রোগ্রাম:

//-------------------------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------------------//

// ---------------- সেট ইউআইডি ----------------- //

চর ইউআইডি 1 [] = 'এফ 6: 97: ইডি: 70'

চর ইউআইডি 2 [] = '45: বি 8: এএফ: সি 0 '

চর ইউআইডি 3 [] = '15: 9 এফ: এ 5: সি 0 '

চর ইউআইডি 4 [] = 'সি 5: ই 4: এডি: সি 0'

চর ইউআইডি 5 [] = '65: 1 ডি: এএফ: সি 0 '

চর ইউআইডি 6 [] = '45: 8 এ: এএফ: সি 0 '

চর ইউআইডি 7 [] = '15: 9 এফ: এ 4: সি 0 '

চর ইউআইডি 8 [] = '55: সিবি: এএফ: সি 0 '

চর ইউআইডি 9 [] = '65: 7 ডি: এএফ: সি 0 '

চর ইউআইডি 10 [] = '05: 2 সি: এএ: 04 '

চর ইউআইডি 11 [] = '55: 7 ডি: এএ: 04 '

চর ইউআইডি 12 [] = 'বিডি: 8 এ: 16: 0 বি'

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

আপনার এখানে স্থানের নাম রয়েছে:

// -------------- নাম ----------------------- //

চর নাম 1 [] = 'ছাত্র 1'

চর নাম 2 [] = 'ছাত্র 2'

চর নাম 3 [] = 'ছাত্র 3'

চর নাম 4 [] = 'ছাত্র 4'

চর নাম 5 [] = 'শিক্ষার্থী 5'

চর নাম [[] = 'ছাত্র' '

চর নাম 7 [] = 'ছাত্র 7'

চর নাম 8 [] = 'ছাত্র 8'

চর নাম 9 [] = 'ছাত্র 9'

চর নাম 10 [] = 'শিক্ষার্থী 10'

চর নাম 11 [] = 'ছাত্র 11'

চর নাম 12 [] = 'ছাত্র 12'

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

শিক্ষার্থী 1, শিক্ষার্থী 2 কে আপনার ইচ্ছার যে কোনও নাম দিয়ে প্রতিস্থাপন করুন বা এটি যেমনটি ছেড়ে দিন।

উপস্থিতি ব্যবস্থা কখন সক্রিয় থাকতে হবে সে সময় থেকে আপনাকে সময় নির্ধারণ করতে হবে, আরএফআইডি ট্যাগ / কার্ড স্ক্যান করার সময় সিস্টেম উপস্থিতি নিবন্ধকরণ করবে না:

// ------ থেকে -------- //

int h = 21 // ঘন্টা

int m = 00 // ন্যূনতম

// ------- প্রতি ------- //

int h1 = 21 // ঘন্টা

int m1 = 50 // Min

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

উপরের অংশটি শুরু হওয়ার সময় এবং নীচের অংশটি শেষ হওয়ার সময়। আপনাকে ঘন্টা 0 থেকে 23 এবং মিনিট থেকে 00 থেকে 59 পর্যন্ত প্রবেশ করতে হবে।

লেখকের প্রোটোটাইপ:

এই প্রকল্পের বিষয়ে আপনার যদি কোনও প্রশ্ন থাকে তবে মন্তব্য বিভাগে নির্দ্বিধায় যোগাযোগ করুন, আপনি একটি দ্রুত উত্তর পেতে পারেন।




পূর্ববর্তী: আরডুইনো অটোমেটিক স্কুল / কলেজ বেল সিস্টেম পরবর্তী: চার্জার এবং ডিমার সার্কিট সহ 3 ডি মুন-স্পিয়ার এলইডি ড্রাইভার