
สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-23 15:12




โครงการ Arduino พร้อมเครื่องสแกน RFID และ LCD
บทนำ
เพื่อสรุปหลักสูตรของเราด้วยไมโครคอนโทรลเลอร์ โดยเฉพาะ Arduino Mega ที่เราใช้อยู่ เราได้รับมอบหมายให้สร้างโปรเจ็กต์ที่รวม Arduino Mega ไว้ด้วย นอกเหนือจากนั้นขึ้นอยู่กับเราที่จะตัดสินใจว่าจะทำอย่างไรกับมัน เนื่องจากเราไม่มีเวลามากสำหรับโครงการนี้ เราจึงตัดสินใจเลือกใช้เครื่องสแกน RFID สิ่งนี้เกิดขึ้นแล้วนับล้านครั้ง ดังนั้นเราจึงตัดสินใจเพิ่มจอ LCD เข้าไป ซึ่งทำให้โครงการนี้มีความพิเศษมากขึ้นเล็กน้อย แม้ว่าสิ่งนี้จะทำมาก่อนเช่นกัน แต่เราตัดสินใจว่ามันจะสนุกอยู่แล้ว
โครงการ Arduino พร้อมการบันทึกข้อมูล เราได้ตัดสินใจทำต่อจากโครงการที่แล้ว คราวนี้เราจะเพิ่มการบันทึกข้อมูล เราได้ตัดสินใจแล้วเนื่องจากเรามีเวลาไม่มาก เราจะใช้โครงการเดิมเหมือนครั้งที่แล้ว วิธีนี้ทำให้เราสามารถมุ่งเน้นไปที่การบันทึกข้อมูลได้เนื่องจากเป็นส่วนหนึ่งของหลักสูตรใหม่ของเรา นั่นคือ Industry 4.0 ในโครงการนี้ เราจะใช้ Node-red ซึ่งเป็นวิธีการรวบรวมข้อมูลจากอุปกรณ์และเข้าถึงบนเว็บเซิร์ฟเวอร์ วิธีเชื่อมต่อทุกอย่างกับเซิร์ฟเวอร์คลาวด์นี้เป็นส่วนสำคัญของอุตสาหกรรม 4.0
คำอธิบาย
สิ่งแรกที่เราทำคือตรวจสอบว่าเรามีองค์ประกอบที่จำเป็นทั้งหมดเพื่อทำให้สิ่งนี้เป็นจริงหรือไม่ โชคดีที่เราทำ เราตัดสินใจว่าแทนที่จะทำเป็นล็อคประตูเหมือนปกติ เราตัดสินใจว่าควรเป็นกุญแจสำหรับล็อคกล่องแข็งหรือตู้เซฟหากคุณต้องการ เมื่อต้องการทำเช่นนี้ เราทำกล่องไม้ นี้ด้วยเครื่องตัดเลเซอร์ เราเจาะและเจาะรูเพื่อให้ชิ้นส่วนต่างๆ เข้าที่พอดี เพื่อให้ดูสมจริงยิ่งขึ้น และจัดการสายไฟทั้งหมดของเราได้ง่ายขึ้นมาก หลังจากที่เราเตรียมกล่องให้พร้อมแล้ว เราก็เพียงแค่ใส่ฮาร์ดแวร์และสายไฟทั้งหมดเข้าไป เพียงแค่เสียบปลั๊กและเล่นโดยพื้นฐาน เนื่องจากเราได้ทดสอบและเชื่อมต่อมาก่อนแล้ว เมื่อเชื่อมต่อและตั้งค่าทั้งหมดแล้ว สิ่งที่คุณต้องทำคือเตรียมมาสเตอร์คีย์ให้พร้อม สิ่งนี้ทำได้ด้วยชิปเริ่มต้นที่คุณได้รับจากเครื่องสแกน RFID คุณเพียงแค่โหลดโปรแกรมและมันจะขอให้คุณสร้างมาสเตอร์คีย์ เมื่อเสร็จแล้ว คุณสามารถเลือกที่จะให้สิทธิ์เข้าถึงคีย์อื่นๆ ได้ เมื่อคุณมีคีย์ทั้งหมดที่คุณต้องการเข้าถึงสตรองบ็อกซ์ คุณก็เพียงแค่ตั้งค่าด้วยมาสเตอร์คีย์ เมื่อคุณสแกนคีย์ของคุณ คุณจะเห็นบนหน้าจอ LCD ว่าคุณมีสิทธิ์เข้าถึงหรือไม่ เมื่อคุณไม่ได้สแกนคีย์ใดๆ จอ LCD จะแสดงข้อความ "Scan ID KEY" เมื่อคุณสแกนคีย์แล้วคุณไม่มีสิทธิ์เข้าถึง คีย์จะแสดง "Access Denied" หรือหากคุณมีสิทธิ์เข้าถึง จะแสดง "Access Granted" วิธีนี้ง่ายมาก และคุณสามารถเขียนบางสิ่งที่แตกต่างออกไปในโค้ดได้เสมอ หากคุณต้องการ
นี่คือส่วนประกอบต่อไปนี้ที่เราใช้ในโครงการของเรา:
- เครื่องสแกน RFID (3.3 V)
- จอ LCD 16x2 (5V)
- Arduino Mega 2560 R3
- โซลินอยด์ DC 12 V
- 1x ไฟ LED สีฟ้า
- 1x LED สีแดง
- 1x LED สีเขียว
ขั้นตอนที่ 1: Fritzing Diagram

