はじめに
サーボ制御に使用されるPWMコントローラですが、LEDの輝度の制御にも使用できます。これを使って、Mazda 3のターンシグナルを模擬してみました(Mazdaファン以外には分かりにくいですが...)。
前提
- デバイス:HiLetgo PCA9685
- ライブラリ: Adafruit Python PCA9685
LEDのPWM制御について
PWMコントローラは、周波数とHighからLowにタイミングを設定することができます。例えば、下記の図(a)は(b)と比較してHighの期間が長いため相対的に明るく見えます。常にHighであれば最大輝度、常にLowであれば消灯になります。
インストール
sudo apt-get install git build-essential python3-dev
cd ~
git clone https://github.com/adafruit/Adafruit_Python_PCA9685.git
cd Adafruit_Python_PCA9685
sudo python3 setup.py install
実装
PWM周波数はサーボ制御の関係で57.8Hz、点滅の周波数は1.5Hz、4096階調で30ステップごとに輝度を変化させるとそれっぽく見えます。
結果
Dimming Turn Signal pic.twitter.com/33uruU7WKn
— tutu (@tutu68018594) September 28, 2020