0
0

ラズパイPico Wで音楽

Posted at

ラズパイPico のPWMを使って、音階を奏でましょう。

準備:スピーカーをGNDとGPIO15に接続

play-sound2.png

プログラム

from machine import Pin, PWM
import time

sp1 = PWM(Pin(15, Pin.OUT)) # スピーカーをGPIO15に接続

# ラの音を出す(440Hz)
sp1.duty_u16(0x8000)# PWMのDutyを50%にして音を出す。Dutyは0~0xFFFFつまり65535までの間の値で設定
sp1.freq(440)       # 440Hz
time.sleep(1)       # 0.5秒待つ
sp1.duty_u16(0)     # 音を消す
time.sleep(1)       # 0.5秒待つ

# 2オクターブ(220Hz~880Hz)の音を出す
for i in range(25):
    f = 220*2**(i/12) # 440Hzの1オクターブ下は220Hz
    print(f)
    sp1.duty_u16(0x8000)# PWMのDutyを50%にして音を出す。Dutyは0~0xFFFFつまり65535までの間の値で設定
    sp1.freq(int(f))    # 整数が必要
    time.sleep(0.1)     # 0.1秒待つ
    sp1.duty_u16(0)     # 音を消す
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0