ในโครงการนี้เราจะไปพัฒนา RFID และปุ่มกดตามระบบการรักษาความปลอดภัย โครงการนี้ดำเนินการโดยใช้ไมโครคอนโทรลเลอร์ 8051 RFID Tecnology (การระบุและตรวจจับความถี่วิทยุ) มักใช้ในโรงเรียนวิทยาลัยสำนักงานและสถานีเพื่อวัตถุประสงค์ต่างๆเพื่อตรวจสอบบุคคลที่มีแท็ก RFID ที่ถูกต้องโดยอัตโนมัติ ที่นี่เราจะตรวจสอบแท็ก RFID พร้อมกับรหัสผ่านที่เกี่ยวข้องกับแท็กเพื่อรักษาความปลอดภัยของระบบ
กำลังทำงาน
เราสามารถแบ่งระบบความปลอดภัยทั้งหมดออกเป็นส่วนต่างๆ - ส่วนอ่าน, ปุ่มกด, ส่วนควบคุม, ส่วนไดรเวอร์และส่วนการแสดงผล การทำงานของระบบทั้งหมดและบทบาทของแต่ละส่วนสามารถเข้าใจได้จากแผนภาพบล็อกด้านล่าง
ส่วนผู้อ่าน:ส่วนนี้ประกอบด้วย RFID ซึ่งเป็นอุปกรณ์อิเล็กทรอนิกส์ที่มีสองส่วนส่วนหนึ่งคือเครื่องอ่าน RFID และอื่น ๆ คือแท็ก RFID หรือการ์ด เมื่อเราวางแท็ก RFID ใกล้กับเครื่องอ่าน RFID มันจะอ่านข้อมูลแท็กเป็นชุด แท็ก RFID ที่เราใช้ที่นี่มีรหัสอักขระ 12 หลักหรือหมายเลขซีเรียล RFID นี้ทำงานที่อัตราบอด 9600 bps
ปุ่มกด: ที่ นี่เราได้ใช้แป้นพิมพ์เมทริกซ์ 4x4 สำหรับป้อนรหัสผ่านเข้าสู่ระบบ
ควบคุมมาตรา: 8051 ไมโครคอนโทรลเลอร์ที่ใช้สำหรับการควบคุมกระบวนการทั้งหมดนี้ระบบรักษาความปลอดภัย RFID ตาม โดยใช้ 8051 เรากำลังรับข้อมูล RFID และส่งสถานะหรือข้อความไปยัง LCD
ส่วนการแสดงผล: 6x2 LCD ใช้ในโปรเจ็กต์นี้เพื่อแสดงข้อความ คุณสามารถดูบทช่วยสอนได้ที่นี่: การเชื่อมต่อ LCD กับไมโครคอนโทรลเลอร์ 8051
ส่วนของไดรเวอร์: ส่วนนี้มีตัวขับมอเตอร์ L293D สำหรับเปิดประตูและกริ่งที่มีทรานซิสเตอร์ BC547 NPN สำหรับการบ่งชี้
เมื่อบุคคลใส่แท็ก RFID ของเขาไปยังเครื่องอ่าน RFID แล้ว RFID จะอ่านข้อมูลของแท็กและส่งไปยังไมโครคอนโทรลเลอร์ 8051 จากนั้นไมโครคอนโทรลเลอร์จะเปรียบเทียบข้อมูลนี้กับข้อมูลที่กำหนดไว้ล่วงหน้า หากข้อมูลตรงกับข้อมูลที่กำหนดไว้ล่วงหน้าไมโครคอนโทรลเลอร์จะถามรหัสผ่านและหลังจากป้อนรหัสผ่านไมโครคอนโทรลเลอร์จะเปรียบเทียบรหัสผ่านกับรหัสผ่านที่กำหนดไว้ล่วงหน้า หากประตูจับคู่รหัสผ่านเปิดขึ้นมิฉะนั้นจะแสดง LCD การเข้าถึงถูกปฏิเสธและเสียงสัญญาณเตือนเริ่มส่งเสียงบี๊บเป็นระยะ
แผนภาพวงจรและคำอธิบาย
ดังที่แสดงไว้ในแผนภาพวงจรระบบรักษาความปลอดภัย RFID ด้านบน LCD 16x2 เชื่อมต่อในโหมดสี่บิตด้วยไมโครคอนโทรลเลอร์ หมุด 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 และปุ่มกดเชื่อมต่อที่ PORT0 แถวปุ่มกดเชื่อมต่อที่ P0.4 - P0.7 และ Columns เชื่อมต่อที่ P0.0 - P0.3
คำอธิบายโปรแกรม
ในขณะที่เขียนโปรแกรมไมโครคอนโทรลเลอร์ 8051 สำหรับระบบรักษาความปลอดภัยที่ใช้ RFID ก่อนอื่นเรารวมไฟล์ส่วนหัวและกำหนดพินอินพุตและเอาต์พุตและตัวแปร
# รวม
จากนั้นกำหนดพินสำหรับโมดูลปุ่มกด
sbit col1 = P0 ^ 0; sbit col2 = P0 ^ 1; sbit col3 = P0 ^ 2; sbit col4 = P0 ^ 3; แถว sbit1 = P0 ^ 4; แถว sbit2 = P0 ^ 5; sbit row3 = P0 ^ 6; sbit row4 = P0 ^ 7;
หลังจากนี้เราได้สร้างฟังก์ชันสำหรับการหน่วงเวลา
ความล่าช้าเป็นโมฆะ (int itime) {int i, j; สำหรับ (i = 0; i
จากนั้นเราจะสร้างฟังก์ชันบางอย่างสำหรับ LCD และเริ่มต้นฟังก์ชัน LCD
โมฆะ lcd_init (โมฆะ) {lcdcmd (0x02); lcdcmd (0x28); lcdcmd (0x0e); lcdcmd (0x01); }
ที่นี่เรามีฟังก์ชันบางอย่างที่เราใช้ในโปรแกรมของเรา ในสิ่งนี้เราได้กำหนดค่าอัตรารับส่งข้อมูล 9600bps ที่ความถี่คริสตัล 11.0592MHz และ fuction สำหรับการรับเรากำลังตรวจสอบการลงทะเบียน SBUF สำหรับการรับข้อมูล
เป็นโมฆะ uart_init () {TMOD = 0x20; SCON = 0x50; TH1 = 0xfd; TR1 = 1; } ถ่าน rxdata () {while (! RI); ch = SBUF; RI = 0; กลับ ch; }
หลังจากนี้ในโปรแกรมหลักเราได้เริ่มต้น LCD และ Uart จากนั้นเราจะอ่านผลลัพธ์ของ RFID เมื่อมีการติดแท็กใด ๆ เราจัดเก็บสตริงนี้ในอาร์เรย์แล้วจับคู่กับข้อมูลอาร์เรย์ที่กำหนดไว้ล่วงหน้า แล้วจับคู่รหัสผ่าน
ถ้า (strncmp (rfid, "160066A5EC39", 12) == 0) {ปุ่มกด (); ถ้า (strncmp (ผ่าน "4201", 4) == 0) {ยอมรับ (); lcdcmd (1); lcdstring ("ได้รับสิทธิ์การเข้าถึง"); lcdcmd (0xc0);
หากการแข่งขันเกิดขึ้นตัวควบคุมจะเปิดประตูมิฉะนั้นสัญญาณเตือนจะเริ่มขึ้นและ LCD แสดงการ์ดที่ไม่ถูกต้อง