กลับไปหน้ารวมไฟล์
po-box-combination-lock-wservo-b124a2.md

ชื่อโปรเจกต์: PO Box Combination Lock w/servo

อันนี้ตัดส่วนหนึ่งมาจากโปรเจกต์ใหญ่นะน้อง แต่ไม่ต้องห่วง Code ที่ให้ไปนี่ของจริง ใช้งานได้ชัวร์ ไม่จกตา

ปกติเขาก็ใช้ Keypad กดรหัสกันใช่ปะ? แต่มันธรรมดาไปวัยรุ่น ถ้าเคยเห็นตู้จดหมายสมัยก่อนที่เป็นแบบหมุนๆ ของไปรษณีย์น่ะ อันนั้นน่ะของดี สะเดาะยากโคตร เขามีตัวอักษร A-J 10 ตัว แล้วยังมีตำแหน่งระหว่างตัวอักษรด้วยนะ เช่น D-E หรือ J-A รวมๆ แล้วมีตั้ง 20 รหัส หมุน 3 จังหวะ ก็จัดไป 20x20x20 = 8000 รูปแบบ! หล่อเท่เลยงานนี้

งานนี้เราจะจำลองการหมุนรหัสด้วย Potentiometer (Pot) นะน้อง โดยอ่านค่า Analog Input ตั้งแต่ 0-1023 แล้วเอามา Map ให้เหลือ 20 รหัส ส่วนปุ่มกดตรงแกน Z ของ Joystick ก็เอาไว้ใช้กดยืนยันตอนป้อนข้อมูลนั่นแหละ ง่ายๆ อย่าคิดเยอะ

Potentiometer ตัวนี้แหละ จำลองการหมุนรหัสสุดเก๋า

ตัว Code จะมี 3 Block ที่ทำงานเหมือนกันเด๊ะๆ ไว้รับรหัสแต่ละหลัก จริงๆ จะยุบรวมเป็น Subroutine ก็ได้นะ แต่นี่พี่จงใจทิ้งไว้ให้น้องไปลองทำเอง เป็นการบ้านแก้เหงา จัดไปวัยรุ่น!

หมุนรหัส 3 ครั้งผ่าน Potentiometer แบบ Analog

พอใส่รหัสครบ 3 หลักแล้ว Arduino มันก็จะเอาไปเทียบกับรหัสที่ถูกต้อง ถ้าเป๊ะ! Servo ก็จะหมุนตามองศาที่เราตั้งไว้ องศาพวกนี้พี่วัดมาให้แล้วจากแบบ CAD ของกลไกล็อก ไม่ต้องมั่วเอง

โครงสร้างประตูแบบเน้นๆ

ล็อกตัวนี้ออกแบบมาให้เปิดฝาไม้แบบกระดกขึ้น จะเอาไปใส่กล่องเก็บอะไรก็ตามใจน้องเลย