นี่คือไดอะแกรมเกี่ยวกับวิธีการเชื่อมต่อส่วนประกอบในโครงการของเรา
ขั้นตอนที่ 2: รหัส
นี่คือรหัสสำหรับโครงการ:
หากคุณประสบปัญหาในการสแกนรหัสประจำตัวของคุณ
หากคุณประสบปัญหาในการสแกนคีย์ อาจเป็นเพราะ EEPROM ของคุณเต็ม ซึ่งหมายความว่าคุณไม่มีบิตฟรีสำหรับคีย์ ID ของคุณอีกต่อไป คุณควรจะได้รับปัญหานี้หากคุณเคยใช้ EEPROM มาก่อน ในรหัสของเรา เรามีขั้นตอนในการล้าง EEPROM แต่น่าเสียดายที่มันไม่ทำงานตามที่ตั้งใจไว้ ดังนั้นคุณต้องใช้การรีเซ็ต EEPROM เริ่มต้นของ Arduino ซึ่งอยู่ในไลบรารีเริ่มต้น
เนื่องจากเราใช้ Nodered เราจึงแสดงความคิดเห็น Serial.print ในโค้ด สิ่งนี้ไม่มีผลกับโปรเจ็กต์ แต่จะไม่ทำงานกับ Nodered
ขั้นตอนที่ 3: ดูตัวอย่างโครงการ


คุณสามารถดูวิธีการเพิ่มและลบแท็กได้ที่นี่
หนึ่งในแท็กคือคีย์มาสเตอร์ ด้วยวิธีนี้คุณสามารถเปลี่ยนจำนวนแท็กที่คุณต้องการให้เข้าถึงสตรองบ็อกซ์ได้
ลบแท็ก เช่นเดียวกับที่คุณเพิ่มแท็ก
ขั้นตอนที่ 4: Node-red

ขั้นตอนแรกคือค้นหาวิธีที่ Arduino สื่อสารกับพีซีของคุณ ในกรณีของเรา เราเพียงแค่ใช้พอร์ตอนุกรมในพีซีของเรา เพื่อสื่อสารกับ Arduino ของเรา
การเข้ารหัสโหนดสีแดง
ในโหนดสีแดง คุณสามารถลากบล็อกพอร์ตอนุกรมที่คุณกำหนดอัตราบอด ฯลฯ การตั้งค่าการสื่อสารของคุณ
จากที่นี่ คุณจะเชื่อมโยงพอร์ต Arduino ของคุณกับฟังก์ชันเหล่านั้นที่คุณต้องการให้โหนดสีแดงทำงาน คุณลากฟังก์ชันที่คุณกำหนดฟังก์ชันการทำงาน เรามีสองเส้นทางของฟังก์ชันที่เราใช้ อย่างแรกคือเราชะลอการไหลของ msg จาก Arduino ดังนั้นเราจึงได้รับแท็ก RFID เท่านั้น จากนั้นเราใช้สวิตช์เพื่อส่ง msg ที่ได้รับ ปฏิเสธ หรือไม่รู้จัก (การแจ้งเตือน) เนื่องจากเราได้กำหนดไว้ล่วงหน้าว่าแท็กใดจะได้รับและปฏิเสธในสวิตช์ หากไม่รู้จักแท็ก แท็กนั้นจะถูกปฏิเสธและโหนดสีแดงจะส่งการแจ้งเตือนว่าเป็นแท็กที่ไม่รู้จัก
เส้นทางอื่นของเราที่เราส่งข้อมูลจาก RFID ไปยังฐานข้อมูล mySQL ของเรา โปรดทราบว่าคุณต้องระวังเมื่อเข้าถึงฐานข้อมูล mySQL เนื่องจากชื่อต้องถูกต้อง คุณจะไม่สามารถเชื่อมต่อได้
จากที่นี่ เราจะส่งข้อมูลที่เราจัดเก็บไว้ในฐานข้อมูล mySQL และแสดงในตารางในแดชบอร์ดโหนดสีแดง คุณเพียงแค่ต้องกำหนดขนาดตารางและเช่นนั้น โดยใช้โค้ด HTML เรามีปุ่มอัปเดต คุณจึงสามารถดูแท็กล่าสุดได้
ขั้นตอนที่ 5: ฐานข้อมูล MySQL
เรากำลังใช้ WAMPserver เพื่อโฮสต์ฐานข้อมูล mySQL ของเราในเครื่อง นี่คือที่ที่เราบันทึกแท็ก RFID และการประทับเวลา ซึ่งเราใช้โหนดสีแดงเพื่อนายหน้าข้อมูลจากฐานข้อมูล Arduino และ mySQL ของเรา
สิ่งเดียวที่คุณต้องทำใน mySQL คือกำหนดตารางที่มี 2 คอลัมน์ คอลัมน์หนึ่งสำหรับ ID และอีกรายการสำหรับการประทับเวลา
วิธีที่เราดึงข้อมูลจาก Arduino ใน node-red ได้อธิบายไว้ในส่วนเกี่ยวกับ node-red
แนะนำ:
All Band Receiver พร้อม SI4732 / SI4735 (FM / RDS, AM และ SSB) พร้อม Arduino: 3 ขั้นตอน

