熊おふし五郎が行く

主にマイコンボードを動かした記録を書いています

タクトスイッチ(押しボタンスイッチ)

タクトスイッチとは

タクトスイッチとは、人が手で押したり離したりしてON/OFFをするスイッチです。

f:id:bear_9973:20200902203159j:plain:w400
タクトスイッチ

スイッチモジュール

スイッチの種類は多くありますが、ここでは、KEYESTUDIO製BBC micro:bitのスターターキットにあるスイッチモジュールを使います。
スイッチモジュールを購入するときは、 周辺回路にご留意してください。

f:id:bear_9973:20200902203354j:plain:w400
スイッチモジュール

インターフェース

タクトスイッチは、デジタル信号を入力します。

周辺回路

タクトスイッチはプルアップ抵抗を使用するのが一般です。KEYESTUDIO製のスイッチモジュールは、すでにプルアップ抵抗があるようです。スイッチモジュールを購入するときは、プルアップ抵抗またはプルダウン抵抗が付いているか、ご留意してください。

ソフトとマイコン

押しボタンのON/OFFを検出するサンプルソフトを説明します。

MicropythonとMicro:bit

フローは以下を示します。

  1. Micro:bitを起動すると、Micro:bitのLEDディスプレイに×を表示します。
  2. 押しボタンを押したら、Micro:bitのLEDディスプレイに○を表示します。
  3. 押しボタンを離したら、Micro:bitのLEDディスプレイに×を表示します。

接続

接続表と接続図(写真)を示します。

Micro:bit LED
モジュール
P0 S
3V +
GND -

f:id:bear_9973:20200902204505p:plain:w400
接続図

コード

from microbit import *

# Micro:bitを初期化
display.clear()  # LCEディスプレイを初期化
pin0.set_pull(pin0.NO_PULL)  # ピンの状態

# ループ
while True:
    if pin0.read_digital():
        # ボタンが押されていないときは、NO(バツ)
        display.show(Image.NO)
    else:
        # ボタンが押されたときは、YES(チェック)
        display.show(Image.YES)```

結果

ボタンを押していないときは、LEDディスプレイがNO(バツ)を、ボタンが押されたときはYES(チェック)を表示していると確認できました。

f:id:bear_9973:20200902210640j:plain:w400
接続図

Arduino

【未調査】

Raspberry Pi

【未調査】

STM32 Nucleo

【未調査】