สารบัญ:
- ขั้นตอนที่ 1: อะไหล่ที่จำเป็น
- ขั้นตอนที่ 2: สร้าง Arduino Controller
- ขั้นตอนที่ 3: สร้างเครื่องอ่าน RFID
- ขั้นตอนที่ 4: โปรแกรม
- ขั้นตอนที่ 5: ขยาย
วีดีโอ: Arduino RFID Door Lock: 5 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:09
***อัปเดตเมื่อ 8/9/2010*** ฉันต้องการสร้างวิธีที่ง่ายและปลอดภัยในการเข้าไปในโรงรถของฉัน RFID เป็นวิธีที่ดีที่สุดในการปลดล็อกประตู แม้ว่ามือของฉันจะเต็ม ฉันก็ยังสามารถปลดล็อกประตูและผลักให้เปิดได้! ฉันสร้างวงจรง่ายๆ ด้วยชิป Arduino พื้นฐาน ATMega 168 และเครื่องอ่าน RFID ID-20 เพื่อควบคุมการล็อคประตูแบบอิเล็กทรอนิกส์ วงจรประกอบด้วย 3 ส่วนแยกจากกัน คือ Reader สำหรับอ่านแท็ก RFID, คอนโทรลเลอร์สำหรับรับข้อมูลจากเครื่องอ่านและควบคุมเอาต์พุตของ RGB LED และล็อคประตูไฟฟ้า ล็อคประตูถูกติดตั้งครั้งแรกที่ประตูและทดสอบด้วยแบตเตอรี่ 9v เพื่อให้แน่ใจว่าการติดตั้งถูกต้อง ในกรณีส่วนใหญ่คุณต้องการให้วงจรเปิดตามปกติบนตัวล็อคประตูหรือ Fail Secure ซึ่งหมายความว่าประตูจะล็อคอยู่เมื่อไม่มีกระแสไหลผ่าน เมื่อผ่าน 12vDC ผ่านแม่เหล็กไฟฟ้าในล็อคประตู แผ่นในล็อคจะปล่อยและปล่อยให้ประตูถูกผลักเปิดได้อย่างอิสระ เครื่องอ่านถูกวางไว้ที่ด้านนอกของประตูและแยกออกจากตัวควบคุมภายในเพื่อไม่ให้ใครสามารถหลบเลี่ยงการรักษาความปลอดภัยได้โดยการเปิดเครื่องอ่านออกและพยายามลัดวงจรเครื่องอ่าน คอนโทรลเลอร์ได้รับข้อมูลอนุกรมจาก Reader และควบคุมไฟ LED RGB และล็อคประตู ในกรณีนี้ ฉันได้วางทั้งสองไว้บนแผงขนมปังแยกต่างหากสำหรับการทดสอบ นี่คือวิดีโอภาพรวมของระบบที่ใช้งานจริง อ่านต่อเพื่อดูวิธีสร้างระบบสำหรับตัวคุณเอง! **อัปเดต** การออกแบบโค้ด แผนผัง และ PCB ทั้งหมดได้รับการทดสอบและปรับปรุงแล้ว พวกเขาทั้งหมดถูกโพสต์ที่นี่เมื่อวันที่ 8/9/2553 วิดีโอที่อัปเดตของระบบสุดท้ายที่ติดตั้งและใช้งานได้
ขั้นตอนที่ 1: อะไหล่ที่จำเป็น
นี่คือรายการชิ้นส่วนและลิงก์ไปยัง SparkFun.com ที่ฉันซื้อมา นี่คือชุดส่วนประกอบพื้นฐานที่คุณต้องสร้างและ Arduino และวงจรเพื่ออ่านแท็ก RFID ลงใน Arduino ฉันสมมติว่าคุณมีเขียงหั่นขนม แหล่งจ่ายไฟ และสายเชื่อมต่ออยู่แล้ว
Arduino Stuff
ATmega168 พร้อม Arduino Bootloader $4.95
คริสตัล 16MHz $1.50
ตัวเก็บประจุเซรามิก 22pF $0.25 (x2)
ตัวต้านทาน 10k โอห์ม 1/6 วัตต์ PTH $0.25
สวิตช์ปุ่มกดขนาดเล็ก $0.35
RGB LED เอาต์พุตสามเท่า - กระจาย $1.95
สิ่งของ RFID
อย่างใดอย่างหนึ่งเหล่านี้ 20 มีช่วงที่ดีกว่า 12 มีขนาดเล็กกว่าRFID Reader ID-12 $29.95RFID Reader ID-20 $34.95
เครื่องอ่าน RFID ฝ่าวงล้อม $0.95
แบ่งส่วนหัว - ตรง $2.50
แท็ก RFID - 125kHz $1.95
อื่น
ทรานซิสเตอร์ TIP31A (เพิงวิทยุ/ร้านขายอุปกรณ์อิเล็กทรอนิกส์ในพื้นที่ $1.50)
ล็อคประตูมาจากอีเบย์ ประตูล้มเหลวการควบคุมการเข้าถึงที่ปลอดภัย Electric Strike v5 NO $ 17.50 (kawamall, อ่าว)
ขั้นตอนที่ 2: สร้าง Arduino Controller
ขั้นตอนแรกในการสร้างล็อคประตู RFID ด้วย Arduino พื้นฐานคือการสร้างบอร์ด Arduino ที่ใช้งานได้ขั้นพื้นฐาน ชิป ATMega 168 แบบแฟลชล่วงหน้าของ Arduino ส่วนใหญ่มาพร้อมกับโปรแกรมกะพริบเริ่มต้นที่ติดตั้งไว้ล่วงหน้า เชื่อมต่อ LED กับเอาต์พุตดิจิตอล 13 และตรวจสอบว่าทุกอย่างทำงาน
ส่วนฮาร์ดแวร์ของเครื่องอ่าน RFID นี้จะง่ายเกินไปถ้าเราใช้ Arduino ปกติที่มีโปรแกรมเมอร์ USB ในตัว เนื่องจากฉันวางแผนที่จะวางสิ่งนี้ลงในผนังและไม่แตะต้องมันอีก ฉันไม่ต้องการใช้บอร์ด Arduino ขนาดใหญ่ราคา 30 ดอลลาร์เมื่อฉันสามารถซื้อ ATMega 168 มูลค่า 5 ดอลลาร์และสร้าง PCB แบบกำหนดเองที่เล็กกว่ามาก
เนื่องจากฉันเลือกสร้างวงจร Arduino พื้นฐานด้วยตัวเอง ฉันจึงต้องการโปรแกรมเมอร์ USB->Serial FDIT ภายนอก ฉันได้รวมแผนผัง Eagle ของคอนโทรลเลอร์ด้วยแหล่งจ่ายไฟที่สร้างจากตัวควบคุมแรงดันไฟฟ้า 7805 ในการทดสอบฉันใช้แหล่งจ่ายไฟบอร์ดขนมปัง
ในการทำให้ Arduino ทำงานได้ ทั้งหมดที่คุณต้องการจริงๆ คือ ATMega168 ที่มีซอฟต์แวร์ Arduino กะพริบอยู่ ตัวเก็บประจุ 2x 22pF, คริสตัล 16mhz, ตัวต้านทาน 10k ohm, ปุ่มกด และเขียงหั่นขนม การเชื่อมต่อสำหรับสิ่งนี้เป็นที่รู้จักกันดี แต่ฉันได้รวมแผนผังทั้งหมดสำหรับวงจรแล้ว
Arduino กำลังจะทริกเกอร์ 4 เอาต์พุต 1 อันสำหรับ LED สีแดง / เขียว / น้ำเงินและ 1 ตัวเพื่อทริกเกอร์ TIP31A เพื่อส่ง 12vDC ไปที่ล็อคประตู Arduino ได้รับข้อมูลอนุกรมในสาย Rx จากเครื่องอ่าน RFID ID-20
ขั้นตอนที่ 3: สร้างเครื่องอ่าน RFID
ตอนนี้คุณมีบอร์ดขนมปัง Arduino และทำงานแล้ว คุณสามารถประกอบส่วนเครื่องอ่าน RFID ของวงจรซึ่งจะมี LED ID-10 หรือ ID-20 และ RGB เพื่อระบุสถานะของวงจร โปรดจำไว้ว่าเครื่องอ่านจะอยู่ด้านนอกและแยกออกจากตัวควบคุมภายในเพื่อไม่ให้ใครเข้ามาได้ง่าย
ในการสร้างสิ่งนี้ เราจะส่ง 5v/Ground over จาก bread board หลักไปยัง bread board รองที่เรากำลังสร้าง Reader ส่งสายไฟมากกว่า 3 เส้นจาก 3 พินเอาต์พุตของ Arduino เพื่อควบคุม RGB LED หนึ่งอันสำหรับแต่ละสี สายไฟสีน้ำตาลอีกหนึ่งเส้นในภาพจะเป็นการเชื่อมต่อแบบอนุกรมสำหรับ ID-20 เพื่อพูดคุยกับอินพุตอนุกรม Rx ของ Arduino นี่เป็นวงจรที่ง่ายมากในการเชื่อมต่อ LED ได้รับตัวต้านทานและจุดสองสามจุดบน ID-20 เชื่อมโยงกับกราวด์/5v เพื่อกำหนดสถานะที่ถูกต้อง
เพื่อให้ง่ายต่อการทำเขียงหั่นขนม ID-10/ID-20 Sparkfun ขายบอร์ดฝ่าวงล้อมที่ให้คุณติดส่วนหัวพินที่ยาวขึ้นซึ่งเว้นระยะห่างเพื่อให้พอดีกับบอร์ดขนมปัง ส่วนนี้และพินเฮดเดอร์และระบุไว้ในรายการชิ้นส่วน
แผนผังควรแคบไปข้างหน้าและง่ายต่อการปฏิบัติตาม
ขั้นตอนที่ 4: โปรแกรม
ถึงเวลาตั้งโปรแกรม Arduino ของคุณแล้ว การใช้ Arduino พื้นฐานอาจยุ่งยากเล็กน้อย คุณอาจต้องกดปุ่มรีเซ็ตหลายครั้งก่อนและระหว่างส่วนแรกของการอัปโหลด สิ่งสำคัญที่ต้องจำไว้คือ คุณจะได้รับข้อผิดพลาดในการอัปโหลด ถ้าคุณไม่ถอดสายซีเรียล ID-20 กับสาย Rx ของ Arduino ออกชั่วคราว ATMega168 มีอินพุต 1 Rx เท่านั้นและใช้เพื่ออัปโหลดโค้ดเพื่อพูดคุยกับโปรแกรมเมอร์ ถอด ID-20 ออกขณะตั้งโปรแกรม จากนั้นเสียบกลับเข้าไปใหม่เมื่อเสร็จแล้ว ฉันใช้โปรแกรมเมอร์ FTDI ซึ่งให้คุณตั้งโปรแกรม Arduino ผ่าน USB ด้วยสายไฟเพียง 4 เส้น แผนผังคอนโทรลเลอร์แสดงการเชื่อมต่อส่วนหัวของพินเพื่อให้คุณเสียบปลั๊กได้โดยตรง Sparkfun ก็ขายส่วนนี้เช่นกัน แต่หลายคนอาจมีแล้ว
คุณสามารถอัปโหลดรหัสของฉันไปยัง Arduino ของคุณได้อย่างง่ายดายและไม่ต้องหันหลังกลับ แต่ความสนุกในนั้นคืออะไร? ให้ฉันอธิบายแนวคิดพื้นฐานเกี่ยวกับวิธีการทำงาน
ก่อนอื่นฉันไม่ต้องการปุ่ม / สวิตช์ / ฯลฯ ภายนอกใด ๆ และฉันไม่ต้องการตั้งโปรแกรม Arduino ใหม่ทุกครั้งที่ฉันต้องการเพิ่มการ์ดใหม่ ดังนั้นฉันจึงต้องการใช้เพียง RFID เพื่อควบคุมการทำงานของวงจรและควบคุมการล็อคประตู
โปรแกรมเปิดไฟ LED สีน้ำเงินเพื่อระบุว่าพร้อมที่จะอ่านการ์ดใหม่ เมื่ออ่านบัตรแล้ว จะเป็นการพิจารณาว่าเป็นบัตรที่ถูกต้องหรือไม่โดยการเปรียบเทียบสิ่งที่อ่านกับรายการบัตรที่ถูกต้อง หากผู้ใช้ถูกต้อง Arduino จะปิดไฟ LED สีน้ำเงินและเปิดไฟ LED สีเขียวเป็นเวลา 5 วินาที นอกจากนี้ยังเปิดเอาต์พุตอื่นสูงเป็นเวลา 5 วินาที เอาต์พุตนี้เชื่อมต่อกับทรานซิสเตอร์ TIP31A และช่วยให้ Arduino ขนาดเล็กสามารถควบคุมล็อคประตู 12v 300mA ที่ใหญ่กว่ามากโดยไม่เกิดความเสียหาย หลังจากผ่านไป 5 วินาที ตัวล็อคประตูจะล็อคอีกครั้งและไฟ LED จะเปลี่ยนเป็นสีน้ำเงินเพื่อรออ่านการ์ดอีกใบ หากการ์ดใช้งานไม่ได้ ไฟ LED จะเปลี่ยนเป็นสีแดงเป็นเวลาสองสามวินาที และกลับไปเป็นสีน้ำเงินเพื่อรอการ์ดใบอื่น
สิ่งสำคัญคือล็อคประตูยังคงทำงานแม้ว่า Arduino จะสูญเสียพลังงานในชั่วข้ามคืนหรือถูกรีเซ็ต ดังนั้น ID บัตรที่ถูกต้องทั้งหมดจะถูกเก็บไว้ในหน่วยความจำ EEPROM ATMega168 มีหน่วยความจำ EEPROM 512 ไบต์ การ์ด RFID แต่ละใบมีหมายเลขซีเรียล 5 Hex Byte และ 1 Hex Byte Check ผลรวมที่เราสามารถใช้เพื่อตรวจสอบว่าไม่มีข้อผิดพลาดในการส่งสัญญาณระหว่าง ID-20 และ Arduino
บัตรที่ถูกต้องจะถูกเก็บไว้ใน EEPROM โดยใช้ไบต์แรกเป็นตัวนับ ตัวอย่างเช่น หากมีการ์ดที่ถูกต้อง 3 ใบที่จัดเก็บไว้ ไบต์แรกใน EEPROM จะเป็น 3 EEPROM.read(0); = 3. รู้อย่างนี้แล้วจริง ๆ แล้วแต่ละ ID ยาว 5 Bytes เรารู้ว่า 1-5 คือการ์ด 1 6-10 คือการ์ด 2 และ 11-15 คือการ์ด 3 เราสามารถสร้าง loop ที่มองผ่าน EEPROM ได้ ครั้งละ 5 ไบต์และพยายามค้นหาการ์ดที่ผู้อ่านอ่าน
แต่เราจะเพิ่มการ์ดใหม่ลงใน EEPROM หลังจากติดตั้งวงจรได้อย่างไร ?? ฉันได้อ่านหนึ่งในการ์ด RFID ที่ฉันมีและฮาร์ดโค้ดให้เป็นการ์ด Master RFID ดังนั้นแม้ว่า EEPROM ทั้งหมดจะถูกล้าง แต่มาสเตอร์การ์ดก็ยังทำงานได้ ทุกครั้งที่อ่านการ์ด ระบบจะตรวจสอบก่อนว่าเป็นมาสเตอร์การ์ดหรือไม่ หากไม่ใช่ การ์ดจะดูต่อไปว่าเป็นการ์ดที่ถูกต้องหรือไม่ หากการ์ดเป็นมาสเตอร์การ์ด เรามี Arduino ให้ไปที่ "โหมดการเขียนโปรแกรม" โดยจะกะพริบ RGB และรออ่านแท็กที่ถูกต้องอีกอัน แท็กถัดไปที่อ่านจะถูกเพิ่มไปยังจุดว่างถัดไปใน EEPROM และตัวนับจะเพิ่มขึ้น 1 หากการ์ดไม่มีอยู่ในหน่วยความจำ EEPROM จากนั้นเครื่องอ่านจะกลับสู่โหมดปกติและรออ่านการ์ดใหม่
ขณะนี้ฉันยังไม่ได้ตั้งโปรแกรมวิธีการลบบัตร เนื่องจากสาเหตุของการลบบัตรน่าจะเป็นเพราะบัตรสูญหายหรือถูกขโมย เนื่องจากน่าจะใช้กับคน 1-10 คน วิธีที่ง่ายที่สุดคือตั้งโปรแกรมการ์ด Master Erase อย่างหนัก ซึ่งจะล้างการ์ดทั้งหมดจาก EEPROM แล้วเพิ่มใหม่ทั้งหมด ซึ่งใช้เวลาเพียงไม่กี่วินาที ฉันได้เพิ่มรหัสเพื่อล้าง EEPROM แต่ยังไม่ได้ใช้งานคุณลักษณะนี้.
รหัสถูกแนบมาในไฟล์ข้อความพร้อมกับสำเนาของรายการชิ้นส่วน
ขั้นตอนที่ 5: ขยาย
นี่เป็นเพียงสิ่งดีๆ บางส่วนที่คุณสามารถทำได้ด้วย RFID คุณสามารถขยายเพิ่มเติมได้อีกมากด้วยเอาต์พุต LCD การบันทึกว่าใครเข้ามาและเมื่อใด การเชื่อมต่อเครือข่าย / twitter ฯลฯ ฉันวางแผนที่จะสร้างวงจร PCB เวอร์ชันที่เสร็จแล้ว ฉันไม่เคยทำ PCB มาก่อน ดังนั้นฉันจึงยังคงทำงานเกี่ยวกับการออกแบบและเลย์เอาต์ของชิ้นส่วนต่างๆ ได้ครบแล้วจะเอามาลงให้ชมครับ ฉันขอแนะนำให้ทุกคนใช้โค้ดที่ฉันเขียนและแก้ไขเพื่อทำสิ่งที่ยอดเยี่ยมยิ่งขึ้น!
เข้ารอบสุดท้ายในการแข่งขัน Arduino
แนะนำ:
Node Mcu Indian Car Central Lock พร้อม Rfid และ Blynk Timer Unlock: 9 ขั้นตอน
Node Mcu Indian Car Central Lock พร้อม Rfid และ Blynk Timer Unlock: ฉันกำลังแสดงให้คุณเห็นวันนี้รถสไตล์อินเดียล็อคกลางอัตโนมัติเต็มรูปแบบพร้อมแท็ก rfid blynk wifi ควบคุมและปลดล็อคเวลานอกจากนี้ยังมีคุณสมบัติทั้งหมดของเซ็นทรัลล็อคปกติ รถคันนี้ เซ็นทรัลล็อค WORKS OFFLINE ACTIVATION ต้องการ NETWORK LOCKS AN
วิธีทำ Safe Locker ด้วย RFID Lock: 5 ขั้นตอน
วิธีทำ Safe Locker ด้วย RFID Lock: เรียนรู้วิธีทำ Safe Locker ด้วย RFID Lock At Home โดยใช้ Arduino และส่วนประกอบอิเล็กทรอนิกส์ขั้นพื้นฐาน มาสร้างตู้ล็อคเกอร์ที่ปลอดภัยด้วยล็อค RFID โดยใช้ Arduino และ Rfid Scanner
Smart-door-lock-using-raspberry_pi_and_GSM_modemSim800_RFID: 5 ขั้นตอน
Smart-door-lock-using-raspberry_pi_and_GSM_modemSim800_RFID: ในบทช่วยสอนนี้ ฉันจะพูดถึงวิธีผสานรวมโมดูล EM-18 RFID Reader กับบอร์ด Raspberry Pi ฉันยังแสดงวิธีการรวมแอคทูเอเตอร์ ในกรณีนี้คือรีเลย์ เพื่อตอบสนองต่อการอ่านที่ถูกต้องจากโมดูล RFID แอคทูเอเตอร์นี้สามารถโซเลน
Arduino RFID Lock Tutorial: 6 ขั้นตอน (พร้อมรูปภาพ)
Arduino RFID Lock Tutorial: เพื่อน ๆ ที่รักยินดีต้อนรับสู่คำแนะนำอื่น นี่คือ Nick จาก educ8s.tv และวันนี้เราจะมาเรียนรู้วิธีใช้เครื่องอ่าน RFID กับ Arduino เพื่อสร้างระบบล็อคอย่างง่าย เป็นครั้งแรกที่เราจะใช้แท็ก RFID กับ Arduino
Windows PC Lock/Unlock โดยใช้ RFID.: 7 ขั้นตอน (พร้อมรูปภาพ)
Windows PC Lock/Unlock using RFID.: สวัสดี! คุณรู้สึกเหนื่อยกับการพิมพ์รหัสผ่านเพื่อปลดล็อกพีซี/แล็ปท็อปทุกครั้งที่ถูกล็อคบ่อยแค่ไหน? ฉันเคยล็อคมันหลายครั้งทุกวัน และไม่มีอะไรน่ารำคาญไปกว่าการพิมพ์รหัสผ่าน/พินซ้ำแล้วซ้ำเล่า