All Band Receiver พร้อม SI4732 / SI4735 (FM / RDS, AM และ SSB) พร้อม Arduino: เป็นโปรเจ็กต์เครื่องรับย่านความถี่ทั้งหมด ใช้ห้องสมุด Arduino Si4734 ห้องสมุดนี้มีตัวอย่างมากกว่า 20 ตัวอย่าง คุณสามารถฟัง FM ด้วย RDS สถานี AM (MW) ในพื้นที่ SW และสถานีวิทยุสมัครเล่น (SSB) เอกสารทั้งหมดที่นี่
อินเทอร์เฟซ ESP32 พร้อม SSD1306 Oled พร้อม MicroPython: 5 ขั้นตอน

อินเทอร์เฟซ ESP32 พร้อม SSD1306 Oled พร้อม MicroPython: Micropython เป็นการเพิ่มประสิทธิภาพของ python และมีขนาดเล็กของ python ซึ่งหมายถึงการสร้างสำหรับอุปกรณ์ฝังตัวซึ่งมีข้อจำกัดด้านหน่วยความจำและใช้พลังงานต่ำ Micropython สามารถใช้ได้กับคอนโทรลเลอร์หลายตระกูล ซึ่งรวมถึง ESP8266, ESP32, Ardui
PWM พร้อม ESP32 - Dimming LED พร้อม PWM บน ESP 32 พร้อม Arduino IDE: 6 ขั้นตอน

PWM พร้อม ESP32 | Dimming LED พร้อม PWM บน ESP 32 พร้อม Arduino IDE: ในคำแนะนำนี้เราจะดูวิธีสร้างสัญญาณ PWM ด้วย ESP32 โดยใช้ Arduino IDE & โดยทั่วไปแล้ว PWM จะใช้เพื่อสร้างเอาต์พุตแอนะล็อกจาก MCU ใดๆ และเอาต์พุตแอนะล็อกนั้นอาจเป็นอะไรก็ได้ระหว่าง 0V ถึง 3.3V (ในกรณีของ esp32) & จาก
นามบัตร/เกมคอนโซล: ATtiny85 และหน้าจอ OLED: 5 ขั้นตอน (พร้อมรูปภาพ)

นามบัตร/คอนโซลเกม: ATtiny85 และหน้าจอ OLED: สวัสดีทุกคน! วันนี้ผมจะแสดงให้คุณเห็นว่าคุณสามารถสร้างนามบัตร/เกมคอนโซล/อะไรก็ตามที่คุณจินตนาการได้ว่ามีจอภาพ I2C OLED เรืองแสงและไมโครโปรเซสเซอร์ ATtiny85 ในคำแนะนำนี้ ฉันจะบอกคุณว่า PCB ที่ฉันออกแบบ
สร้างจอแสดงผลแบบกำหนดเองใน LCD Studio (สำหรับแป้นพิมพ์ G15 และหน้าจอ LCD): 7 ขั้นตอน

สร้างจอแสดงผลแบบกำหนดเองใน LCD Studio (สำหรับแป้นพิมพ์ G15 และหน้าจอ LCD): โอเค หากคุณเพิ่งมีแป้นพิมพ์ G15 และรู้สึกไม่ประทับใจกับจอแสดงผลพื้นฐานที่มาพร้อมกับมันมาก ฉันจะแนะนำคุณตลอดถึงพื้นฐานการใช้ LCD Studio เพื่อสร้างของคุณเอง ตัวอย่างนี้จะทำการแสดงที่แสดงเฉพาะเบส