ชื่อโปรเจกต์: 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 ก็เอาไว้ใช้กดยืนยันตอนป้อนข้อมูลนั่นแหละ ง่ายๆ อย่าคิดเยอะ

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

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

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


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

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

รายละเอียดทางเทคนิคแบบจัดเต็ม
ระบบความปลอดภัยดิจิทัลสำหรับตู้เก็บของสุดแนว
โปรเจกต์นี้คือการอัปเกรดตู้จดหมายเก่าหรือเซฟจิ๋วให้กลายเป็นระบบดิจิทัลล็อกสุดล้ำ
- ระบบการใส่รหัสแบบต่อเนื่อง (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 สีแดงกะพริบเตือนว่า "อย่ามั่ว!" สู้งานนะน้อง ห้ามทำช็อตล่ะ!