สารบัญ:

Arduino RFID Lock Tutorial: 6 ขั้นตอน (พร้อมรูปภาพ)
Arduino RFID Lock Tutorial: 6 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Arduino RFID Lock Tutorial: 6 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Arduino RFID Lock Tutorial: 6 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: โปรเจค เปิด-ปิด ประตูด้วย RFID (Arduino Based RFID Door Lock) 2024, พฤศจิกายน
Anonim
Image
Image
Arduino RFID Lock Tutorial
Arduino RFID Lock Tutorial
Arduino RFID Lock Tutorial
Arduino RFID Lock Tutorial

เพื่อน ๆ ที่รักยินดีต้อนรับสู่คำแนะนำอื่น นี่คือ Nick จาก educ8s.tv และวันนี้เราจะมาเรียนรู้วิธีใช้เครื่องอ่าน RFID กับ Arduino เพื่อสร้างระบบล็อคอย่างง่าย

เป็นครั้งแรกที่เราจะใช้แท็ก RFID กับ Arduino ฉันได้สร้างโปรเจ็กต์ง่ายๆ ซึ่งอ่าน Unique ID (UID) ของแท็ก RFID แต่ละรายการที่เราวางไว้ใกล้กับเครื่องอ่านและแสดงบนจอแสดงผล OLED นี้ หาก UID ของแท็กเท่ากับค่าที่กำหนดไว้ล่วงหน้าซึ่งเก็บไว้ในหน่วยความจำของ Arduino จากนั้นในจอแสดงผล เราจะเห็นข้อความ "ปลดล็อก" หาก ID เฉพาะของการ์ดไม่เท่ากับค่าที่กำหนดไว้ล่วงหน้า ข้อความปลดล็อคจะไม่ปรากฏขึ้น เจ๋งใช่มั้ยล่ะ?

มีจำนวนมากที่จะครอบคลุมดังนั้นมาเริ่มกันเลย!

ขั้นตอนที่ 1: รับชิ้นส่วนทั้งหมด

รับอะไหล่ทั้งหมด
รับอะไหล่ทั้งหมด

ชิ้นส่วนที่จำเป็นในการสร้างโครงการนี้คือ:

  • Arduino Uno ▶
  • เครื่องอ่าน RFID ▶
  • จอแสดงผล OLED ▶
  • เขียงหั่นขนมขนาดเล็ก ▶
  • สายบางเส้น ▶

อะไหล่เสริม:

พาวเวอร์แบงค์ ▶

ค่าใช้จ่ายทั้งหมดของโครงการอยู่ที่ประมาณ 15 เหรียญ

ขั้นตอนที่ 2: เครื่องอ่าน RFID RC522

เครื่องอ่าน RFID RC522
เครื่องอ่าน RFID RC522
เครื่องอ่าน RFID RC522
เครื่องอ่าน RFID RC522
เครื่องอ่าน RFID RC522
เครื่องอ่าน RFID RC522
เครื่องอ่าน RFID RC522
เครื่องอ่าน RFID RC522

แท็ก RFID แต่ละตัวมีชิปขนาดเล็กอยู่ภายใน ถ้าฉันวางไฟฉายไว้ใต้การ์ด RFID นี้ คุณสามารถเห็นชิปขนาดเล็กและขดลวดที่ล้อมรอบ ชิปนี้ไม่มีแบตเตอรี่เพื่อรับพลังงาน รับพลังงานจากเครื่องอ่าน อุปกรณ์นี้ แบบไร้สายโดยใช้ขดลวดขนาดใหญ่นี้ เครื่องอ่านบัตรสามารถอ่านบัตร RFID แบบนี้ได้จากระยะไกลถึง 20 มม.!

ชิปตัวเดียวกันมีอยู่ในแท็ก RFID ของพวงกุญแจเช่นกัน

แท็ก RFID แต่ละรายการมีหมายเลขเฉพาะที่ระบุ นั่นคือ UID ที่เราแสดงบนจอแสดงผล OLED ยกเว้นจาก UID นี้ แต่ละแท็กสามารถเก็บข้อมูลได้ ในการ์ดประเภทนี้เราสามารถเก็บข้อมูลได้มากถึง 1K! น่าประทับใจใช่มั้ย เราจะไม่ใช้ฟังก์ชันนี้ในวันนี้ แต่จะนำไปใช้ใน Instructable ในอนาคต วันนี้ ทั้งหมดที่เราสนใจคือการระบุการ์ดเฉพาะด้วย UID ค่าใช้จ่ายของเครื่องอ่าน RFID และการ์ด RFID สองใบนี้อยู่ที่ประมาณ 4 เหรียญ

ขั้นตอนที่ 3: จอแสดงผล OLED

Image
Image
เชื่อมต่อทุกชิ้นส่วน
เชื่อมต่อทุกชิ้นส่วน

