สารบัญ:
- ขั้นตอนที่ 1: รายการวัสดุที่จำเป็น
- ขั้นตอนที่ 2: การเตรียม Arduino + RC-522
- ขั้นตอนที่ 3: ส่วนต่อประสาน Windows เขียนใน C #
- ขั้นตอนที่ 4: การปรับปรุงที่เป็นไปได้
- ขั้นตอนที่ 5: ยกนิ้วให้ !!
วีดีโอ: สปอนเซอร์รันด้วย C# และ Arduino + RC-522: 5 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:05
การวิ่งของสปอนเซอร์เป็นเรื่องปกติธรรมดา อย่างไรก็ตาม การจัดการพวกมันไม่ใช่เรื่องง่ายเสมอไป มันเกี่ยวข้องกับการลงทะเบียนจำนวนรอบที่แต่ละทีมวิ่งอย่างมีประสิทธิภาพ ฉันตัดสินใจใช้ RFID เพื่อใช้เป็นโทเค็นในการระบุแต่ละทีม เมื่อรวมเข้ากับข้อเท็จจริงที่คุณสามารถเลือกการ์ดรีดเดอร์ RC-522 RFID และ Arduino ได้ค่อนข้างถูก มันทำให้สามารถสร้างระบบนี้ได้ค่อนข้างง่าย
ขั้นตอนที่ 1: รายการวัสดุที่จำเป็น
- บอร์ด Arduino: บอร์ดอะไรก็ได้ ฉันใช้ Arduino Nano สำหรับขนาดของมัน
- สภาพแวดล้อมการพัฒนา Arduino
- RC-522: สามารถซื้อ/สั่งซื้อได้ในประเทศหรือต่างประเทศ
- แท็ก MiFare 13.56 MHz โดยปกติ ตัวอย่างบางส่วนอาจมาพร้อมกับบอร์ด RC-522 ของคุณ ประเภทของแท็กไม่สำคัญ เพียงตรวจสอบว่าเป็นความถี่ที่ถูกต้อง
- พีซีที่ใช้ Windows และติดตั้ง Visual Studio หากคุณต้องการแก้ไขโค้ด
ขั้นตอนที่ 2: การเตรียม Arduino + RC-522
ภาพด้านบนแสดงการเดินสายไฟของโมดูล RC-522 กับ Arduino Arduino ใด ๆ จะทำ ดังนั้น หากคุณมี Arduino Nano ให้ใช้งาน คุณอาจพิจารณาใช้สิ่งนั้น คุณสามารถค้นหาบางกรณีสำหรับการชกมวยได้ทั้งหมด ฉันลองใช้แล้ว แต่ระยะขอบในการพิมพ์มีขนาดเล็กเกินไป และลงเอยด้วยการพิมพ์ 3 มิติที่ใช้ไม่ได้
ฉันยังคงทำงานในกรณีที่ดี
เพื่อใช้ประโยชน์จากบอร์ด RC-522 ของคุณ คุณจะต้องเพิ่มไลบรารีลงในตัวแก้ไข Arduino น่าเสียดายที่ไม่ใช่ไลบรารีที่จัดการโดยโปรแกรมแก้ไข Arduino ดังนั้นคุณจะต้องเพิ่มวิธีการ "โรงเรียนเก่า" ในการดาวน์โหลดและคัดลอกไปยังโฟลเดอร์ไลบรารี อย่าลืมรีสตาร์ทตัวแก้ไข Arduino เพื่อให้สามารถเข้าถึงได้
ห้องสมุดสามารถพบได้ที่
ถึงตอนนี้ คุณมีตัวแก้ไขพร้อมแล้ว ได้เวลาอัปโหลดสคริปต์ไปยัง Arduino ของคุณแล้ว หากคุณวิเคราะห์โค้ด คุณจะพบว่ามีช่วงเวลา 5,000 มิลลิวินาทีที่จะหลีกเลี่ยงการพิมพ์คีย์เดียวกันหลายครั้ง คุณสามารถเปลี่ยนช่วงเวลานั้นได้ แต่ถ้าคุณตั้งค่าให้เล็กเกินไป คีย์เดียวกันจะแสดงต่อกันหลายครั้ง
ตอนนี้ก็ถึงเวลาตรวจสอบว่าส่วนนี้ใช้งานได้หรือไม่ RFID ที่ฉันใช้คือ MiFare 1Kb มาตรฐานที่ 13.56 MHz ซึ่งมีราคาถูกมากเช่นกัน
เปิดจอภาพแบบอนุกรมของโปรแกรมแก้ไข Arduino และดูปุ่มต่างๆ ปรากฏขึ้นเมื่อคุณนำไปที่โมดูล RC-522
ขั้นตอนที่ 3: ส่วนต่อประสาน Windows เขียนใน C #
คุณพบว่ามีโฟลเดอร์บีบอัดที่มีโครงการ C # รวมอยู่ด้วย ดาวน์โหลดและแกะมัน โค้ดนี้เขียนใน Visual Studio 2017 โดยกำหนดเป้าหมายไปที่. Net framework 4.6.1 คอมพิวเตอร์ที่อัปเดตทุกเครื่องควรมีสิ่งนี้และสามารถดำเนินการได้ คุณไม่จำเป็นต้องติดตั้ง Visual Studio รหัสนี้มีไว้สำหรับผู้ที่ต้องการแก้ไขหรือตรวจสอบ หากไม่มีการปรับเปลี่ยนโปรแกรม ระยะเวลาของการทำงานจะถูกตั้งไว้ที่ 1 ชั่วโมง 30 นาที เวลารอบปกติตั้งไว้ที่ 50 วินาที ซึ่งสำหรับลู่วิ่ง 400 เมตร
ไฟล์เรียกทำงานสามารถพบได้ในโฟลเดอร์ Debug ซึ่งอยู่ภายใต้โฟลเดอร์ SponsorRun\SponsorRun\bin
ในโฟลเดอร์นั้นยังมีไฟล์ข้อความที่ใช้ในโครงการนี้เพื่อเก็บข้อมูล
ไฟล์ข้อความคือ:
- rfidKeys.txt: มีคีย์สำหรับทีมต่างๆ กุญแจดอกแรกสำหรับทีมชุดใหญ่เป็นต้น คุณสามารถลบไฟล์นี้และเพิ่มคีย์ของคุณเองได้ (ดูวิธีการทำงานของโปรแกรมด้านล่าง)
- team.txt: มีชื่อสำหรับทีมต่างๆ ชื่อแรกสำหรับทีมแรกเป็นต้น. แก้ไขไฟล์นี้ด้วยโปรแกรมแก้ไขข้อความธรรมดาทั่วไป (แผ่นจดบันทึกอาจทำได้)
- results.txt: ไฟล์รูปแบบ CSV ที่มีผลลัพธ์ของรอบต่างๆ ของทีม (อาจหายไปเมื่อยังไม่มีการลงทะเบียนรอบใด ๆ)
- cheate.txt: ไฟล์รูปแบบ CSV ที่มีทีมที่พยายามโกง (อาจหายไปเมื่อยังตรวจไม่พบการโกง)
วิธีการทำงานของโปรแกรมมีดังนี้:
- ในการเริ่มต้นโปรแกรมจะตรวจหาพอร์ต COM ต่างๆ บนคอมพิวเตอร์ของคุณ คุณควรเลือกพอร์ต COM ที่กำหนดให้กับ Arduino เพื่อให้การสื่อสารเป็นไปได้ โดยค่าเริ่มต้น อัตราความเร็ว COM ควรเป็น 9600 bps ซึ่งสอดคล้องกับความเร็วที่ตั้งไว้ในโค้ด Arduino
- คลิกปุ่ม "เริ่มฟัง" เพื่อเปิดใช้งานการสื่อสาร
-
จากจุดนั้น คุณสามารถเลือกระหว่างสองฟังก์ชัน:
- อ่านคีย์ RFID: เป็นการเพิ่มคีย์ใหม่ให้กับไฟล์ rfidKeys.txt
- ลงทะเบียนรอบ (ตัวเลือกเริ่มต้น): ลงทะเบียนรอบใหม่ไปยังไฟล์ results.txt ทุกครั้งที่อ่านคีย์ที่ถูกต้อง จะมีข้อความปรากฏขึ้นและจะมีเสียงบี๊บดังขึ้นเพื่อยืนยันการลงทะเบียน ระบบจะเพิ่มบรรทัดลงใน results.txt ในกรณีที่พยายามโกง ข้อความจะปรากฏในกล่องข้อความแยกต่างหาก เสียงบี๊บจะดังขึ้นอีกครั้ง และผลลัพธ์จะถูกเขียนไปยัง Frache.txt ในกรณีนั้น เวลาสำหรับรอบจะถูกตั้งค่าเป็นช่วงเวลาที่ตรวจพบการโกง
ขั้นตอนที่ 4: การปรับปรุงที่เป็นไปได้
ฉันสร้างโครงการนี้สำหรับสถานการณ์เฉพาะในโรงเรียนของฉัน เห็นได้ชัดว่าพารามิเตอร์บางตัวที่ใช้อาจไม่เหมาะกับโครงการของคุณ สำหรับตอนนี้ คุณจะต้องปรับพารามิเตอร์ในโค้ด C# และคอมไพล์โปรแกรมใหม่ ซึ่งจำเป็นต้องติดตั้ง Visual Studio (การติดตั้งขนาด 3.5 GB ที่แข็งแรง) หากมีการตอบกลับในปริมาณที่เหมาะสม ฉันอาจพิจารณาอ่านพารามิเตอร์เหล่านี้จากไฟล์ภายนอก
3D-cases ที่ฉันพบเพื่อใช้เป็นที่อยู่อาศัยของโปรเจ็กต์ Arduino ไม่สามารถใช้งานได้ ฉันเริ่มที่หนึ่ง แต่มีความพ่ายแพ้ซึ่งเป็นเหตุผลที่ฉันยังไม่ได้เพิ่มเข้าไป ใครก็ตามที่ต้องการแบ่งปันสามารถติดต่อฉันได้ดังนั้นฉันสามารถอ้างอิงงานของคุณในคำแนะนำนี้ได้
ขั้นตอนที่ 5: ยกนิ้วให้ !!
ฉันหวังว่าคุณจะสามารถใช้โครงการนี้และฉันรอคอยที่จะได้ยินจากคุณ