โปรเจกต์: Version 2.0 Advanced Attendance System (Without Ethernet)
เฮ้ น้องๆ! กลับมาพบกับรุ่นพี่อีกแล้ว วันนี้เราจะมาอัพเกรดระบบเช็คชื่อกันแบบจัดเต็ม กับ "Online RFID Attendance System Version 2" กัน!
เวอร์ชั่นแรกอาจจะดูยากไปหน่อยสำหรับน้องๆ ที่ยังไม่คล่องเรื่องโค้ดดิ้งใช่ไหม? ไม่ต้องห่วง! เวอร์ชั่น 2 นี้ รุ่นพี่ทำให้มันง่ายขึ้นมาก แค่ต่อสายให้ถูก ก็สร้างระบบเช็คชื่อออนไลน์ของตัวเองได้เลย หล่อเท่เลยงานนี้!
ในเวอร์ชั่นนี้ เราจะทำระบบเช็คชื่อที่ครบเครื่องจริงๆ มี LCD Display ให้ดูสถานการณ์กันชัดๆ เลย
มันทำงานยังไงนะ?
Circuit :
ARDUINO-RFID-LCD-LED-BUZZER COMPLETE CIRCUIT
ถ้าใครงงการต่อสาย ให้ไปดูรายละเอียด Pin Connections ในส่วน Schematics นะ
การต่อวงจรสำหรับ LCD SCREEN:
- pin3 ไปที่ GND ผ่านตัวต้านทาน 220 โอห์ม
- LCD RS pin ไปที่ digital pin A0
- LCD Enable pin ไปที่ digital pin A1
- LCD D4 pin ไปที่ digital pin 5
- LCD D5 pin ไปที่ digital pin 4
- LCD D6 pin ไปที่ digital pin 3
- LCD D7 pin ไปที่ digital pin 2
- LCD R/W pin ไปที่ ground
- LCD VSS pin ไปที่ ground
- LCD VCC pin ไปที่ 5V
Programming:
ขั้นตอนที่ 1: ก่อนจะใช้ระบบของเรา น้องต้องทำตามขั้นตอนนี้ก่อน:
- สร้าง Attendance User Group
- สร้าง Validation key
ให้ไปที่ลิงก์ด้านล่างนี้เพื่อสร้าง Group และขอ Validation Key ฟรีเลย เก็บ Validation Key นี้ไว้ให้ดีนะ!

ขั้นตอนที่ 2: ดาวน์โหลดไฟล์จากลิงก์ด้านล่าง ที่จำเป็นสำหรับการ sync ระหว่าง Arduino กับ Web Application ของเรา
หมายเหตุ: โปรแกรมนี้สำหรับ Windows OS เท่านั้นนะ รุ่นพี่กำลังพยายามทำเวอร์ชั่น OS อื่นอยู่ สู้งานนะน้อง!
ให้แตกไฟล์จาก zip ทั้งสองอัน แล้วเซฟไว้ในเครื่อง จากนั้นเลือกใช้ตามสถาปัตยกรรม Windows ของน้อง (32 หรือ 64 บิต)
ขั้นตอนที่ 3: เชื่อมต่อ Arduino และ RFID Reader เข้ากับคอมเครื่องเดียวกัน
ขั้นตอนที่ 4: คัดลอกโค้ด Arduino จากส่วน code มาใส่ใน Arduino editor แล้วอัพโหลดลงบอร์ดได้เลย
ขั้นตอนที่ 5: รันโปรแกรม Desktop ชื่อ "addRFIDTagsProg" ที่อยู่ในโฟลเดอร์ "addRFIDTagsProg.zip"
ถ้าต่อทุกอย่างถูกต้อง โปรแกรมจะเปิดขึ้นมาและแสดงหน้าต่างแบบในรูปด้านล่าง ถ้าไม่ถูกต้องจะได้หน้าจอว่างๆ แทน
รูปด้านล่างนี้จะถามหา port สำหรับสื่อสาร ให้เลือกตามที่มีในเครื่องนะ
Showing Available Serial Ports
หลังจากนั้นจะเห็นหน้าต่างแบบนี้
Enter Generated Validation key here
ตอนนี้ให้ใส่ Validation key ที่สร้างจาก ขั้นตอนที่ 1 ลงไป แล้วกดปุ่ม validate key ระบบจะตรวจสอบสิทธิ์ให้
หลังจากการตรวจสอบแล้ว น้องสามารถเพิ่มผู้ใช้ได้เลยผ่านหน้าต่างเดิมนี้ มันจะถามหา validation key แค่ครั้งเดียวเท่านั้น
สำหรับการเพิ่มผู้ใช้ ให้รันโปรแกรมเดิมอีกครั้งหลัง validation แล้วมันจะแสดงหน้าจอแบบด้านล่าง ให้เลือก port อีกที:
Choose port to add student/employee
หลังจากเลือก port ที่ว่างถูกต้องแล้ว จะเห็นหน้าจอแบบนี้
หน้าจอนี้ใช้สำหรับเพิ่มผู้ใช้ น้องต้องนำบัตรมาแตะที่หน้า RFID RC522 มันจะแสดง TAG UID ขึ้นมา จากนั้นก็แค่พิมพ์ชื่อผู้ใช้ที่จะใช้บัตรนี้ แล้วกด Enter (ปุ่มจะปรากฏขึ้นหลังการแตะบัตร)
ถ้าผู้ใช้ถูกเพิ่มสำเร็จ จะมีข้อความแจ้งเตือน และน้องสามารถดูรายชื่อผู้ใช้ได้ที่ Web Panel
ขั้นตอนที่ 6: ตอนนี้น้องสามารถเพิ่มผู้ใช้ (พนักงาน/นักเรียน) เข้าไปในกลุ่มได้แล้ว โดยต้อง Login เข้า Web Application ก่อน ไปที่ลิงก์ด้านล่างแล้ว Login ได้เลย

