【Raspberry Pi】LEDの輝度を調整してみる
今回は前回接続したLEDの輝度を調整してみるよ!
LEDの明るさを変えるにはPWMというものを使うようです。
実装
PWMとは:
出力のON、OFFを一定時間内でどれだけスイッチングするかを定義するもの
というわけで早速下記の関数を使って実装
・set_PWM_frequency(ピン番号、PWMの周波数)
・set_PWM_range(ピン番号、PWMの出力範囲 Max値の設定)
・set_PWM_dutycycle(ピン番号、Duty比率)
set_PWM_dutycycleで0 ~ set_PWM_rangeまでの値を設定し、
LEDの明るさを調整してみる。
#set BCM_GPIO 18 as LED pin PIN = 18 #set PWM frequency FREQ = 50 #set PWM range (Max - Low) RANGE = 100 pi = pigpio.pi() pi.set_mode(PIN, pigpio.OUTPUT) pi.set_PWM_frequency(PIN, FREQ) pi.set_PWM_range(PIN, RANGE) while True: print('|*********************|') print('| Increase duty cycle |') print('|*********************|') #increase duty cycle from 0 to 100 for dc in range(0, 101, 4): #change duty cycle to dc pi.set_PWM_dutycycle(PIN, dc) time.sleep(0.1) print('|*********************|') print('| Decrease duty cycle |') print('|*********************|') #decrese duty cycle from 100 to 0 for dc in range(100, -1, -4): #change duty cycle to dc pi.set_PWM_dutycycle(PIN, dc) time.sleep(0.1) break pi.stop()
おわりに
今回は前回の延長だったので簡単だった。
pigpioのドキュメントを覗くと結構いろんなことが出来そうなので、この先が楽しみ