นี่เป็นจอแสดงผลที่ดีมากสำหรับใช้กับ Arduino เป็นจอแสดงผล OLED และนั่นหมายความว่ามีการใช้พลังงานต่ำ การใช้พลังงานของจอแสดงผลนี้อยู่ที่ประมาณ 10-20 mA และขึ้นอยู่กับจำนวนพิกเซลที่สว่าง

จอแสดงผลมีความละเอียด 128 × 64 พิกเซลและมีขนาดเล็ก การแสดงผลมีสองรูปแบบ หนึ่งในนั้นคือขาวดำ และอีกอันที่เหมือนกับที่ฉันใช้สามารถแสดงได้สองสี คือ สีเหลืองและสีน้ำเงิน ส่วนบนของหน้าจอแสดงได้เฉพาะสีเหลือง ส่วนล่างแสดงได้เฉพาะสีน้ำเงิน

จอแสดงผล OLED นี้สว่างมาก และมีการรองรับไลบรารีที่ยอดเยี่ยม Adafruit ได้พัฒนาห้องสมุดที่ดีมากสำหรับการแสดงผลนี้ นอกจากนั้น จอแสดงผลยังใช้อินเทอร์เฟซ I2C ดังนั้นการเชื่อมต่อกับ Arduino นั้นง่ายอย่างเหลือเชื่อ คุณต้องเชื่อมต่อสายไฟสองเส้นเท่านั้น ยกเว้น Vcc และ GND หากคุณเพิ่งเริ่มใช้ Arduino และต้องการจอแสดงผลราคาไม่แพงและใช้งานง่ายเพื่อใช้กับโปรเจ็กต์ของคุณ ให้เริ่มด้วยจอแสดงผล เป็นวิธีที่ง่ายที่สุดในการเพิ่มการแสดงผลในโครงการ Arduino ของคุณ ฉันได้เตรียมการสอนโดยละเอียดเกี่ยวกับวิธีใช้จอแสดงผลนี้ ซึ่งฉันได้แนบมากับคำแนะนำนี้

ขั้นตอนที่ 4: เชื่อมต่อชิ้นส่วนทั้งหมด

เชื่อมต่อทุกชิ้นส่วน
เชื่อมต่อทุกชิ้นส่วน
เชื่อมต่อทุกชิ้นส่วน
เชื่อมต่อทุกชิ้นส่วน
เชื่อมต่อทุกชิ้นส่วน
เชื่อมต่อทุกชิ้นส่วน

การเชื่อมต่อกับบอร์ด Arduino Uno นั้นง่ายมาก ขั้นแรก เรามาเชื่อมต่อพลังของทั้งเครื่องอ่านและจอแสดงผลกันก่อน

ระวังเครื่องอ่าน RFID จะต้องเชื่อมต่อกับเอาท์พุต 3.3V ของ Arduino Uno มิฉะนั้นจะถูกทำลาย เนื่องจากจอแสดงผลสามารถทำงานได้ที่ 3.3V เราจึงเชื่อมต่อ Vcc จากทั้งสองโมดูลกับรางบวกของเขียงหั่นขนม รางนี้เชื่อมต่อกับเอาต์พุต 3.3V ของ Arduino Uno ต่อไป เราเชื่อมต่อ GND ทั้งสองกับราง GND ของเขียงหั่นขนม จากนั้นเราเชื่อมต่อราง GND ของเขียงหั่นขนมกับ Arduino GND

จอแสดงผล OLED - Arduino

Vcc ▶ 3.3V

GND ▶ GND

SCL ▶ พินอนาล็อก 5

SDA ▶ พินอนาล็อก 4

เครื่องอ่าน RFID - Arduino

RST ▶ พินดิจิตอล 9

IRQ ▶ ไม่เชื่อมต่อ

มิโซะ ▶ พินดิจิตอล 12

MOSI ▶ พินดิจิตอล 11

SCK ▶ พินดิจิตอล 13

SDA ▶ พินดิจิตอล 10

โมดูลเครื่องอ่าน RFID ใช้อินเทอร์เฟซ SPI เพื่อสื่อสารกับ Arduino ดังนั้นเราจะใช้พิน SPI ของฮาร์ดแวร์ของ Arduino UNO พิน RST ไปที่พินดิจิตอล 9 พิน IRQ จะไม่เชื่อมต่อ พิน MISO ไปที่พินดิจิทัล 12 พิน MOSI ไปที่พินดิจิทัล 11 พิน SCK ไปที่พินดิจิทัล 13 และสุดท้าย พิน SDA ไปที่พินดิจิทัล 10 เท่านั้น เครื่องอ่าน RFID เชื่อมต่ออยู่ ตอนนี้เราต้องเชื่อมต่อจอแสดงผล OLED กับ Arduino โดยใช้อินเทอร์เฟซ I2C ดังนั้น พิน SCL ของจอแสดงผลจะไปที่ Analog Pin 5 และพิน SDA ของจอแสดงผลเป็น Analog Pin 4 หากตอนนี้เราเพิ่มพลังให้กับโปรเจ็กต์และวางการ์ด RFID ไว้ใกล้กับเครื่องอ่าน เราจะเห็นว่าโปรเจ็กต์ทำงานได้ดี! ตอนนี้ได้เวลาดูรหัสของโครงการแล้ว

