ชีวิตที่สองของเกมมิ่ง: พลังแฝงของเจ้า Nunchuck
อุปกรณ์เกมเก่าๆ มักจะถูกปล่อยให้จับฝุ่น แต่เจ้า Wii Nunchuck นี่แหละคือ "ชุดเซ็นเซอร์" อันล้ำสมัยที่แฮ็กง่ายโคตรๆ ด้วยเงินไม่ถึง 150 บาท คุณก็เปลี่ยนเจ้าเกมแพดนี้ให้กลายเป็น Multi-Axis HID (Human Interface Device) สำหรับ Arduino ของคุณได้แล้ว โปรเจกต์นี้จะพาไปเจาะลึกวิธีดึงข้อมูลดิบจากเซ็นเซอร์ภายในของ Nunchuck เพื่อสร้างระบบอินเทอร์แอคทีฟแบบกำหนดเองที่ตอบสนองต่อการเคลื่อนไหวด้วยไฟและเสียง
ความลับของ I2C: Wire.h และ Nunchuck Library
ใต้เปลือกพลาสติกของมัน Nunchuck ใช้ โปรโตคอลสื่อสาร I2C (Inter-Integrated Circuit) แค่เชื่อม Nunchuck เข้ากับขา A4 (SDA) และ A5 (SCL) ของ Arduino คุณก็เข้าถึงข้อมูลเรียลไทม์เพียบเลย:
- Analog Stick: ให้ค่าพิกัด X และ Y ความละเอียดสูง เหมาะมากสำหรับบังคับหุ่นยนต์หรือเลื่อนเมนู
- 3-Axis Accelerometer: วัดการเอียงและความเร่งของคอนโทรลเลอร์ คุณสามารถตรวจจับ "ท่าทาง" ได้ เช่น สะบัดเร็วเพื่อเปิดไฟ หรือเอียงช้าๆ เพื่อเปลี่ยนระดับเสียง
- ปุ่มกด: ปุ่ม 'C' และ 'Z' ให้สัญญาณดิจิทัลทันที เหมาะสำหรับสั่งให้บัซเซอร์ดังหรือสั่งหยุดฉุกเฉิน
ฟีดแบ็กแบบอินเทอร์แอคทีฟ: ไฟและเสียง
เพื่อแสดงความแม่นยำของ Nunchuck โปรเจกต์นี้จะแมปอินพุตจากคอนโทรลเลอร์ไปยังเอาต์พุตทางกายภาพ:
- LED เต้นระบำ: LED สามดวงถูกแมปกับระดับการเอียงที่ต่างกัน พอคุณหมุน Nunchuck ไฟจะ "ไล่จับ" กันไปตามมุมการหมุนข้อมือของคุณ
- ลำโพง "ปรับระดับเสียง": โปรเจกต์นี้ใช้ 8-Ohm Piezo Speaker ด้วยการแมปแกน Y ของ Analog Stick ไปยังความถี่ของ
tone()คุณสามารถเล่น Nunchuck เหมือนเล่นเทอรีมินได้เลย—ดันคันโยกไปข้างหน้าเพื่อขึ้นเสียงสูง ดึงกลับมาเพื่อเสียงต่ำ - Wiichuck Adapter: เพื่อไม่ต้องตัดสายเดิม โปรเจกต์นี้ใช้ Nunchuck Adapter เฉพาะทาง แผ่น breakout board นี้เสียบเข้ากับปลั๊กของคอนโทรลเลอร์โดยตรง ให้ขาต่อผู้ชายที่สะอาดตาและเสียบลง breadboard ได้พอดีเป๊ะ
ทำไม Maker ทุกคนต้องมี Wiichuck
โปรเจกต์นี้ไม่ใช่แค่การสาธิต "สนุกๆ" ธรรมดา แต่มันสอนคุณเรื่องการจัดการ Synchronous Bus Communication และการกรองข้อมูลดิบจากเซ็นเซอร์ด้วย เพราะ Nunchuck ออกแบบมาให้ถือเล่นเกมนานๆ ได้สบายมือ มันเลยเป็นคอนโทรลเลอร์ที่ใช้งานสบายกว่าจอยสติ๊กธรรมดาบน PCB เยอะ โปรเจกต์รีไซเคิลเทคสุดเจ๋งสำหรับสร้างหุ่นยนต์บังคับระยะไกล, คอนโทรลเลอร์สำหรับเครื่องดนตรี, หรืองานศิลปะอินเทอร์แอคทีฟ
หลายปีก่อน พี่กำลังหาของเล่นใน Ebay อยู่แล้วก็ไปสะดุดตากับเจ้า Wiichuck controller มันดูน่าสนใจดี พี่ก็เลยสั่งมาลอง ใช้ไปแค่โปรเจกต์สองโปรเจกต์เอง เลยอยากหยิบมาใช้ใหม่ในโปรเจกต์นี้สักที
ใช้ I2C ในการดึงข้อมูลจากจอยสติ๊กและ accelerometer ของ Nunchuck เพื่อขับอาร์เรย์ LED แบบอินเทอร์แอคทีฟและเครื่องกำเนิดเสียงจากบัซเซอร์