ESP32やESP8266でI2C接続4×4キーパッドを使うESP32やESP8266でI2C接続4×4キーパッドを使う(3)このページをスマートフォンなどでご覧になる場合は、画面を横長にする方が読みやすくなる事があります。2-3.動作確認の方法ESP-WROOM-02に接続したI2C接続キーパッドが正常に動作するかをテストするには、TwiKeypadライブラリに付属するサンプルスケッチを動かしてみるのが簡単です。IDEを起動し、図2に示す様に、ファイル→スケッチ例→TwiKeypad→GetCharメニューを選択します。図2(再掲)、ファイル→スケッチ例→TwiKeypad→GetCharメニューの選択そうすると、リスト2に示すスケッチが開きます。loopこのスケッチは、GetChar関数によりキーパッドから押されたキーを読み取り、その結果をシリアルに出力するスケッチです。このスケッチを、例えば図6に示すボードの設定でESP-WROOM-02に書き込みます。IDEのボード設定の例なお、図5の回路は、スケッチの書き込み時に、自動的にフラッシュメモリの書き込みモードに移行する機能がありません。書き込みに先立って、モードスイッチ(SW1)を押したままの状態で、リセットスイッチ(SW2)を押して、フラッシュメモリの書き込みモードに手動で移行してください。スケッチが書き込めたら、9600bpsに設定したシリアルモニタで動作を観察してください。図7に示す様に、押したキーがシリアルモニタに表示されます。注:スケッチが書き込めているのに、うまく動作しない時は、一度3.3Vの電源供給を止めて、再び電源を入れてください。この操作により、ESP-WROOM-02とI2C接続キーパッドの両方がリセットされます。図7、シリアルモニタの表示キーを1、2、3、4の順に押した例を示します。keys.のメッセージの前に、文字化けしたメッセージが表示されていますが、これは、ESP-WROOM-02の起動メッセージが74880bpsで送信された事によるものです。2-4.ESP-WROOM-02がI2C接続に使うピンを変更する方法Arduino環境でESP-WROOM-02でI2Cバスを使う場合は、SDA信号をIO4ピン、SCL信号をIO5ピンに接続するのがデフォルトですが、スケッチを修正する事で接続するピンを変更する事ができます。I2Cインターフェースを初期化するWire.begin関数は、次の様な書式になっています。CoreのドキュメントのLibrariesのページをご覧ください。ここで引数sdaは、SDA信号に割り当てるGPIOのピンで、引数sclは、SCL信号に割り当てるGPIOのピンです。(ただし、引数を省略してWire.begin()とすると、Wire.begin(4,5)と解釈されます)例えば、SDA信号をIO13ピンにつなぎ、SDO信号をIO14ピンにつなぐ場合は、リスト2の18行目のWire.begin();をWire.begin(13,14);と書き換えます。電子工作ISBN:978-4-7775-1941-5→工学社の書籍の内容の紹介ページ本のカバーの写真か書名をクリックすると、Amazonの書籍購入ページに移動します。このサイトの中の人が書いた本です。本のカバーの写真か書名をクリックすると、Amazonの書籍購入ページに移動します。