用搖桿做一個「姿勢控制器」——自己定義什麼叫「動一動」
阿哲在那個下午拿著 PS5 搖桿想到的事
那天阿哲在客廳玩《蜘蛛人》。
蕭爾博士在地鐵站裡追著他跑。阿哲把搖桿往上一推——蜘蛛人跳到天花板。往下推——蹲下滑鏟。
他下意識在想的卻是另一件事:
「我如果把這個動作感應,變成家裡的互動裝置,會怎樣?」
比如客廳的燈,可以用一樣的手勢控制。
往上推 = 燈變亮。
往下推 = 燈變暗。
往左往右 = 顏色切換。
不需要應用程式,不需要配對。只要把搖桿插上 Arduino,燈就跟著動。
他把手上的 DualSense 放下,打開露天拍賣。
這個裝置會做什麼
用一個搖桿,同時控制兩件事:LED 亮度 + 顏色。
上下動 = 亮度(暗 ↔ 亮)
左右動 = 顏色(暖黃 ↔ 冷白 ↔ 彩色漸層)
這個裝置的本質是:讓你的手勢變成指令。
所需材料(露天拍賣可買,NT$ 計價)
| 材料 | 規格 | 價格 |
|---|---|---|
| Arduino Nano | 兼容版 | NT$130 |
| 雙軸搖桿模組 | KY-023(X+Y 類比輸出) | NT$55 |
| RGB LED 燈條 | WS2812B(30顆燈) | NT$120 |
| 麵包板 + 杜邦線 | 必要的配角 | NT$50 |
| 總計 | NT$355 |
露天拍賣一天到貨,今天訂明天組裝。
原理:搖桿怎麼知道你在往哪推
搖桿內部是兩個互相垂直的電位計(可變電阻)。
往上推:Y 軸電位計電阻變小,Arduino 類比值從 512 往 0 變。
往下推:Y 軸電阻變大,Arduino 類比值從 512 往 1023 變。
往左往右:X 軸電位計做出同樣的事。
推搖桿 → 電位計電阻改變 → 類比電壓改變 → Arduino 讀到 0-1023 的數值
接線步驟
KY-023 搖桿模組 Arduino Nano
─────────────────────────────────────
VCC(5V) → 5V
GND → GND
X(VRX) → A0
Y(VRY) → A1
SW(按鈕) → D2(可選)
WS2812B LED燈條 Arduino Nano
─────────────────────────────────────
5V(供電) → 5V(建議外接USB供電)
GND → GND
DIN → D6
⚠️ 阿哲的叮嚀:搖桿模組的 VCC 接 5V(不是 3.3V),類比讀值才會完整。
Arduino 程式碼
#include <Adafruit_NeoPixel.h>
#define JOYSTICK_X A0
#define JOYSTICK_Y A1
#define LED_PIN 6
#define NUM_PIXELS 30
Adafruit_NeoPixel strip(NUM_PIXELS, LED_PIN, NEO_GRB + NEO_KHZ800);
void setup() {
Serial.begin(115200);
strip.begin();
strip.show();
}
void loop() {
int xRaw = analogRead(JOYSTICK_X);
int yRaw = analogRead(JOYSTICK_Y);
// X軸控制色相(0-65535)
uint16_t hue = map(xRaw, 0, 1023, 0, 65535);
// Y軸控制亮度:往上推=亮,往下推=暗
uint8_t brightness = map(yRaw, 0, 1023, 255, 0);
uint32_t color = strip.ColorHSV(hue, 255, brightness);
for (int i = 0; i < NUM_PIXELS; i++) {
strip.setPixelColor(i, color);
}
strip.show();
delay(50);
}
需要 Adafruit NeoPixel 函式庫:Arduino IDE → 草擬碼 → 匯入程式庫 → 管理程式庫 → 搜尋「Adafruit NeoPixel」→ 安裝。
為什麼手勢比按鈕更直覺
按鈕是二元選擇:開或關。
搖桿是連續空間:你可以停在中間任何一個位置,輸出一個「中間值」。
當你用搖桿控制亮度,你可以說「我要七成的亮度」。
漸層,是設計感的起點。
阿哲的三個延伸方向
① 變成 MIDI 控制器
把搖桿的 X/Y 值轉換成 MIDI CC 訊號,插上電腦就可以在 GarageBand 或 Ableton 裡控制參數。
② 改成小遊戲控制器
用 Processing 在電腦上畫一個迷宮球遊戲,球滾動的方向和速度由搖桿即時控制。
③ 加上「鎖定」功能
搖桿往下按(SW 腳)可以當確認鍵。往上推開燈 → 按下去「鎖定」——燈就停在那裡不動。
完成之後
把搖桿插上 Arduino。
往上推——燈變亮。往下推——燈變暗。往左往右——彩虹流動。
你可以停在任何一個位置,它就會停在那一格。
現在你不只是「開關燈」,你是「用整個房間表達你的情緒」。
而且從今天起,你的控制介面是你自己做的。
你可以從這裡開始
- 露天拍賣搜尋「Arduino 搖桿模組 KY-023」
- 露天拍賣搜尋「Arduino Nano WS2812B 套件」
- 預估今天或明天到貨
- 下載 Arduino IDE(免費,官方網站有中文版)
- 把上面的程式碼複製貼上,燒錄進去
做出來的那一刻,你會一直玩,停不下來。
Top comments (0)