เราทุกคนต่างรู้จักตัวละครสายลับเจมส์ บอนด์ ผู้โด่งดังแต่เป็นเรื่องแต่ง เขามักจะเป็นที่รู้จักจากอุปกรณ์ไฮเทคแห่งอนาคตของเขา เมื่อ 15 ถึง 20 ปีที่แล้ว ในภาพยนตร์บอนด์เรื่องหนึ่ง เจมส์ บอนด์ได้ใช้รถยนต์ที่ให้การแจ้งเตือนด้วยเสียงต่างๆ เช่น “door is unlocked please lock the doors”, “please wear seat belt” เป็นต้น ในยุคนั้น สิ่งเหล่านี้เป็นเพียงจินตนาการของผู้เขียนบทหรือผู้กำกับเท่านั้น แต่ในวันนี้ สิ่งเหล่านี้ได้กลายเป็นความจริงแล้ว
ผู้ผลิตรถยนต์บางราย เช่น AUDI, BMW และ Mercedes ได้เพิ่มคุณสมบัติที่ซับซ้อนและล้ำสมัยดังกล่าวในรถยนต์ของตน ซึ่งให้การแจ้งเตือนด้วยภาพและเสียงสำหรับเหตุการณ์ต่างๆ หนึ่งในการแจ้งเตือนที่มีประโยชน์ที่สุดคือ ระบบเตือนการล็อก-ปลดล็อกประตู หากประตูบานใดบานหนึ่งในสี่บานไม่ได้ล็อกอย่างถูกต้อง ก่อนที่จะสตาร์ทรถ ระบบจะแสดงข้อความแจ้งเตือน เมื่อประตูล็อกอย่างถูกต้องทั้งหมด ระบบจะแจ้งยืนยันว่าประตูถูกล็อกอย่างถูกต้อง ข้อความหรือการแจ้งเตือนจะแสดงบนหน้าจอแสดงผลบนแดชบอร์ด
แล้วสิ่งนี้เป็นไปได้อย่างไร? เป็นไปได้ด้วยเซ็นเซอร์ เซ็นเซอร์เหล่านี้ถูกติดตั้งอยู่ที่กลอนประตูของรถยนต์ พวกมันจะสร้างสัญญาณไฟฟ้าเมื่อประตูถูกล็อกหรือปลดล็อก สัญญาณเหล่านี้จะถูกป้อนไปยังคอมพิวเตอร์กลาง (controller) เพื่อตรวจจับว่าประตูล็อกอยู่หรือไม่
บางครั้งเมื่อเราล็อก เราต้องการมั่นใจว่ามันถูกล็อกอย่างถูกต้อง เช่นเดียวกับเวลาที่เราล็อกตู้เซฟ เราต้องการมั่นใจอย่างสมบูรณ์ว่ามันถูกล็อกอย่างถูกต้อง เพราะภายในบรรจุเครื่องประดับทอง, เงินสด, เครื่องประดับเพชร, เอกสารอสังหาริมทรัพย์ และสิ่งมีค่าอื่นๆ อีกมากมาย ดังนั้นในกรณีเช่นนั้น เราต้องการการยืนยันหรือการแจ้งเตือนว่าเมื่อเราล็อกแล้ว มันจะบ่งบอกว่าถูกล็อกอย่างถูกต้องแล้ว
โปรเจกต์นี้สาธิตการใช้งานแบบเดียวกัน มันใช้เซ็นเซอร์ที่ติดอยู่กับตัวล็อกซึ่งตรวจจับว่าถูกล็อกอย่างถูกต้องหรือไม่ เซ็นเซอร์ที่ใช้คือเซ็นเซอร์ opto-interrupt รุ่น MOC7811 ซึ่งประกอบด้วย IR LED และ photo transistor โปรเจกต์นี้สร้างขึ้นโดยใช้บอร์ดพัฒนา Arduino UNO และใช้ LCD เพื่อแสดงข้อความแจ้งเตือนว่าประตูถูกล็อกอย่างถูกต้องหรือไม่
น่าสนใจใช่ไหม? คุณอยากสร้างโปรเจกต์นี้ไหม? ถ้าอย่างนั้นเตรียมตัวให้พร้อม ลงมือทำกันเลย นี่คือแผนภาพวงจร พร้อมด้วยคำอธิบายและการทำงาน

คำอธิบายวงจร:
ตามที่แสดงในวงจร LCD ขนาด 16x2, LED หนึ่งตัว, ลำโพง 8Ω หนึ่งตัว และ MOC7811 ได้รับการเชื่อมต่อเข้ากับบอร์ด Arduino
· ขา Vcc (2) และขา Vss (1) ของ LCD เชื่อมต่อกับขา +5 V และ Gnd ของบอร์ด Arduino ตามลำดับ เพื่อจ่ายไฟเลี้ยง
· ขา LED+ (15) และขา LED- (16) ของ LCD ก็เชื่อมต่อกับขา +5 และ Gnd ตามลำดับ เพื่อเปิดไฟแบ็คไลท์ LED ของ LCD
· ขา Rs (4) และขา En (6) เชื่อมต่อกับขา Digital ของ Arduino หมายเลข 8 และ 9 ขณะที่ขา Rw (5) เชื่อมต่อกับกราวด์อย่างถาวรสำหรับ LCD write enable
· ขาข้อมูล D4 – D7 ของ LCD เชื่อมต่อกับขา Digital ของ Arduino หมายเลข 10 – 13
· LED หนึ่งตัวเชื่อมต่อกับขา 3 ผ่านตัวต้านทานจำกัดกระแส
· ลำโพง 8Ω หนึ่งตัวเชื่อมต่อกับขา 4 ตามที่แสดง
· IR LED ภายในของ MOC7811 ได้รับไฟ 5 V จากบอร์ด Arduino ผ่านตัวต้านทานจำกัดกระแส
· เอาต์พุต collector ของ photo transistor ของ MOC7811 ถูก pull up ด้วยตัวต้านทาน 10 K เอาต์พุตนี้เชื่อมต่อกับขาอินพุต Digital หมายเลข 2 ของบอร์ด Arduino หลังจากกลับสถานะด้วย transistor Q1
นี่คือภาพของวงจรที่สร้างบน breadboard

