Maker Pi RP2040に装備されているブザーとタッチセンサでキーボードを作ってみました。
ケーブルはGROVE - 4ピン - ジャンパオスケーブルを購入して使用しております。
タッチセンサは下記から購入しました。
Amazonからでも購入できます。
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の準備ができたら、プログラムを用意します。
今回は下記のプログラムを作成いたしました。
from machine import Pin, PWM
from time import sleep
sw1 = Pin(1,Pin.IN)
sw2 = Pin(3,Pin.IN)
sw3 = Pin(5,Pin.IN)
sw4 = Pin(17,Pin.IN)
sw5 = Pin(26,Pin.IN)
sw6 = Pin(27,Pin.IN)
buzzer = PWM(Pin(22, Pin.OUT))
vol = 6000
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 N(time):
buzzer.duty_u16(0) # close
sleep(time)
while True:
if sw1.value()==1:
DO(0.1)
elif sw2.value()==1:
RE(0.1)
elif sw3.value()==1:
MI(0.1)
elif sw3.value()==1:
MI(0.1)
elif sw4.value()==1:
FA(0.1)
elif sw5.value()==1:
SO(0.1)
elif sw6.value()==1:
LA(0.1)
else:
N(0.1)
sleep(0.1)
動かした様子です。
※ケーブルが1本足らないので、ドからソまでとなっています。
(参考)
音階について
Grove Shield for Pi Pico V1.0のBegiinner's Guide Lesson 8
コメント