รหัสผิด! [Servo](https://s.shopee.co.th/7fUgFAWSki) ไม่ขยับนะจ๊ะ

รหัสถูกปุ๊บ [Servo](https://s.shopee.co.th/7fUgFAWSki) หมุนเปิด ค้างแป๊บ แล้วหมุนกลับไปล็อกเหมือนเดิม

ในตัวอย่างนี้ พี่ตั้งให้ Servo มันล็อกกลับเองหลังจากผ่านไปสักพักนะน้อง ปลอดภัยหายห่วง

ระบบที่พี่ใช้ทำเนี่ย เบสบนบอร์ด Mega 2560 จัดเต็ม ทั้ง LCD 20x4 หลายจอ แถมใช้ขา Pin แทบจะหมดบอร์ด พี่เลยใช้เลข Pin เยอะหน่อยตรงแกน Z

บอร์ดทดลองพี่เอง อุปกรณ์เพียบ!

จริงๆ Code นี้มันสั่งงานผ่านรีโมท IR ได้ด้วยนะ แล้วมันก็มี Code ส่วนเกินที่ไม่เกี่ยวข้องกันเยอะ พี่เลยคลีน Code มาให้เหลือแต่เนื้อๆ เน้นๆ ส่วน SETUP() กับ LOOP() ปกติพี่ตัดออกไปหน่อย แต่น้องน่าจะดูออกแหละ ไม่ยากเกินฝีมือ

Servo ที่ใช้ พี่จัดแบบเฟืองเหล็กตัวละ 20 เหรียญมาเลยนะน้อง ไม่ใช่แบบพลาสติกกิ๊กก๊อกที่แถมมากับชุด Starter Kit ทั่วไป ส่วนพวกขาจับ Servo กับตัวยึดประตูเนี่ย พี่ 3D Print เอา เดี๋ยวมีไฟล์ .STL ให้ด้วยนะวัยรุ่น

แท่นวาง [Servo](https://s.shopee.co.th/7fUgFAWSki), จุดหมุนประตู แล้วก็เคส Joystick ทั้งหมดนี่ 3D Print มาอย่างหล่อ

รายละเอียดทางเทคนิคแบบจัดเต็ม

ระบบความปลอดภัยดิจิทัลสำหรับตู้เก็บของสุดแนว

โปรเจกต์นี้คือการอัปเกรดตู้จดหมายเก่าหรือเซฟจิ๋วให้กลายเป็นระบบดิจิทัลล็อกสุดล้ำ

  • ระบบการใส่รหัสแบบต่อเนื่อง (Incremental Entry Logic): Arduino จะคอยเช็คค่าจาก Potentiometer หรือ Rotary Encoder พอน้อง "หมุน" ไปเจอตัวเลขที่ตั้งไว้ (เช่น 10-25-05) Firmware มันก็จะเก็บข้อมูลไว้เช็คว่าหมุนถูกทิศมั้ย หยุดถูกตำแหน่งหรือเปล่า
  • ส่วนควบคุม Servo (Servo Actuation Hub): พอใส่รหัสผ่านปุ๊บ Arduino ก็จะสั่งให้ Servo แรงบิดสูง (High-torque) อย่าง SG90 หรือ MG995 หมุนเพื่อไปปลดล็อกกลอนประตูให้เปิดออก

ฟีเจอร์ความปลอดภัย

  • ระบบกันพวกมือบอน (Tamper Alert): มีระบบหน่วงเวลา "Anti-Brute Force" ด้วยนะน้อง ถ้าใส่รหัสผิดเกิน 3 ครั้ง Arduino จะสั่งล็อกการป้อนข้อมูลไปเลย 5 นาที พร้อมไฟ LED สีแดงกะพริบเตือนว่า "อย่ามั่ว!" สู้งานนะน้อง ห้ามทำช็อตล่ะ!

ข้อมูล Frontmatter ดั้งเดิม

title: "PO Box Combination Lock w/servo"
description: "Uses potentiometer and joystick for input of combination. Three 1 or two characters are each step in the combo with 8000 permutations."
author: "madmark2150"
category: ""
tags:
  - "po box"
  - "combination lock"
  - "potentiometer input"
  - "joystick"
views: 809
likes: 0
price: 1499
difficulty: "Easy"
components:
  - "1x Rotary potentiometer (generic)"
  - "1x Analog joystick (Generic)"
  - "1x 3D Printer (generic)"
  - "1x Arduino Mega 2560"
  - "1x Servo Module (Generic)"
  - "1x Alphanumeric LCD, 20 x 4"
tools: []
apps:
  - "1x Arduino IDE"
  - "1x TinkerCAD"
downloadableFiles: []
documentationLinks: []
passwordHash: "73ef308cfafabf4351846e08c5678df4309ea743a2199cda2abf241135d880ea"
encryptedPayload: "U2FsdGVkX1/xtWDZqDmEQ7bOXgnDtVJOOFTTgWbed/tNIwVvhk+QgnWGm53Jl3DFmSB+zpF0r/tlD+G5qFsiENPWXK6w1HWPvGj98Iik93mEb8Wc2Bd2pz2DewmJTYMm"
seoDescription: "Build a PO Box Combination Lock using Potentiometer and Joystick with a Servo. Features 8000 permutations for security."
videoLinks: []
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/po-box-combination-lock-wservo-b124a2_cover.jpg"
lang: "th"