การทำงานของวงจร:
· เซ็นเซอร์ MOC7811 ถูกวางไว้ใกล้กับกลอนประตูในลักษณะที่สลักของกลอนจะสอดอยู่ระหว่างช่องว่างของ IR LED และ photo transistor
· ดังนั้น หากประตูถูกล็อกอย่างถูกต้อง สลักจะเติมเต็มช่องว่าง แสง IR จึงไม่ตกกระทบ photo transistor และเอาต์พุตของมันจะยังคงเป็น High
· เนื่องจากเอาต์พุตนี้ถูกกลับสถานะและป้อนเข้าที่ขา 2 อินพุตที่ขา 2 จึงยังคงเป็น Low หากประตูถูกล็อกอย่างถูกต้อง
· ดังนั้น ตราบใดที่อินพุตที่ขา 2 เป็น Low LCD จะแสดงข้อความ “door is properly locked” และ LED จะดับ รวมถึง buzzer ก็จะดับด้วย
· เมื่อประตูถูกปลดล็อกด้วยกุญแจ สลักจะออกจากช่องว่างของเซ็นเซอร์ และแสง IR จะตกกระทบ photo transistor
· transistor จะนำกระแส และเอาต์พุตของมันจะกลายเป็น Low
· ขา 2 ของ Arduino จะได้รับอินพุต High และจะแสดงข้อความ “door is not properly locked” ทันที
· buzzer จะส่งเสียงบี๊บ และ LED จะติดเพื่อแจ้งเตือนด้วยภาพและเสียงว่าประตูยังไม่ได้ล็อก
· ทันทีที่ประตูถูกล็อกอีกครั้งด้วยกุญแจ เมื่อมันล็อกอย่างถูกต้อง ช่องว่างของเซ็นเซอร์ก็จะถูกเติมเต็มอีกครั้ง และ LCD จะแสดงข้อความเดิมอีกครั้งว่า “door is properly locked”
ดังนั้น การจัดวางเซ็นเซอร์และวงจรเช่นนี้ให้ความมั่นใจ โดยจะแจ้งเตือนเฉพาะเมื่อประตูถูกล็อกอย่างถูกต้องเท่านั้น หากประตูไม่ได้ล็อกอย่างถูกต้องด้วยเหตุผลใดก็ตาม ช่องว่างของเซ็นเซอร์จะยังคงเปิดอยู่ ซึ่งนำไปสู่การแจ้งเตือนด้วยภาพและเสียง พร้อมข้อความบน LCD ว่าประตูยังไม่ได้ล็อกอย่างถูกต้อง
โปรแกรมและตรรกะของซอฟต์แวร์:
โปรแกรมซอฟต์แวร์คือหัวใจของโปรเจกต์นี้ โปรแกรมถูกแก้ไขและคอมไพล์ในซอฟต์แวร์ Arduino IDE และเขียนด้วยภาษา Arduino C โปรแกรมใช้ไลบรารี LiquidCrystal ที่มาพร้อมกับ Arduino IDE และตรวจสอบสถานะของขาอินพุต 2 หากเป็น Low หมายถึงประตูล็อกอยู่ มันก็จะแสดงข้อความเท่านั้น แต่เมื่อขา 2 เป็น High มันจะถือว่าประตูถูกปลดล็อกและจะเปิด LED, แสดงข้อความ และส่งเสียงบี๊บ และจะทำซ้ำกระบวนการนี้อย่างต่อเนื่อง นี่คือโปรแกรมฉบับสมบูรณ์
รายละเอียดทางเทคนิคเพิ่มเติม
ศูนย์จัดการการเข้าถึงที่ปลอดภัย
โปรเจกต์นี้จัดหาระบบรักษาความปลอดภัยการเข้าออกระดับมืออาชีพพร้อมแดชบอร์ดแสดงสถานะด้วยภาพและสัญญาณเตือนเสียงในพื้นที่
- การยืนยันตัวตนด้วย PIN ผ่าน Keypad: มี 4x4 keypad ผู้ใช้ต้องป้อนรหัสลับ 4-7 หลักเพื่อเปลี่ยนสถานะของตัวล็อก Arduino จะตรวจสอบรหัสจากหน่วยความจำภายใน
- ไดรเวอร์ Latching Solenoid: จัดการ 12V strike-plate หรือ door-lock ที่ใช้กระแสสูงผ่าน opto-isolated relay เฟิร์มแวร์มีโหมด "Emergency Lockout" หากป้อนรหัสผิดหลายครั้ง
การโต้ตอบ
- แดชบอร์ดสถานะ LCD: จอแสดงผลขนาด 16x2 ให้ข้อมูลตอบรับที่ชัดเจน เช่น "SYSTEM ARMED," "ACCESS GRANTED," หรือ "INCORRECT CODE." ไฟแบ็คไลท์จะกะพริบเป็นสีแดงเมื่อเกิดการทริกเกอร์ Alarm ที่ทำงานอยู่