這個裝置會做什麼
家裡的燈只能「開」或「關」?現在你可以「動一動」就變。
今天做一個姿勢控制器——用最普通的搖桿,控制 LED 的亮度和顏色。往左推變暗,往右推變亮;往上拉變暖色,往下壓變冷色。這不是按鈕,是你的手勢。
需要的材料
| 材料 | 哪裡買 | 參考價 |
|---|---|---|
| Arduino Uno | 露天拍賣 | $250 |
| 雙軸搖桿模組(KY-023) | 露天拍賣 | $50 |
| RGB LED | 電子材料行 | $20 |
| 麵包板 + 跳線 | 電子材料行 | $30 |
總計約 $350,組裝時間 30 分鐘。
電路圖
Arduino A0 ─── VRx(搖桿 X 軸)
Arduino A1 ─── VRy(搖桿 Y 軸)
Arduino D9 ─── RGB LED R腳
Arduino D10 ─── RGB LED G腳
Arduino D11 ─── RGB LED B腳
Arduino GND ─── RGB LED GND + 搖桿 GND
Arduino 程式碼
int xPin = A0;
int yPin = A1;
int rPin = 9;
int gPin = 10;
int bPin = 11;
void setup() {
Serial.begin(9600);
pinMode(xPin, INPUT);
pinMode(yPin, INPUT);
pinMode(rPin, OUTPUT);
pinMode(gPin, OUTPUT);
pinMode(bPin, OUTPUT);
}
void loop() {
int xVal = analogRead(xPin); // 0-1023
int yVal = analogRead(yPin); // 0-1023
// X軸控制亮度
int brightness = map(xVal, 0, 1023, 0, 255);
// Y軸控制色相(HSV概念)
int hue = map(yVal, 0, 1023, 0, 255);
// 簡單RGB轉換
analogWrite(rPin, (hue > 85 && hue < 170) ? brightness : 0);
analogWrite(gPin, (hue > 0 && hue < 85) ? brightness : 0);
analogWrite(bPin, (hue > 170) ? brightness : 0);
delay(50);
}
為什麼手勢比按鈕更直覺
按鈕是二元思考:開或關。
搖桿是連續思考:多少、多強、多暖。
設計系的同學應該很熟悉這個邏輯——參數式設計本來就是「滑動數值」而不是「選開關」。把這個直覺帶進實體互動,LED 只是第一步。
三個延伸方向
- 加上 MIDI:把數值映射成音高,做成音樂控制器
- 改成遊戲手把:映射成方向鍵 + 功能鍵
- 加上「鎖定」功能:特定姿勢自動保持燈光不變
完成之後
你房間的燈不再需要牆壁開關。你蹲下來,燈就暗下來。你站起來伸手,燈就變成暖黃色。
這聽起來有點怪,但做出來的瞬間你會一直玩,停不下來。
你可以從這裡開始
材料在露天一天到貨。組裝不複雜。程式的參數你可以自己調——這本來就是屬於你的控制器。
Top comments (0)