可変抵抗の使い方
配線
右から入って真ん中で抜ける。初めて見たときは左右に抜けるイメージだったけど実際は真ん中で抜ける。
つまみと値の関係
水道 = 抵抗と考える。蛇口[1]をひねるほど抵抗値が大きくなる。LED に反映させている場合は蛇口をひねるほど暗くなる。
なぜ電源は右に繋ぐ?
右側に電源を繋ぐ人が多かったのと入門書がそうなっていたからそうした。ネットを見ると左に繋いでいる人もいた。
電源を左に繋ぐとどうなる?
大小が反転する。そこだけ注意すればどちらに繋いでもよい。LED に直接繋がっていて蛇口をひねるほど LED を光らせたいときは左に電源を繋ぐとよさそう。Arduino のアナログ入力経由の場合は値が反比例するので右側に繋いだままでいい。
命綱とは?
可変抵抗内の接触がバカになったとき大きな電流が流れてしまうのを防ぐためにある。したがって、なくてもよいが安全のためにつける。そういう意味で覚えやすいように命綱と勝手に命名した。
単体で LED の明るさ調整に使うと危険
- (電源5V - LED 2V) / 電流0.02A = 150Ω
となるため蛇口を絞り切るとほぼ 0Ω になり LED が死ぬ。
LED の明るさ調整に使うには?
LED 用の適正な抵抗を添えた上で可変抵抗を添える。これなら蛇口を止めても150Ω以下にはならない。
Arduino側で受け取るには?
LED に向かっていた線を Arduino 側に指せば 1024 段階の値として受け取れる。
void setup() {
}
void loop() {
int value = analogRead(A0);
float volt = float(value) * 5 / 1024;
}
その値は電圧値なので抵抗値と反比例している。
蛇口 | 抵抗値 | アナログ入力値 |
---|---|---|
開く | 増加 | 減少 |
絞る | 減少 | 増加 |
もし電圧値に変換するときは 1023 で割ってはいけない。1023 は 5V にもっとも近い 5V 未満の値なので 1024 で割るのが正しい。
光センサは可変抵抗だった
光センサの場合もArduino側のコードは同じになる。Arduino側から見れば元が可変抵抗だったのか光センサだったのか区別できない。その点からも光センサは可変抵抗だったとわかる。
圧電スピーカーのボリューム調整に使える
void setup() {
}
void loop() {
tone(8, 262, 500); // C
delay(1000);
}
コードはそのままで
-
GPIO 8
→圧電スピーカー
→GND
だったのを、
-
GPIO 8
→可変抵抗
→圧電スピーカー
→GND
に変更する。
最初は蛇口を最大まで開いておく。すると抵抗値が最大になって音量が 0 になる。そこから徐々に蛇口を絞れば音が聞こえ始める。
-
正確には蛇口ハンドル ↩︎
Discussion