【日中カップルが同棲はじめました】       日本男子×中国女子の生活

交際1か月で彼女の部屋に上がり込んで同棲してしまったカップルの話

【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のドキュメントを覗くと結構いろんなことが出来そうなので、この先が楽しみ