キーパッド

概要

このレッスンでは、キーパッドの使用方法を学びます。キーパッドは、携帯電話、ファックス機、電子レンジなど、さまざまな種類のデバイスに適用できます。一般的にユーザー入力に使用されます。

必要なコンポーネント

このプロジェクトには、以下のコンポーネントが必要です。

全セットを購入するのが便利です。こちらがリンクです:

名称

このキットのアイテム数

リンク

Elite Explorer Kit

300+

Elite Explorer Kit

以下のリンクから個別に購入することもできます。

コンポーネント紹介

購入リンク

Arduino Uno R4 WiFi

-

ジャンパーワイヤー

BUY

キーパッド

BUY

配線図

../_images/21-keypad_bb.png

回路図

../_images/21_keypad_schematic.png

コード

注釈

  • ファイル 21-keypad.inoelite-explorer-kit-main\basic_project\21-keypad のパスで直接開くことができます。

  • ライブラリをインストールするには、Arduinoライブラリマネージャーを使用し、 「Adafruit Keypad」 を検索してインストールしてください。

UNOボードにコードをアップロードした後、シリアルモニターで、キーパッドで現在押されているキーの値を確認することができます。

コード解析

  1. ライブラリのインクルード

    まず、キーパッドと簡単にインターフェースするための Adafruit_Keypad ライブラリをインクルードします。

    #include "Adafruit_Keypad.h"
    

    注釈

    • ライブラリをインストールするには、Arduinoライブラリマネージャーを使用し、 「Adafruit Keypad」 を検索してインストールしてください。

  2. キーパッドの設定

    const byte ROWS = 4;
    const byte COLS = 4;
    char keys[ROWS][COLS] = {
      { '1', '2', '3', 'A' },
      { '4', '5', '6', 'B' },
      { '7', '8', '9', 'C' },
      { '*', '0', '#', 'D' }
    };
    byte rowPins[ROWS] = { 2, 3, 4, 5 };
    byte colPins[COLS] = { 8, 9, 10, 11 };
    
    • ROWS および COLS の定数はキーパッドの寸法を定義します。

    • keys は2次元配列で、キーパッドの各ボタンのラベルを格納しています。

    • rowPinscolPins は、キーパッドの行と列に接続されているArduinoピンを格納する配列です。


  3. キーパッドの初期化

    Adafruit_Keypad のインスタンスを myKeypad として作成し、初期化します。

    Adafruit_Keypad myKeypad = Adafruit_Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);
    
  4. setup()関数

    シリアル通信とカスタムキーパッドを初期化します。

    void setup() {
      Serial.begin(9600);
      myKeypad.begin();
    }
    
  5. メインループ

    キーイベントをチェックし、シリアルモニターに表示します。

    void loop() {
      myKeypad.tick();
      while (myKeypad.available()) {
        keypadEvent e = myKeypad.read();
        Serial.print((char)e.bit.KEY);
        if (e.bit.EVENT == KEY_JUST_PRESSED) Serial.println(" pressed");
        else if (e.bit.EVENT == KEY_JUST_RELEASED) Serial.println(" released");
      }
      delay(10);
    }