4キーキーパッド用のArduinoコードと動画

4キーキーパッド用のArduinoコードと動画

このチュートリアルでは、Arduinoで4キーのキーパッドを利用する方法を学びます。複数のボタンが必要だが配線を最小限にしたいアプリケーションに特に役立つプロジェクトです。キーパッドを特定の方法で接続することで、8本ではなくわずか5本の配線で動作する構成を実現できます。

4 key flixable keypad

4キーのキーパッドは共通接続を備えており、必要な配線の総数を減らすことで配線作業を簡素化します。各キーは指定されたピンを介してArduinoに接続されており、簡単に操作および制御できます。このガイドではキーパッドの配線、コード、期待される動作を説明するので、プロジェクトを正しく再現できるようになります(ビデオの02:30で)。

ハードウェア解説

このプロジェクトの主な構成要素は、4キーのキーパッドとArduinoボードです。キーパッドには4つのボタンがあり、各ボタンは2本の配線でArduinoに接続されます。1本は共通線、もう1本は各ボタン専用の線です。この構成により、配線の煩雑さを最小限に抑えつつ接続を簡素化できます。

Arduinoはデジタル入力でボタンの押下を認識し、内部プルアップ抵抗を利用して安定した読み取りを確保します。ボタンが押されると対応するピンがグラウンドに接続され、Arduinoは状態の変化を検出できます。

データシートの詳細

製造業者一般的
部品番号4キーキーパッド
ロジック/入出力電圧5 V
電源電圧5 V
キーの数4
一般的なピンの種類アクティブロー
ボタンの抵抗1 kΩ(典型値)
パッケージフレキシブルプリント配線板
注記 / バリエーション複数のレイアウトで利用可能です

  • 各ボタンには2つの接続が必要です。1つはボタン用、もう1つは共通グラウンド用です。
  • 内蔵プルアップ抵抗を使用すると、配線が簡素化され、部品点数が減ります。
  • 正しく動作させるために、共通ピンが接地されていることを確認してください。
  • 誤検出を避けるために、ボタンの押下をソフトウェアでデバウンスしてください。
  • フィードバック用に簡単なシリアル出力でボタンの機能をテストする。

配線手順

Arduino wiring for 4 key keypad
Arduino wiring for 4 key keypad

4キーのキーパッドをArduinoに配線するには、次の手順に従ってください:

  • 最初のキー配線をピンに接続してください2Arduino上で。
  • 2番目のキー線をピンに接続してください3.
  • 3番目のキー配線をピンに接続してください4.
  • 4番目のキー配線をピンに接続する5.
  • キーパッドの共通線をArduinoのGNDピンに接続してください。

各配線が緩まないようにしっかりと接続してください。問題が発生した場合は、ビデオ(04:15)に示されているピン割り当てと各接続を照合して再確認してください。

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

次のコードスニペットは、キーパッドのピンを初期化し、それらを入力として設定します:

#define key1 2 //connect wire 1 to pin 2
#define key2 3 //connect wire 2 to pin 3
#define key3 4 //connect wire 3 to pin 4
#define key4 5 //connect wire 4 to pin 5

void setup() {
 Serial.begin(9600);
 pinMode(key1, INPUT_PULLUP); // set pin as input
 pinMode(key2, INPUT_PULLUP); // set pin as input
 pinMode(key3, INPUT_PULLUP); // set pin as input
 pinMode(key4, INPUT_PULLUP); // set pin as input   
}

上記のコードでは、各キーは対応するピン番号で定義されています。そのINPUT_PULLUPこのモードにより、押されていないときピンがハイとして読み取られ、ボタンの押下検出が簡素化されます。

loop関数は各キーの状態を読み取り、押されたときに対応するメッセージを表示します:

void loop() {
  int key1S = digitalRead(key1); // read if key1 is pressed
  int key2S = digitalRead(key2); // read if key2 is pressed
  int key3S = digitalRead(key3); // read if key3 is pressed
  int key4S = digitalRead(key4); // read if key4 is pressed 

  if(!key1S) {
    Serial.println("key 1 is pressed");
  }
  if(!key2S) {
    Serial.println("key 2 is pressed");
  }
  // Additional code for key3 and key4...
  delay(100);
}

このコードのセグメントは各キーの状態をチェックし、キーが押されたときにシリアルモニタにメッセージを表示します。続きdelay(100)デバウンス効果を可能にし、短時間に複数回の押下が登録されないようにします。

デモンストレーション/期待される内容

Arduinoに配線してコードを正常にアップロードすると、シリアルモニタにはどのキーが押されているかを示すメッセージが表示されるはずです。キー1を押すと "key 1 is pressed" と出力され、他のキーも同様です。メッセージが表示されない場合は配線を確認し、共通線がグランドに接続されていることを確認してください。

配線を逆に接続してしまうと予期しない動作を引き起こす可能性があるため、注意してください。使用しているピンがコードで定義したものと一致していることを確認してください(動画の06:45で)。

動画のタイムスタンプ

  • 00:00- はじめに
  • 02:30- 配線の説明
  • 04:15- ピン割り当て
  • 06:45- キーパッドのテスト

画像

4 key flixable keypad
4 key flixable keypad
Arduino wiring for 4 key keypad
Arduino wiring for 4 key keypad
50-Arduino Code for 4 key keypad
言語: C++
コピーしました!

必要かもしれないもの

リソースと参考文献

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

ファイル📁

Arduinoライブラリ(zip)