プログラマブルボタン

Maker Pi RP2040のプログラマブルボタンを使用する

20番と21番はプログラマブルボタンになっています。使い方を見ていきましょう。Thonnyのコンソールでボタンの状態を調べます。何も押されていない状態で、コンソールは1を返してきます。押した状態でpin.value()を調べると0が戻ってきますね。オフで0をオンで1を返してきてほしいのですけど、どうやら変更することはできないようです。PULL_DOWNなどをいじってもそのままでした。

>>> import machine
>>> pin = machine.Pin(20)
>>> pin.value()

1

カムプログラミングロボットにライトを付ける

GPIO2番と3番にLEDを接続します。抵抗をつけてGNDに接続

グローブ端子を使ってヘッドライト風に接続

ボタンを操作する

gp20を押すと右のライトが、gp21のボタンを押すと左のライトが点灯します。このボタンを使えるようになりました。ロボット制御に利用していきます。

from machine import Pin
import utime
right_led = Pin(2, Pin.OUT)
left_led = Pin(3, Pin.OUT)
button1 = Pin(20, Pin.IN)
button2 = Pin(21, Pin.IN)
right_led.value(0)
left_led.value(0)
while True:
    
    if button1.value()==0:
        print('rb'+str(button1.value())+'lb'+str(button2.value()))
        for i in range (6):
            right_led.toggle()
            utime.sleep(0.5)
    elif button2.value()==0:
        print('rb'+str(button1.value())+'lb'+str(button2.value()))
        for i in range (6):
            left_led.toggle()
            utime.sleep(0.5)
    else:
        print('rb'+str(button1.value())+'lb'+str(button2.value()))
        right_led.value(0)
        left_led.value(0)