Arduinoで4x4ソフトキーパッドを使う方法

Arduinoで4x4ソフトキーパッドを使う方法

このチュートリアルでは、Arduinoに4x4のソフトキーパッドを接続して使用する方法を解説します。このキーパッドは16個のキーを備えていますが、接続に必要なのはたった8本のピンだけで、さまざまなプロジェクトに適したコンパクトで効率的な入力デバイスです。このガイドを終える頃には、キーパッドからの入力を読み取り、それに応じて動作を実行できるようになります。

4x4 soft keypdad

私たちはそれを利用する予定ですKeypadキーパッドと連携するためのライブラリで、どのキーが押されたかを簡単に検出できます。これから実装するプログラムは、押されたキーをシリアルモニタに表示し、例えば '4' のような特定のキーが押されたときに処理を実行します。より視覚的な案内が必要な場合は、ビデオ(00:00)を必ず確認してください。

ハードウェアの解説

このプロジェクトの主な構成要素は4x4のソフトキーパッドで、格子状に配置された16個のボタンで構成されています。各ボタンはArduinoの特定のピンに接続されており、ボタンが押されたときにそれを検出できるようになっています。キーパッドはマトリックススキャン方式で動作し、行と列を順に駆動してどのキーが押されたかを判別します。

キーパッドを接続するには、Arduinoのデジタルピンを8本使用する必要があります。行は通常ピン2〜5に、列はピン6〜9に接続します。この配置により、Arduinoは各キーの状態を効果的に読み取ることができます。

データシートの詳細

69ミリメートル
長さ76ミリメートル
ケーブル長84ミリメートル
コネクタ幅20mm
コネクタの穴間隔2.56mm

  • 行および列のピンを正しく配線し、誤検知を防いでください。
  • 入力の読み取りを安定させるために、必要に応じてプルアップ抵抗を使用してください。
  • キーをソフトウェアでデバウンスして、1回の押下で複数回読み取られないようにする。
  • 各キーを個別にテストして、機能を確認してください。
  • 性能を維持するため、キーパッドを乾いた状態で清潔に保ってください。

配線手順

Arduino wiring for 4x4 soft keypad
Arduino wiring for 4x4 soft keypad

4x4キーパッドをArduinoに配線するには、キーパッドの行ピンをArduinoのデジタルピンに次のように接続します:最初の行をピン2、ピン留めする2行目3、ピンで留める3行目4、そして4行目をピンで留める5列のピンについては、最初の列をピンに接続してください6, 2列目を固定する7、固定する3番目の列8そして第4列をピン留めする9.

この設定により、Arduinoは行と列を効率よくスキャンできます。各ピンがそれぞれの指定された行または列に正しく対応しているか、配線を必ず再確認してください。ビデオでは代替の配線構成が簡単に説明されています(ビデオの01:15)。配線を別の方法にする場合は、コード内のピン番号をそれに合わせて更新してください。

コード例とウォークスルー

コードでは、まず...をインクルードすることから始めますKeypadライブラリとキーパッドのレイアウトを定義します。行と列は配列で設定されており、rowPins行に接続されたデジタルピンにマッピングされ、colPins列に対応する。

const byte ROWS = 4; //four rows
const byte COLS = 4; //four columns
char keys[ROWS][COLS] = {
  {'1','2','3','A'},
  {'4','5','6','B'},
  {'7','8','9','C'},
  {'*','0','#','D'}
};

この抜粋では、行数と列数、およびキーの文字配置を定義します。この設定は、どの行と列がアクティブになっているかに基づいて、どのキーが押されたかを識別するために重要です。

void setup(){
  Serial.begin(9600);
}

そのsetupこの関数はシリアル通信を9600ボーレートで初期化します。これは、デバッグおよび検証のためにキー入力データをシリアルモニタに送信する際に重要です。

void loop(){
  char key = keypad.getKey();
  if (key){
    Serial.println(key);
  } 
  if (key =='4'){
    Serial.println("Key 4 is pressed");
  }
}

その中でloop関数内で、押されたキーがあるかどうかを継続的にチェックしますkeypad.getKey()キーが押されると、そのキーの値をシリアルモニタに出力します。さらに、'4'キーが押されると、'4'がアクティブになったことを示す特定のメッセージを出力します。このコードのセクションは、ユーザーの入力に基づくリアルタイムのやり取りを可能にします。

デモ/期待できること

すべてがセットアップされ、コードをArduinoにアップロードすると、押されたキーがSerial Monitorに表示されます。キー'4'を押すと、"Key 4 is pressed"というメッセージが表示され、入力が正常に検出されたことが確認できます。フローティング入力や配線不良など、誤った読み取りを招く一般的な落とし穴に注意してください(ビデオの02:30で)。

動画のタイムスタンプ

  • 00:00- キーパッドの紹介
  • 01:15- 配線手順
  • 午前02:30- コードの説明とデモンストレーション

画像

4x4 soft keypdad back view
4x4 soft keypdad back view
4x4 soft keypdad
4x4 soft keypdad
4x4 soft keypdad connector
4x4 soft keypdad connector
4x4 soft keypdad
4x4 soft keypdad
Arduino wiring for 4x4 soft keypad
Arduino wiring for 4x4 soft keypad
41-Resources for this code
言語: C++
コピーしました!

必要かもしれないもの

リソースと参考文献

まだリソースはありません。

ファイル📁

Arduinoライブラリ(zip)