今回からはArduinoのアナログ入力機能を使って、LEDの明るさを変えます(=調光)。
調光は3つの手順で行います。
- 手動でアナログ入力の値を変える
- Arduinoがアナログ入力の値を読み込む
- アナログ入力の値に応じてLEDの調光をする
手順2の「アナログ入力の読み込み」は温度センサーでやりました。今回新しく行うのは手順1の「手動でアナログ入力の値を変える」と手順3の「LEDの調光」です。
手順1は可変抵抗器という部品、手順3はPWMというArduinoの機能を使います。
目次
1. 可変抵抗器
可変抵抗器の仕組み
可変抵抗器というのは文字通り抵抗値を変えられる(=可変できる)抵抗器です。
下図は実物と回路図です。普通の抵抗器は足が2つですが、可変抵抗器は足が3つあります。
引用元:秋月電子通商 通販コードP-08012 商品ページより
可変抵抗器は中に長い抵抗体と、その抵抗体に接触しているワイパがあります。つまみを動かすとワイパが動きます。上記の回路図ですと矢印部分がワイパです。
※数字はピン番号。1番ピンと3番ピンは抵抗体に、2番ピンはワイパに接続されていると設定
物質は材料や太さが同じなら、長いほど抵抗値は大きく、短いほど抵抗値は小さいです。
下図のようにワイパが抵抗体を$3[k\Omega]$と$7[k\Omega]$に分割する位置にあると、それぞれのピン間の抵抗値は次にようになります。
(1番ピン-2番ピン間:$R_{12}$、1番ピン-3番ピン間:$R_{13}$、2番ピン-3番ピン間:$R_{23}$、)
$R_{12} = 3[k\Omega]$
$R_{13} = 10[k\Omega]$
$R_{23} = 7[k\Omega]$
このように可変抵抗器はつまみを動かすと、中でワイパが動いてそれぞれのピンの間にある抵抗体の長さが変わり、抵抗値が変わります。
可変抵抗器によるアナログ入力の変更
前回分圧(直列接続されている抵抗器に加わる電圧はそれぞれの抵抗値に比例)ついて説明しました。これを利用すればArduinoのアナログ入力値を変えることができます。
抵抗体の両端を+5[V]とGNDに、ワイパをアナログ入力に接続します。
このように接続することで+5[V]が可変抵抗器によって分圧されます。分圧された電圧はArduinoのアナログ入力へ接続されています。
ですので、可変抵抗器のつまみを動かすと、抵抗値が変わってそれに比例して電圧が変わり、電圧が変わることでアナログ入力の値が変わります。
2. PWM
LEDを調光するためにArduinoのPWM(Width Modulation)という機能を使います。簡単に言うと高速でON/OFFを繰り返し、電流を調整する機能です。
下図はArduinoがデジタルピンにHighを出力したときの波形とLEDです。Highを出力していますので、波形は+5[V]で安定しています。
下図はArduinoがPWM出力を行ったときの波形とLEDです。+5[V]と0[V]が切り替わり、LEDが暗くなっているのがわかると思います。
PWM波形の内ON(この場合は+5[V])になっている割合をDuty比といいます。上の図はDuty比20[%]です。
Duty比が100[%]に近づけば電流が増え、0[%]に近づけば電流が減ります。Duty比を変更してLEDに流れる電流を変え、LEDを調光します。
これでLEDの調光に必要な機能の説明は終わりです。
次回は実際に可変抵抗器やPWM機能を使い、LED調光をします。
参考文献
- トランジスタ技術2013年4月号. CQ出版社, 2013, p.45.
- Arduino. "PWM". Arduino. http://www.arduino.cc/en/Tutorial/PWM, (参照 2015-6-20)
![]() | 価格:1,512円 |
