ボタンモジュール

../_images/06_button.png

概要

ボタンモジュールは、ボタンの状態を検出する電子デバイスです。通常はスイッチとして使用され、回路を接続または遮断します。ボタンは、ドアベル、デスクランプ、リモートコントロール、エレベーター、火災報知器など、多様なシナリオで活用されています。

原理

ボタンモジュールはスイッチの原理で動作します。スイッチとは、回路を開閉するための電子部品です。

以下はボタンの内部構造です。右下の記号は、回路図でボタンを表す際に一般的に使用されます。

../_images/06_button_2.png

ボタンが押されると、1番ピンと2番ピン、3番ピンと4番ピンが接続され、回路が閉じます。

../_images/06_button_3.png

使い方

使用する電子部品

  • Arduino Uno R4またはR3ボード * 1

  • ボタンモジュール * 1

  • ジャンパーワイヤー

回路の組み立て

../_images/06_button_circuit.png

コード



コードの説明

  1. 初期設定: このコードの部分では、まず sensorPin を定数型の整数として宣言し、Arduinoボード上でボタンに接続するピン番号を割り当てます。 setup() 関数は、 sensorPin のモードを INPUT として設定します。これは、このピンを通してボタンからデータを受け取ることを意味します。 Serial.begin() 関数は、ボーレートが9600でシリアル通信を開始します。

    const int sensorPin = 7;
    
    void setup() {
      pinMode(sensorPin, INPUT);
      Serial.begin(9600);
    }
    
  2. メインループ: loop() 関数は、プログラムの主要なロジックを含んでいます。この関数は連続してボタンの状態を読み取り、その値を50ミリ秒ごとにシリアルモニターに出力します。 digitalRead() 関数はボタンの状態を読み取り、 Serial.println() 関数はその値をシリアルモニターに出力します。 delay() 関数は、次の読み取り前に実行を50ミリ秒間一時停止します。ボタンは押されると低レベルを、放されると高レベルを出力します。

    void loop() {
      Serial.println(digitalRead(sensorPin));
      delay(50);
    }
    

追加のアイデア

  • if文を用いてボタンでプログラム内で異なる結果を制御する。

  • ボタンでLEDをオン/オフ切り替えるようにする。

他のプロジェクト

  • fun_doorbell