ขั้นตอนที่ 5: รหัสของโครงการ

รหัสโครงการ
รหัสโครงการ

ในการคอมไพล์โค้ดโปรเจ็กต์ เราจำเป็นต้องรวมไลบรารี่ไว้ด้วย ก่อนอื่น เราต้องการไลบรารี MFRC522 Rfid ในการติดตั้ง ให้ไปที่ Sketch -> รวมไลบรารี -> จัดการไลบรารี ค้นหา MFRC522 และติดตั้ง นอกจากนี้เรายังต้องการไลบรารี Adafruit SSD1306 และไลบรารี Adafruit GFX สำหรับการแสดงผล ติดตั้งไลบรารีทั้งสองด้วยขั้นตอนเดียวกัน ไลบรารี Adafruit SSD1306 ต้องการการดัดแปลงเล็กน้อย ไปที่โฟลเดอร์ Arduino -> Libraries เปิดโฟลเดอร์ Adafruit SSD1306 และแก้ไขไลบรารี Adafruit_SSD1306.h บรรทัดความคิดเห็น 70 และบรรทัดที่ไม่แสดงความเห็น 69 จอแสดงผลของเรามีความละเอียด 128x64 นั่นคือสิ่งที่เรากำหนดที่นี่ ตอนนี้เราพร้อมที่จะดูรหัสอย่างรวดเร็ว

ขั้นแรก เราประกาศค่าของแท็ก RFID ที่เราต้องการให้ Arduino รับรู้ เป็นอาร์เรย์ของจำนวนเต็ม

รหัส int = {69, 141, 8, 136}; //นี่คือ UID ที่เก็บไว้

ต่อไป เราจะเริ่มต้นเครื่องอ่าน RFID และจอแสดงผล

rfid. PCD_Init();display.begin(SSD1306_SWITCHCAPVCC, 0x3C);

หลังจากนี้ ในฟังก์ชันวนรอบ เราจะตรวจสอบแท็กบนเครื่องอ่านทุกๆ 100 มิลลิวินาที

หากมีแท็กบนเครื่องอ่าน เราจะอ่าน UID และเราพิมพ์บนจอแสดงผล ต่อไป เราจะเปรียบเทียบ UID ของแท็กที่เราเพิ่งอ่าน กับค่าที่เก็บไว้ในตัวแปรโค้ด หากค่าเท่ากัน เราจะแสดงข้อความ UNLOCK มิฉะนั้น เราจะไม่แสดงข้อความนี้

if(match) { Serial.println("\nฉันรู้จักการ์ดใบนี้!"); พิมพ์ปลดล็อคข้อความ (); }อื่น { Serial.println("\nการ์ดที่ไม่รู้จัก"); }

แน่นอน คุณสามารถแก้ไขรหัสนี้เพื่อเก็บค่า UID มากกว่า 1 ค่า เพื่อให้โครงการจดจำแท็ก RFID ได้มากขึ้น

นี่เป็นเพียงตัวอย่าง คุณสามารถหารหัสของโครงการที่แนบมากับคำแนะนำนี้ได้เช่นเคย

ขั้นตอนที่ 6: ความคิดและการปรับปรุงขั้นสุดท้าย

ความคิดสุดท้าย & การปรับปรุง
ความคิดสุดท้าย & การปรับปรุง

อย่างที่คุณเห็นด้วยต้นทุนที่ต่ำมาก เราสามารถเพิ่มเครื่องอ่าน RFID ให้กับโครงการของเราได้ เราสามารถสร้างระบบรักษาความปลอดภัยได้อย่างง่ายดายด้วยโปรแกรมอ่านแบบนี้หรือสร้างโครงการที่สนุกสนานมากขึ้น

ความตั้งใจหลักของฉันคือการสร้างเกมแบบโต้ตอบสำหรับเด็กโดยใช้เครื่องอ่าน RFID และแท็ก RFID จำนวนมาก ในวิดีโอหน้า เราจะพยายามเขียนและอ่านข้อมูลจากแท็ก RFID ณ จุดนี้ ฉันชอบที่จะได้ยินความคิดเห็นของคุณเกี่ยวกับเครื่องอ่านบัตร RFID คุณวางแผนที่จะใช้มันในโครงการของคุณหรือไม่? โปรดโพสต์ความคิดเห็นหรือแนวคิดในส่วนความคิดเห็นด้านล่าง ขอบคุณ!

แนะนำ: