クイックアンサー
Arduinoで4x4マトリックスキーパッドを使用するには、I2CインターフェースをSDAピンとSCLピンに接続し、Wireライブラリを使用してASCIIキー値を読み取ります。mLink 4x4マトリックスキーパッドはデバウンスとスキャンを自動的に処理するため、コードが簡素化されます。
生のマトリックスではなくI2Cマトリックスキーパッドを選ぶ理由
生の4x4マトリックスキーパッドには8つのデジタルI/Oピンとコード内での手動デバウンスが必要です。mLink 4x4マトリックスキーパッドは、I2Cで通信する専用スキャンモジュールを内蔵しており、2つのピン(SDAとSCL)のみを使用し、事前デバウンスされたASCII出力を提供します。これにより配線の複雑さが軽減され、他のセンサーやディスプレイ用にI/Oを解放できます。
トレードオフはコストです。mLinkバージョンはベアキーパッドよりも若干高価です。ただし、信頼性とシンプルさが重要なプロジェクトでは、追加コストはデバッグ時間の節約になります。
配線とコードのステップバイステップガイド
- キーパッドをArduinoに配線する: mLinkキーパッドのVCCをArduinoの5Vに、GNDをGNDに、SDAをA4(またはUno R3以降のSDAピン)に、SCLをA5(またはSCLピン)に接続します。他のArduinoボードの場合は、I2Cピン配置を確認してください。 よくある間違い:SDAとSCLを逆にすること。キーパッドが応答しない場合は、2本のデータ線を交換してください。
- 必要なライブラリをインストールする: Arduino IDEを開き、Sketch > Include Library > Manage Librariesに移動し、ボードベンダーによる「mLink」ライブラリをインストールします。このライブラリは、I2Cを介してキーパッドを読み取る機能を提供します。 ライブラリが見つからない場合は、製品ページからダウンロードし、Sketch > Include Library > Add .ZIP Libraryから手動でインストールしてください。
- スキャンコードを書く: スケッチにmLinkライブラリを含めます。setup()でmLink.begin()を呼び出します。loop()でmLink.getKey()を使用して、最後に押されたキーのASCII値を読み取ります。値が0でない場合は、シリアルモニタに出力するか、プロジェクトのロジックで使用します。 チェックポイント:キーパッドはキーが押されていないときに0を返します。誤ったトリガーを避けるため、キー押下に反応する前に必ずゼロ以外の値をテストしてください。
- キーマッピングをテストして確認する: スケッチをアップロードし、シリアルモニタを9600ボーで開きます。各キーを押して、正しいASCII文字が表示されることを確認します。mLinkキーパッドは、印刷されたキーキャップに対応する大文字と数字を出力します。 キーが異なる文字を返す場合は、配線の緩みやキーパッドの不良を確認してください。モジュールが処理するため、マッピングテーブルは必要ありません。
- プロジェクトに統合する: Serial.print()行を独自のロジックに置き換えます。たとえば、キーを文字列に保存したり、パスワードと比較したり、LCDディスプレイのメニュー操作に使用したりします。 キーパッドはポーリング方式であり、割り込み駆動ではないことに注意してください。ループは高速な押下をキャッチするために、getKey()を十分な頻度で呼び出す必要があります。
製品リファレンス
-
mLink 4x4マトリックスキーパッド: mLink 4x4マトリックスキーパッドは、パネルマウント可能なシリアル(I2C)16キータクタイルキーパッドで、キー押下を継続的にスキャンおよびデバウンスし、各キーを8ビットASCII値として保存するモジュールを内蔵しています。Arduinoスケッチにデバウンスやスキャンルーチンを記述する必要がなく、コードが簡素化され、誤ったトリガーが減少します。
mLink 4x4マトリックスキーパッド



