2022.04.30LEDの明るさを調整する2つの方法【PWM調光とアナログ調光】LEDの明るさを調整する方法には、PWM調光アナログ調光の2つがあります。今回はPWM調光とアナログ調光の違いと、それぞれのやり方を説明していきます。先にイメージしやすいアナログ調光について説明していきます。アナログ調光とは、LEDに流す電流を連続的に変えることで明るさを調整する方法です。LEDは電流を多く流すほど明るくなります。アナログ調光の実験回路アナログ調光の一番簡単な方法は、抵抗値を変えて流す電流を変化させる方法です。このような回路でLEDに流す電流を調整します。1kΩの抵抗は最大電流を決めるためのものです。可変抵抗器は0Ω~10kΩまで変化します。ツマミを回して抵抗値を10kΩ⇒0Ωへ徐々に変化させていくと、このようにLEDの明るさが変化します。ボリュームを使ってアナログ調光をやってみた。Modulationの略で、パルスの幅を変化させることで制御する方式です。PWM調光とは、LEDを高速でオン・オフさせて明るさを調整する方法です。目で追えないほど速くオン・オフを切り替えるので、残像現象でずっと点灯しているように見えます。オンする時間(パルス幅)が長いほど明るくなり、短いと暗くなります。オンの期間とオフの期間の比率をDUTY(デューティ)といい、単位は%です。オン期間とオフ期間が同じならDUTYは50%、全期間でオンなら100%となります。ラズパイでLEDの明るさを制御するそれでは、ラズパイを使って実際にLEDをPWM調光してみましょう。回路図はこのようにしました。ラズパイ4Bの場合、PWMに対応しているGPIOポートは次の4つです。19今回はGPIO18を使います。GPIO18がHi(3.3V)を出力するとLEDがオンし、GPIO18がLo(0V)だとLEDがオフします。HiとLoの期間の比率を変えることでLEDの明るさを変えます。220Ωは電流制限抵抗で、GPIO18がHiの時に流れる電流を決めています。5.9mAとなります。Pythonコード指定したDUTYで光らせるコードです。PWM停止GPIO.cleanup()GPIO18から500HzのPWM波形を出力します。「ChangeDutyCycle」でDUTYを指定します。DUTYが80%の時の結果DUTYが20%の時の結果オシロスコープの波形はGPIO18の出力をモニタしています。DUTYの違いによってLEDの明るさが変化していることが分かります。明るさを徐々に変化させるPWMのDUTYを徐々に変化させることで、明るさを徐々に変化させることができます。コードは次の通りです。destroy()DUTYを1%ずつ、20msごとに変化させています。プロフィールりょうのすけアナログ回路設計者です。現在はベンチャーに所属して生体センシングをやってます。ハードでもソフトでも、何かしら作ることが好きです。