top of page

Maker Pi RP2040とタッチセンサでキーボードを作ってみました。

更新日:2022年11月6日

Maker Pi RP2040に装備されているブザーとタッチセンサでキーボードを作ってみました。

ケーブルはGROVE - 4ピン - ジャンパオスケーブルを購入して使用しております。


タッチセンサは下記から購入しました。

Amazonからでも購入できます。


Maker Pi RP2040のMicroPythonのファームウェアをセットアップや開発環境の設定については下記をご覧ください。


【MicroPythonのファームウェアをセットアップ】

ファームウェアセットアップする際に、microUSB端子の横にある電源をONにしておきます。

設定方法は下記のURLに記載されています。

また、当ブログでは下記の記事に記載しています。


【開発環境の設定】

当ブログでは下記の記事に記載しています。


準備が整ったら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



閲覧数:23回
bottom of page