2022年5月27日金曜日

Maker Pi RP2040とCircuitPythonでPWMを使用して8つのLEDの明るさを徐々に変える

RP2040には8つのPWMがあります。PWMでLEDの明るさを徐々に変えるには、以下の手順を実行します。

〇Maker Pi RP2040でボタンを押下して8つのLEDの明るさを制御した写真

実行手順

1. Maker Pi RP2040をパソコンにUSBで接続して、Mu Editorを起動します。

2. code.pyを開いて、プログラムの書き込み。
Maker Pi RP2040はデフォルトでCircuitPythonが実行できるので、以下のプログラムをcode.pyとしてMu Editorから書き込みます。プログラムをMaker Pi RP2040で保存した後に、GP20ボタンをクリックすると徐々に点灯、GP21ボタンをクリックすると徐々に消灯します。
※Mu Editorを使用せず、code.pyを直接エクスプローラーなどから保存する事も出来ます。
import board
import time
import pwmio
import math

pins = [
  board.GP0,
  board.GP1,
  board.GP2,
  board.GP3,
  board.GP4,
  board.GP5,
  board.GP6,
  board.GP7,
]

led_meter = []


# ピンの初期化
for pin in pins:
  led = pwmio.PWMOut(pin, duty_cycle=0, frequency=5000)
  led_meter.append(led)

dci = 0
while True:
    # 各LEDのduty_cycleをずらして、徐々に明るさが変化するように設定
    for li in range(8):
      led_meter[li].duty_cycle = int((math.sin(2*math.pi*(dci+30*li)/360)+1)*32767)
    dci=dci+10
    time.sleep(0.1) 

関連情報

・Maker Pi RP2040に関する他の情報はこちらを参照してください。

・Mu Editorに関する他の情報はこちらを参照してください。

0 件のコメント:

コメントを投稿