Rapsberry Pi と Python

Created Date: 2016-05-15/ updated date: 2018-03-13
Owner & Collaborators
License
Summary
Raspberry Pi (以降ラズパイと記す) の勉強会の資料です。
この記事は Raspberry Pi 勉強会 の一部です。

Memo

RPi.GPIO の PWM

posted by ohwada on June 06, 2016
デジタル出力の電圧は3.3Vと一定です。
そのためLEDの明るさも一定です。
非常に短い周期で点灯と消灯を繰り返すことで、LEDに明暗をつけることができます。
こういう方式を PWM (Pulse Width Modulation) パルス幅変調と言います。
人間の眼は、0.3秒周期では点灯と消灯を認識できますが、0.05秒周期では点灯と消灯を認識できず一定の明るさで点灯しているように感じます。
例えば、パソコンの動画は、1秒間に30回の画像を表示することで、あたかも動いているように見せています。

RPi.GPIO には PWM という関数が用意されています。

channel は GPIO 番号です。
freq はHz単位の周波数です
p = GPIO.PWM(channel, freq)

  • PWMを開始する
dc は Duty Cycle デューティ比 です
( 0.0 < = dc < = 100.0 )
p.start(dc) 

  • 周波数を変更する
p.ChangeFrequency(freq)

  • デューティ比を変更する
p.ChangeDutyCycle(dc)

  • PWMを停止する
p.stop()

Comments