ระบบปลดล็อคประตูด้วย QR code scanner
ผ่านกล้อง Webcam
มาเป็นเพื่อนในไลน์กับเราซิ เรารับทำหรือปรึกษาฟรี Add line
สั่งซื้อ Relay module ได้ที่ คลิกสั่งเลย
สั่งซื้อกล้อง Webcam คลิกสั่งเลย
สวัสดีครับเพื่อนๆ พี่ๆน้องๆที่กำลังอ่านบทความนี้ทุกท่านครับ ก่อนอื่นผมต้องขอขอบคุณทุกท่านที่ติดตามอ่านบทความของผม วันนี้ผมมีบทความที่น่าสนใจมาฝากทุกท่าน โดยหวังว่าผู้ที่ได้อ่านบทความนี้ จะได้ประโยชน์หรือนำไปประยุกต์ใช้งานให้ตรงกับเป้าหมายที่ท่านได้วางไว้ไม่มากก็น้อยครับ
บทความนี้จะนำเสนอเกี่ยวกับระบบรักษาความปลอดภัยรูปแบบหนึ่ง เป็นระบบปลดล็อคกลอนแม่เหล็กไฟฟ้าด้วย QR Code ผ่านกล้องเว็บแคม Qr code ถือเป็นเทคโนโลยีที่ใช้กันอย่างแพร่หลาย สามารถบันทึกลงบนโทรศัพท์ Smart phone ได้หรือ พิมพ์ลงบนแผ่นกระดาษก็ได้ ระบบปลดล็อคยุกแรกๆที่เราพอจะเห็นกันทั่วๆไปคือจะเป็นแบบ Key ให้ใส่รหัส หรือแบบชิพ RFID และ QR code ก็มีผู้พัฒนาและใช้กันอย่าแพร่หลายเช่น บทความนี้จึงเหมาะสำหรับผู้ที่ต้องการพัฒนาหรือนำไปต่อยอดเพิ่มเติมได้ ผมขออธิบายระบบการทำงานด้วยบล็อคไดอะแกรมดังนี้
1. ด้าน Software Application interface
พัฒนาด้วยโปรแกรม Visual Studio C# หรือ ท่านจะให้ภาษาอื่นแล้วแต่ถนัด ใช้ในการออกแบบ User Interface เพื่อง่ายต่อการใช้งาน
เมื่อ User เมื่อทำการถ่ายภาพ แล้วโปรแกรมตรวจสอบว่าภาพถ่ายเป็น QR code หรือไม่ หากว่าตรวจสอบแล้วเป็น Qr code ทึี่ถูกต้องโปรแกรมจะทำการ Decode (ถอดรหัส) เป็น text data เก็บไว้ แต่หากถ่ายภาพแล้วพบกว่าภาพนั้นไม่ใช้ QR code หรือเป็นโปรแกรมจะแสดงข้อความบอกความผิดพลาด
เมื่อถอดรหัสจาก QR code เรียบร้อยแล้วนำ text data ที่ถอดรหัสได้เก็บใน text box ในรูปแบบสายอักขระ (String) จากนั้นโปรแกรมตรวจสอบเงื่อนไข ถ้าสายอักขระที่รับเข้ามาจากการแปลงด้วย QR code ตรงกับสายอักขระที่ตั้งไว้ภายในเงื่อนไข โปรแกรมเขียนอักขระ "1" ส่งไปยัง Serial port หากกดปุ่มล็อค โปรแกรมเขียนอักขระ "2" ส่งไปยัง Serial port
2. ด้าน Hardware programming
1. ด้าน Software Application interface
พัฒนาด้วยโปรแกรม Visual Studio C# หรือ ท่านจะให้ภาษาอื่นแล้วแต่ถนัด ใช้ในการออกแบบ User Interface เพื่อง่ายต่อการใช้งาน
บล็อคไดอะแกรมของระบบการทำงานในส่วนของ Windows Form Application |
เมื่อ User เมื่อทำการถ่ายภาพ แล้วโปรแกรมตรวจสอบว่าภาพถ่ายเป็น QR code หรือไม่ หากว่าตรวจสอบแล้วเป็น Qr code ทึี่ถูกต้องโปรแกรมจะทำการ Decode (ถอดรหัส) เป็น text data เก็บไว้ แต่หากถ่ายภาพแล้วพบกว่าภาพนั้นไม่ใช้ QR code หรือเป็นโปรแกรมจะแสดงข้อความบอกความผิดพลาด
ภาพการถ่ายภาพ QR code และโปรแกรมทำการตรวจแล้ว QR code ถูกต้อง |
ภาพการถ่ายภาพทั่วไป และโปรแกรมทำการตรวจแล้ว QR code ไม่ถูกต้อง |
ทดสอบระบบการทำงาน
2. ด้าน Hardware programming
ในขั้นตอนนี้จะเป็นการเขียนโปรแกรมฝั่งของ Microcontroller ในที่นี้จะใช้บอร์ด Arduino โดยพัฒนาโปรแกรมให้อ่านค่าจาก Serial port แล้วนำค่าที่อ่านได้ไปเปรียบเทียบเพื่อ เพื่อกำหนดสัญญาณเอาต์พุทว่าจะให้ Active สัญญาณออกเป็น High หรือ Low
บล็อคไดอะแกรมของระบบการทำงานในส่วนของ Arduino Controller |
ขั้นตอนนี้เขียนโปรแกรมฝั่งของ Arduino โดยเราเรียก Library Serial.read(); เพื่ออ่านDataจากฝั่งของโปรแกรมที่ Windows App ส่งมาแล้วนำค่าไปเข้าเงื่อนไข
การทำงานระหว่างโปรแกรมฝั่ง Software และ ฝั่ง Hardware |
- กำหนด pinMode สำหรับ Output เพื่อนำไปขับวงจร Relay
- เก็บค่า Data ที่อ่านได้ด้วย Library Serial.read() ไปเก็บไว้ที่ Serial_in
- ทำการตรวจสอบเงื่อนไขว่าถ้า Serial_in มีค่าเป็น 1 ให้Output Active 1(มีแรงดันไฟฟ้าเป็นบวก)
- แต่ถ้า Serial_in มีค่าเป็น 2 ให้Output Active 0(มีแรงดันไฟฟ้าเป็นลบ)
แสดงการทำงานสวนของ Hardware |
การต่อวงจรจะใช้ Relay Module แบบ Normal Open (NO) Active 1 หมายความว่าวงจร Relay จะทำงานเมื่อมีแรงดันไฟบวกจาก Controllerเข้าที่ Input ทำการจ่ายแรงดัน +12V จากแหล่งจ่ายไฟกระแสตรงให้กลอนแม่เหล็กไฟฟ้า แล้วต่อกราวด์เข้ากับจุด Common (COM) เมื่อ Input ของวงจร Relay module เป็นบวกส่งผลให้วงจร Relay module ทำงานและจุด COM กับ NO ต่อกันเหมือนกับสวิตช์ ทำให้มีกระแสไฟฟ้าไหลผ่านขดลวดแม่เหล็กไฟฟ้า เมื่อครบวงจรกลอนไฟฟ้าจึงทำงานดูดสลักกลอนเข้าไป และเมื่อ Input ของวงจร Relay module เป็นล (0) กลอนแม่เหล็กไฟฟ้าก็จะกลับสู่สถานะเดิม คือคลายสลักออกมา
ทดสอบการทำงานของระบบ
สำหรับบทความนี้ต้องขออภัยหากมีข้อผิดพลาดประการใดหรือการเขียนบทความอาจจะไม่มืออาชีพเพราะผมอาศัยการทดลองและเขียนไว้กันลืิมด้วยเพราะมีระบบอื่นที่ต้องการศึกษาอีกมากมาย การทดสอบระบบจริงๆ จะต้องปรับการถ่ายภาพ ให้สามารถถ่ายภาพได้โดยอัตโนมัติ ถ้าไม่ติดขัดอะไรผมจะทำการทดลองในขั้นต่อไป และมาอัพเดตให้เพื่อนๆ พี่ๆ น้องๆ ได้ติดตามกัน
Download source code ที่นี่
มาเป็นเพื่อนในไลน์กับเราซิ เรารับทำหรือปรึกษาฟรี Add line
เป็นโปรเจ็คสำหรับทดลองด้วยคนเอง ขอสงวนสิทธิในการตอบคำถามบางกรณี
เป็นโปรเจ็คสำหรับทดลองด้วยคนเอง ขอสงวนสิทธิในการตอบคำถามบางกรณี
ต้องการ Source Code ทั้งหมด(ไฟล์ C# และ Arduino) ครับ
ตอบลบอยากทราบรายละเอียด source code ค่ะ หากต้องการค่าสนับสนุน หรือผู้ร่วมลงทุนโครงการกรุณาตอบกลับด้วยค่ะ
ตอบลบต้องการแบบพร้อมใช้เลยครับ สนใจครับ
ตอบลบอยากทราบรายละเอียด Source Code
ตอบลบhttps://drive.google.com/file/d/1nH5W4Ii6kZkJBgiRrTZ46zhr3Hnr8754/view
ลบ