ไปที่ Tab User’s -> Pending User List จากตรงนี้ น้องจะสามารถกำหนด RFID Tags ให้กับพนักงานหรือนักเรียนได้
ขั้นตอนที่ 7: รันโปรแกรม Desktop ชื่อ "markOnlineAttendance" ที่อยู่ในโฟลเดอร์ "markattendancewin64.zip"
หน้าจอจะเปิดขึ้นมาแบบในรูปด้านล่าง แสดง Status: connected

สำหรับการเช็คชื่อ ให้ถือ RFID Tags ใกล้ๆ RFID Reader สักสองสามวินาที ระบบก็จะบันทึกการเข้างานให้กับคนที่บัตร RFID นั้นๆ เป็นของ
ขั้นตอนที่ 8: ถ้าอยากดูสถิติการเข้างานของพนักงาน/นักเรียนในแต่ละเดือนหรือแต่ละปี ทำตามขั้นตอนนี้:
- ไปที่ Tab Attendance Controls -> View Attendance
- เลือกเดือนและปี
- กดปุ่ม "show"
รายการจะแสดงขึ้นมาแบบในรูปด้านล่าง
Attendance Panel
เย่!!! เสร็จแล้ววว
ถ้าชอบก็ให้กำลังใจรุ่นพี่หน่อยนะ
มีคำถามอะไร เดี๋ยวรุ่นพี่มาตอบให้ในช่องคอมเมนต์เลย จัดไปวัยรุ่น!
รายละเอียดเทคนิคเพิ่มเติม (แบบจัดเต็ม)
Offline Identity Verification
Version 2.0 ของระบบนี้ทำให้การติดตั้งง่ายขึ้นโดยไม่ต้องเชื่อมต่อเน็ต แต่ใช้การเก็บข้อมูลความเร็วสูงในเครื่องแทน
- RFID UID Identification: ใช้ MFRC522 RFID module โดย Arduino จะอ่าน UID ขนาด 4-byte ที่เป็นเอกลักษณ์ของบัตรนักเรียนแต่ละใบ และตรวจสอบกับตารางข้อมูลที่เก็บไว้ใน microSD card
- RTC Data Logging: ทุกครั้งที่ "Clock-in" สำเร็จ จะถูกบันทึกเป็นข้อมูล CSV (เวลา, วันที่, UID) ลงใน SD card เพื่อให้มีบันทึกการเข้างานที่ป้องกันการแก้ไขได้
User Interaction
- Dual-Mode Dashboard: มี LCD ขนาด 16x2 ที่จะแสดงข้อความ "Welcome [ชื่อนักเรียน]" สำหรับบัตรที่อนุญาต และ "Access Denied" สำหรับบัตรที่ไม่รู้จัก พร้อมเสียงบัซเซอร์เพื่อการตอบรับที่ชัดเจน