Maker Pi RP2040のブザーできらきら星を演奏してみました。
Maker Pi RP2040のMicroPythonのファームウェアをセットアップや開発環境の設定については下記をご覧ください。
【MicroPythonのファームウェアをセットアップ】
ファームウェアセットアップする際に、microUSB端子の横にある電源をONにしておきます。
設定方法は下記のURLに記載されています。
URL: https://www.raspberrypi.org/documentation/rp2040/getting-started/#getting-started-with-micropython
また、当ブログでは下記の記事に記載しています。
【開発環境の設定】
当ブログでは下記の記事に記載しています。
準備が整ったらUSBケーブルをコンピューターに接続します。
おそらく、BOOTSELボタンを押しながら起動するのは初期設定のときのみで、
普段は普通の接続で大丈夫そうです。
Thonnyを起動し、インタプリタとして「MicroPython(Raspberry Pi Pico)」を選択します。
これは、右下のボックスをクリックして行うことができます。
Raspberry Pi Picoの準備ができたら、プログラムを用意します。
今回はGrove Shield for Pi Pico V1.0のBegiinner's GuideにあるCodeを引用させていただきました。
(該当ページはP64-P74になります。)
メーカーのGrove Shield for Pi Pico V1.0のBegiinner's Guideは下記のURLです。
また、Begiinner's Guideと使用されているCodeのデータについては下記のリンクの下方の画像で赤枠で囲った箇所よりDownloadができます。
[ZIP] Code の をダウンロードして、Codes > Lesson 8 > little_star.pyのCodeをもとにPin番号をMakePiRP2040向けに修正し、Volとプログラムを少し修正したものがこちらになります。
from machine import Pin, I2C, ADC, PWM
from time import sleep
buzzer = PWM(Pin(22))
vol = 3000
def DO(time):
buzzer.freq(1046) #1
buzzer.duty_u16(vol)
sleep(time)
def RE(time):
buzzer.freq(1175) #2
buzzer.duty_u16(vol)
sleep(time)
def MI(time):
buzzer.freq(1318) #3
buzzer.duty_u16(vol)
sleep(time)
def FA(time):
buzzer.freq(1397) #4
buzzer.duty_u16(vol)
sleep(time)
def SO(time):
buzzer.freq(1568) #5
buzzer.duty_u16(vol)
sleep(time)
def LA(time):
buzzer.freq(1760) #6
buzzer.duty_u16(vol)
sleep(time)
def SI(time):
buzzer.freq(1967) #7
buzzer.duty_u16(vol)
sleep(time)
def N(time):
buzzer.duty_u16(0) # close
sleep(time)
DO(0.25)
N(0.01)
DO(0.25)
N(0.01)
SO(0.25)
N(0.01)
SO(0.25)
N(0.01)
LA(0.25)
N(0.01)
LA(0.25)
N(0.01)
SO(0.5)
N(0.01)
FA(0.25)
N(0.01)
FA(0.25)
N(0.01)
MI(0.25)
N(0.01)
MI(0.25)
N(0.01)
RE(0.25)
N(0.01)
RE(0.25)
N(0.01)
DO(0.5)
N(0.01)
SO(0.25)
N(0.01)
SO(0.25)
N(0.01)
FA(0.25)
N(0.01)
FA(0.25)
N(0.01)
MI(0.25)
N(0.01)
MI(0.25)
N(0.01)
N(0.01)
RE(0.5)
N(0.01)
SO(0.25)
N(0.01)
SO(0.25)
N(0.01)
FA(0.25)
N(0.01)
FA(0.25)
N(0.01)
MI(0.25)
N(0.01)
MI(0.25)
N(0.01)
N(0.01)
RE(0.5)
N(0.01)
DO(0.25)
N(0.01)
DO(0.25)
N(0.01)
SO(0.25)
N(0.01)
SO(0.25)
N(0.01)
LA(0.25)
N(0.01)
LA(0.25)
N(0.01)
SO(0.5)
N(0.01)
FA(0.25)
N(0.01)
FA(0.25)
N(0.01)
MI(0.25)
N(0.01)
MI(0.25)
N(0.01)
RE(0.25)
N(0.01)
RE(0.25)
N(0.01)
DO(0.5)
N(0.01)
上記プログラムを実行してみた結果がこちらになります。
Comments