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

4キーのキーパッドは共通接続を備えており、必要な配線の総数を減らすことで配線作業を簡素化します。各キーは指定されたピンを介してArduinoに接続されており、簡単に操作および制御できます。このガイドではキーパッドの配線、コード、期待される動作を説明するので、プロジェクトを正しく再現できるようになります(ビデオの02:30で)。
ハードウェア解説
このプロジェクトの主な構成要素は、4キーのキーパッドとArduinoボードです。キーパッドには4つのボタンがあり、各ボタンは2本の配線でArduinoに接続されます。1本は共通線、もう1本は各ボタン専用の線です。この構成により、配線の煩雑さを最小限に抑えつつ接続を簡素化できます。
Arduinoはデジタル入力でボタンの押下を認識し、内部プルアップ抵抗を利用して安定した読み取りを確保します。ボタンが押されると対応するピンがグラウンドに接続され、Arduinoは状態の変化を検出できます。
データシートの詳細
| 製造業者 | 一般的 |
|---|---|
| 部品番号 | 4キーキーパッド |
| ロジック/入出力電圧 | 5 V |
| 電源電圧 | 5 V |
| キーの数 | 4 |
| 一般的なピンの種類 | アクティブロー |
| ボタンの抵抗 | 1 kΩ(典型値) |
| パッケージ | フレキシブルプリント配線板 |
| 注記 / バリエーション | 複数のレイアウトで利用可能です |
- 各ボタンには2つの接続が必要です。1つはボタン用、もう1つは共通グラウンド用です。
- 内蔵プルアップ抵抗を使用すると、配線が簡素化され、部品点数が減ります。
- 正しく動作させるために、共通ピンが接地されていることを確認してください。
- 誤検出を避けるために、ボタンの押下をソフトウェアでデバウンスしてください。
- フィードバック用に簡単なシリアル出力でボタンの機能をテストする。
配線手順

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- キーパッドのテスト
このチュートリアルはの一部です: キーパッド
- Arduinoで4x3キーパッドを使う
- Arduinoコードと動画:4x4マトリックスの黒いキーパッド
- Build a Simple Electronic Lock with Keypad and LCD Using Arduino
- Controlling an 8-channel relay with a 4x3 keypad
- Arduinoで4x4ソフトキーパッドを使う方法
- How to Use a 5x4 20-Key Keypad with Arduino to Detect Strings
- Lesson 67: Controlling an 8-Channel Relay with a Keypad Using Arduino
- 1602 LCDキーパッドシールド:基本コード
必要かもしれないもの
-
アマゾンアマゾンで4つのキーフリックスブルキーパッドを購入するamzn.to
-
アリエクスプレスアリエクスプレスからソフトキーパッドを購入するs.click.aliexpress.com
リソースと参考文献
まだリソースはありません。