PICでやりたいことを実現するには

電子工作の世界に踏み込んで、キットを作ったり、本に書いてあるとおりの工作をいくつかこなしたりしていくと、やがて自分の思いついたアイディアを実現したくなるものです。本稿では、その取っ掛かりとしてLEDの明るさを調節する方法について考えてみます。

LEDの特性

LEDは、豆電球に比べると扱いは少し面倒です。電圧が一定値より低いとまったく点灯しませんし、電圧がある値を超えると急激に電流が流れて明るくなります。電流が多いほど明るく光りますが、電流が大きすぎると壊れます。

そんな特性を持つLEDの明るさを、つまみを回すことで徐々に変わるようにしてみたいと思います。⁠徐々に変える」目的でよく使われるのは、つまみを回転させると抵抗が連続的に変わる可変抵抗です。ならば、LEDと電池と可変抵抗を直接つなげばいいんじゃないかと思うかもしれませんが、この方法はうまくいきません。LEDはある電圧を超えると急速に電流が流れるので、つまみを回す角度と、明るさが比例しないのです。

PWM

こんなときに使えるのがPWM(Pulse Width Modulation)という方法です。

PWMの信号は、のようにオンとオフを繰り返す一定周期の信号になっています。一つの周期の中で、オンの区間が占める割合をデューティ比といいます。デューティ比を徐々に大きくすれば平均電流が徐々に大きくなり、LEDの明るさを連続的に調整できるというわけです。

オンとオフの割合を調整しているだけなので、回路も簡単ですし、プログラムで簡単に制御できます。周期を短くすれば人の目にはちらつきが感じられなくなります。

あとは可変抵抗で調節したアナログの値である電圧を、A/D(アナログ-デジタル)変換でデジタルの値に変換してコンピュータで扱えるようにします。

まとめると、LEDの明るさを調整できるようにするには、可変抵抗で調整した電圧をA/D変換して、得られたデジタルの値を、PWMのデューティとして利用します。

これが実現できれば、ボタンの長押しで明るさを調節したり、プログラムでゆらぎのあるデューティ比を作り出して蛍やろうそくのようなまたたきを実現したり、なんて応用も考えられますね。

PICマイコンなら、A/DコンバータもPWMモジュールも内蔵しているので、簡単に、しかも超安価にLEDの明るさ調節機能を実現できます。プログラムも簡単です。

PICでやりたいことを実現するなら

LEDのみならず、スイッチやモータ、液晶表示、音、データの記録、センサやIoTなどなど、電子工作でやりたいことはいろいろありますよね。⁠PICの電子工作でこんなことがやりたい! いろんな野望を実現したい!」という方のために、新たな1冊が発売されました。PICの機能を一つずつ説明するのではなく、やりたいことから調べられるようにレシピをまとめています。それぞれのレシピにはサンプルコードや回路図もついていて、即活用できます。

問題解決にも、アイディア出しにも、初心者にも経験者にもお役立ち。レシピどうしを組み合わせると、さらなるアイディアがひらめきそうです。