ในโครงการระบบผู้เข้าร่วมที่ใช้ RFIDนี้เราจะอธิบายวิธีนับจำนวนการเข้าร่วมโดยอัตโนมัติโดยใช้บัตร RFID เทคโนโลยี RFID (การระบุและตรวจจับความถี่วิทยุ) มักใช้ในโรงเรียนวิทยาลัยสำนักงานและสถานีเพื่อวัตถุประสงค์ต่างๆเพื่อติดตามบุคคลโดยอัตโนมัติ ที่นี่เราจะนับการเข้าร่วมของผู้มีอำนาจโดยใช้ RFID
เราสามารถแบ่งระบบการเข้าร่วมทั้งหมดออกเป็นส่วนต่างๆ ได้แก่ ส่วนผู้อ่านส่วนควบคุมส่วนคนขับและส่วนแสดงผล บทบาทของแต่ละส่วนแสดงในแผนภาพด้านล่าง:
ส่วนผู้อ่าน
ส่วนนี้ประกอบด้วย RFID ซึ่งเป็นอุปกรณ์อิเล็กทรอนิกส์ที่มีสองส่วนส่วนหนึ่งคือเครื่องอ่าน RFID และอื่น ๆ คือแท็ก RFID หรือการ์ด เมื่อเราวางแท็ก RFID ไว้ใกล้กับเครื่องอ่าน RFID มันจะอ่านข้อมูลแท็กแบบอนุกรม แท็ก RFID มีรหัสอักขระ 12 หลักในขดลวด RFID นี้ทำงานที่อัตราบอด 9600 bps RFID ใช้แม่เหล็กไฟฟ้าในการถ่ายโอนข้อมูลจากเครื่องอ่านไปยังแท็กหรือแท็กไปยังเครื่องอ่าน
ส่วนควบคุม:
ไมโครคอนโทรลเลอร์ 8051 ใช้สำหรับควบคุมกระบวนการทั้งหมดของโครงการนี้ โดยใช้ 8051 เรากำลังรับข้อมูล RFID และส่งสถานะหรือข้อความไปยัง LCD
ส่วนแสดง:
จอ LCD 16x2 ใช้ในโปรเจ็กต์นี้เพื่อแสดงข้อความ
ส่วนไดรเวอร์:
ส่วนนี้มีตัวขับมอเตอร์ L293D สำหรับเปิดประตูและกริ่งที่มีทรานซิสเตอร์ BC547 NPN สำหรับบ่งชี้
กำลังทำงาน
เมื่อบุคคลใส่แท็ก RFID ไปที่เครื่องอ่าน RFID แล้ว RFID จะอ่านข้อมูลของแท็กและส่งไปยังไมโครคอนโทรลเลอร์ 8051 จากนั้นไมโครคอนโทรลเลอร์จะเปรียบเทียบข้อมูลนี้กับข้อมูลหรือข้อมูลที่กำหนดไว้ หากข้อมูลตรงกับข้อมูลที่กำหนดไมโครคอนโทรลเลอร์จะเพิ่มการเข้าร่วมโดยหนึ่งในบุคคลของแท็กและหากไม่ตรงกันไมโครคอนโทรลเลอร์จะแสดงการ์ดที่ไม่ถูกต้องบนจอ LCD และเสียงสัญญาณเตือนจะดังต่อเนื่องเป็นระยะเวลาหนึ่ง
แผนภาพวงจรสำหรับโครงการระบบการเข้าร่วม RFID แบบเบสแสดงไว้ด้านบน ในวงจร LCD เชื่อมต่อในโหมดสี่บิตด้วยไมโครคอนโทรลเลอร์ 8051 หมุด RS, RW และ EN ของ LCD เชื่อมต่อโดยตรงที่ PORT 1 พินหมายเลข P1.0, P1.1 และ P1.2 ขา D4, D5, D6 และ D7 ของ LCD เชื่อมต่อโดยตรงที่พิน P1.4, P1.5, P1.6 และ P1.7 ของพอร์ต 1 ตัวขับมอเตอร์เชื่อมต่อที่หมายเลขพิน PORT P2.4 และ P2.5 และกริ่งเชื่อมต่อที่ P2.6 ที่ PORT2
คำอธิบายโปรแกรม
ในการตั้งโปรแกรมสำหรับระบบ Attedance ตาม RFID อันดับแรกเราต้องรวมไฟล์ส่วนหัวและกำหนดพินอินพุตและเอาต์พุตและตัวแปร
# รวม
หลังจากนี้เราต้องสร้างฟังก์ชันสำหรับการหน่วงเวลา
ความล่าช้าเป็นโมฆะ (int itime) {int i, j; สำหรับ (i = 0; i
จากนั้นเราจะสร้างฟังก์ชั่นบางอย่างสำหรับ LCD และเริ่มการทำงานของ LCD
โมฆะ lcd_init (โมฆะ) {lcdcmd (0x02); lcdcmd (0x28); lcdcmd (0x0e); lcdcmd (0x01); }
ที่นี่เรามีฟังก์ชันบางอย่างที่เราใช้ในโปรแกรมของเรา ในสิ่งนี้เราได้กำหนดค่าอัตรารับส่งข้อมูล 9600bps ที่ความถี่คริสตัล 11.0592MHz เรากำลังตรวจสอบการลงทะเบียน SBUF สำหรับการรับข้อมูล
เป็นโมฆะ uart_init () {TMOD = 0x20; SCON = 0x50; TH1 = 0xfd; TR1 = 1; } ถ่าน rxdata () {while (! RI); ch = SBUF; RI = 0; กลับ ch; }
หลังจากนี้ในโปรแกรมหลักเราได้เริ่มต้น LCD และ UART จากนั้นเราจะอ่านผลลัพธ์ของ RFID เมื่อมีแท็กใดแท็กหนึ่งอยู่ เราเก็บสตริงนี้ไว้ในอาร์เรย์แล้วจับคู่กับข้อมูลอาร์เรย์ที่กำหนดไว้ล่วงหน้า
lcdcmd (1); lcdstring ("วางบัตรของคุณ:"); lcdcmd (0xc0); ฉัน = 0; สำหรับ (i = 0; i <12; i ++) rfid = rxdata (); rfid = '\ 0'; lcdcmd (1);
หากเกิดการจับคู่คอนโทรลเลอร์จะเพิ่มการเข้าร่วมทีละคน เสียงบี๊บอื่นจะทำงานอย่างต่อเนื่องและ LCD แสดงการ์ดที่ไม่ถูกต้อง
ถ้า (strncmp (rfid, "160066A5EC39", 12) == 0) {count1 ++; lcdcmd (1); lcdstring ("ผู้เข้าร่วม"); lcdcmd (0xc0); lcdstring ("จดทะเบียน"); ล่าช้า (200); lcdcmd (1); lcdstring ("Student1"); lcdcmd (0xc0); lcdstring ("Attnd. No.:"); sprintf (ผลลัพธ์ "% d" count1); lcdstring (ผล);
เค้าโครง PCB
นี่คือเค้าโครง PCB สำหรับระบบผู้เข้าร่วมที่ใช้ RFID: