กลับไปหน้ารวมไฟล์
control-pie-face-wirelessly-with-your-phone-018e44.md

ชื่อโปรเจกต์: ควบคุม Pie Face แบบไร้สายด้วยโทรศัพท์ของคุณ!

การหลอกลวงทางวิศวกรรม: การแกล้งด้วย Pie Face ที่ถูกแฮก

การแกล้งกันมักเกี่ยวกับจังหวะเวลา และโปรเจกต์ Hacked Pie Face นี้คือบทเรียนขั้นสูงสุดในการตั้งเวลาเชิงกลที่แม่นยำและการควบคุมแบบไร้สาย ด้วยการ Reverse-engineering กลไกเฟืองและลิ่มภายในของเกม "Pie Face" ยอดนิยม โปรเจกต์นี้ได้แทนที่ความบังเอิญด้วยการทริกเกอร์ที่คำนวณไว้และควบคุมด้วยสมาร์ทโฟน โดยยังคงรักษารูปลักษณ์ทางกายภาพดั้งเดิมของเกมไว้ทั้งหมด

การก่อวินาศกรรมเชิงกล: การข้ามระบบเฟือง

เกม Pie Face ดั้งเดิมอาศัยชุดลิ่มแบบสุ่มบนเฟืองกลางที่ผลักตัว Idler ขึ้นไปเป็นระยะเพื่อปล่อยแขนเหวี่ยงที่ใช้สปริง

  • การถอดลิ่ม: แฮกเกอร์จะปิดการใช้งาน "ความสุ่ม" ในตัวของเกมอย่างถาวรโดยการขัดลิ่มทริกเกอร์บนเฟืองหลักออก
  • การกระตุ้นด้วยแรงบิดสูง: Micro-servo มาตรฐานขาดความแข็งแรงที่จะเอาชนะแรงต้านของสปริงภายในได้ ดังนั้นจึงมีการติดตั้ง 20 kg high-torque servo แทน
  • การเชื่อมต่อด้วยเอ็นตกปลา: เพื่อให้มีขนาดเล็กและลดเสียงรบกวน Servo เชื่อมต่อกับ Idler ผ่าน high-test fishing line ที่ร้อยผ่าน Eyebolt ภายใน ซึ่งให้การทริกเกอร์แบบ "เงียบ" ที่ไม่แจ้งเตือนเหยื่อ

ชุดคำสั่งและการควบคุมแบบไร้สาย

โปรเจกต์นี้เชื่อมช่องว่างระหว่างการแฮกเชิงกลและซอฟต์แวร์มือถือ:

  • HC-05 Bluetooth Interface: Arduino Nano ทำหน้าที่เป็นสมองภายใน รับฟังสัญญาณควบคุมจากแอป Serial Bluetooth Terminal
  • Conditional Launch Logic: เพื่อให้แน่ใจว่าพายจะถูกปาใน จังหวะที่แม่นยำ ที่เหยื่อหมุนที่จับ ระบบจึงมี Limit Switch โดย Arduino จะรอเงื่อนไขสองอย่าง: คำสั่ง "Launch Enabled" จากโทรศัพท์ของผู้ควบคุม และการคลิกทางกายภาพจาก Limit Switch ที่บ่งบอกถึงการหมุนที่จับ
  • การโจมตีแบบหน่วงเวลา: ฟีเจอร์ซอฟต์แวร์ที่ซับซ้อนช่วยให้ผู้ควบคุมสามารถตั้งค่า "Delay Count" ได้ ตัวอย่างเช่น ผู้ควบคุมสามารถสั่งให้เกมรอ 5 รอบการหมุนก่อนที่จะทริกเกอร์ ซึ่งช่วยให้พวกเขามีเวลาเปลี่ยนไปใช้แอปกล้องในโทรศัพท์เพื่อจับภาพช่วงเวลานั้น

วิวัฒนาการการออกแบบ V2: แผ่นรองใต้ท้อง (Belly Pan)

การแฮกเวอร์ชัน 2.0 ได้นำเสนอ central belly pan ที่เป็นที่เก็บแบตเตอรี่ USB 5V และชุดประกอบ Arduino/Servo การปรับปรุงการออกแบบนี้ทำให้มั่นใจได้ว่าตัวเกมทั้งสองส่วนสามารถแยกออกจากกันเพื่อการบำรุงรักษาได้โดยไม่ทำให้เอ็นตกปลาที่ละเอียดอ่อนขาด ทำให้เครื่องมือนี้เชื่อถือได้สำหรับการเล่นแกล้งหลายครั้งในงานปาร์ตี้หรือกิจกรรมต่างๆ

คุณสามารถดูหลักการทำงานของเครื่องจักรของฉัน และคลิปบางส่วนที่แสดงการทำงานจริง ได้ในวิดีโอด้านล่างนี้

วิดีโอนี้ประกอบด้วยภาพรวมทั้งหมดของโปรเจกต์ของฉัน

ในบทความนี้ ฉันจะอธิบายรายละเอียดเพิ่มเติมเกี่ยวกับกระบวนการที่ฉันได้มาซึ่งการออกแบบปัจจุบัน เพื่อความชัดเจน แนวคิดบางอย่างที่พบในวิดีโอก็จะถูกกล่าวถึงในบทความนี้ด้วย

แนวคิด

เมื่อฉันมีความคิดที่จะแฮก Pie Face เป็นครั้งแรก ฉันมีเป้าหมายการออกแบบหลายประการในใจ:

  • รูปลักษณ์ภายนอกของเกมควรคงเดิม
  • เกมไม่ควรสร้างเสียงรบกวนเพิ่มเติมมากนัก (เช่น ไม่มีเสียงมอเตอร์หรือ Servo หึ่งๆ ดังๆ)
  • เกมควรเชื่อมต่อกับโทรศัพท์มือถือแบบไร้สาย

สรุปคือ ฉันต้องการควบคุมกลไกการปาของเกมได้อย่างสมบูรณ์ โดยที่ไม่มีใครสังเกตเห็น เป็นงานที่ยากมากเลยทีเดียว ปัญหาหลักคือการจัดเก็บทุกอย่างลงในพื้นที่ที่จำกัดมาก

Reverse Engineering

ในการทำความเข้าใจวิธีการแฮก Pie Face ก่อนอื่นฉันต้องเข้าใจว่ากลไกของเกมทำงานอย่างไร และนั่นต้องอาศัยการทำ Reverse Engineering

โมดูลนี้ประกอบด้วยกลไกทั้งหมดของ Pie Face อย่างที่คุณเห็น มีหลายสิ่งหลายอย่างเกิดขึ้นภายใต้ฝากระโปรงของเกมนี้ คันโยกทางด้านขวาใน Figure 1 และ 2 คือสิ่งที่แขนเหวี่ยงสีม่วงยึดติดอยู่ และเฟืองขนาดใหญ่ตรงกลางของ Figure 2 คือสิ่งที่ถูกหมุนด้วยลูกบิดที่อยู่ด้านข้างของเกม หากคุณมองใกล้ๆ ที่ Figure 2 คุณจะเห็นลิ่มเล็กๆ กระจายอยู่รอบๆ รางด้านในของเฟือง อย่างที่คุณจะเห็นในแอนิเมชันต่อไปนี้ ลิ่มเหล่านี้คือองค์ประกอบสำคัญที่ทำให้เกมทำงานได้

Figure 4: แอนิเมชันที่แสดงให้เห็นว่า Pie Face ทำงานอย่างไรโดยมีเพียง 2 ลิ่ม

แอนิเมชันนี้แสดงถึงวิธีการทำงานของกลไก Pie Face เฟืองขนาดใหญ่ถูกหมุนโดยผู้ใช้ เมื่อ Idler (แสดงด้วยสีแดง) ถูกผลักขึ้นด้านบนด้วยลิ่มอันใดอันหนึ่ง แขนเหวี่ยง (แสดงด้วยสีม่วง) ก็จะถูกปล่อยออกมา มีลิ่มเพียง 2 อันในแอนิเมชันนี้เพื่อความเรียบง่าย อย่างที่คุณเห็นใน Figure 2 เฟืองจริงมีลิ่มกระจายอยู่รอบๆ รางด้านในแบบสุ่มอีกมากมาย ซึ่งหมายความว่า Pie Faceไม่ได้สุ่มเลย! มันแค่ถูกออกแบบมาให้รู้สึกเหมือนเป็นแบบนั้น ในความเป็นจริง มีรูปแบบที่กำหนดไว้ว่าเมื่อใดที่แขนจะถูกทริกเกอร์

การนำไปใช้งาน

Figure 5: แอนิเมชันที่แสดงให้เห็นถึงวิธีการทำงานของกลไกในเกมเวอร์ชันที่ถูกแฮกของฉัน

ฉันแฮกเกมโดยทำดังนี้ ฉันถอดโมดูลกลไกออก ขัดลิ่มทริกเกอร์ออก และเจาะรูใน Idler จากนั้นฉันติดเอ็นตกปลาเข้ากับ Idler ร้อยเอ็นผ่าน Eyebolt แล้วต่อปลายอีกด้านหนึ่งเข้ากับ Servo ตอนนี้ แขนเหวี่ยงจะไม่ถูกทริกเกอร์เลย เว้นแต่ว่า Servo จะดึงเอ็นตกปลาลง

ฉันจะไม่ลงรายละเอียดว่าทำไมฉันถึงเลือกวิธีนี้ในการแฮกเกมมากกว่าวิธีอื่น เนื่องจากได้กล่าวถึงในวิดีโอไปแล้ว แต่ฉันจะบอกว่าวิธีนี้ จะไม่สามารถใช้กับmicro-servoได้ แรงบิดที่ต้องใช้เพื่อเอาชนะแรงของ Idler

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

title: "Control Pie Face Wirelessly with Your Phone!"
description: "I hacked a Pie Face game to give me complete control over if and when the pie is thrown."
author: "HarrisonMcIntyre"
category: "Gadgets, Games & Toys"
tags:
  - "embedded"
  - "prank"
  - "internet of things"
views: 3646
likes: 3
price: 2450
difficulty: "Intermediate"
components:
  - "1x Pie Face"
  - "1x Arduino Nano R3"
  - "1x Hot glue gun (generic)"
  - "1x Scrap Wood"
  - "1x 5v USB Battery Pack"
  - "1x Eyebolt"
  - "1x Fishing Line"
  - "1x Limit Switch, 5 A"
  - "1x Sandpaper"
  - "1x Multitool, Screwdriver"
  - "1x Jig Saw"
  - "2x Accessory, Screw"
  - "4x Standoff, Nickel Plated"
  - "7x Standard Terminal Block, Lever-Nuts"
  - "1x Servo Mounting Bracket"
  - "12x Machine Screw, M3"
  - "1x Soldering iron (generic)"
  - "1x Micro-USB to USB Cable (Generic)"
  - "1x HC-05 Bluetooth Module"
  - "1x Arduino Nano Terminal Adapter"
  - "1x 20 kg Servo"
  - "1x USB-A to Mini-USB Cable"
  - "2x Cable Tie, Belt Ty™ In Line"
  - "7x Small Washers"
  - "1x Jumper wires (generic)"
  - "1x Solder Wire, Lead Free"
  - "1x Tape, Electrical"
tools: []
apps:
  - "1x Arduino IDE"
  - "1x Serial Bluetooth Terminal"
downloadableFiles: []
documentationLinks: []
passwordHash: "20aa9e103763fd9edc5ce98681c05a39f31cc8cdd7ff76c16deede046444795b"
encryptedPayload: "U2FsdGVkX1+dMkpjh85WpyOzb2qdjd+yK+XjU4Ls46auXuj2JGqQD6CUr+Pun8dx/xbpgBAbTaLIsbVEW2YF9pJIsiDUr4tByZHzSs/epYAszQ4fHckDjSLAM2jYAWJ9G4kmmqLZnD8H4ur77MFQ+A=="
seoDescription: "Hack a Pie Face game for wireless control via your phone. Take full command of when the pie is thrown in this fun project."
videoLinks:
  - "https://www.youtube.com/embed/altZYLuHFco"
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/control-pie-face-wirelessly-with-your-phone-018e44_cover.gif"
lang: "th"