膜スイッチ(メンブレンスイッチ)モジュールをArduinoで動かす①チュートリアル通りに動かす

2022/04/16

Arduino Membrane switchmodule 膜スイッチモジュール

t f B! P L

膜スイッチモジュールをArduinoで動かします。

 目次:

今回の目的

ELEGOOのチュートリアル「膜スイッチモジュール」(英語版の「Membrane switch module」)をチュートリアル通りに動かします。

※チュートリアルの文章(PDF日本語版含む)もスケッチもELEGOOのサイトから無料でダウンロードできました。

Download ⇒「Arduino Kits & ~」⇒「UNO R3 Starter Kits」⇒ 「ELEGOO UNO R3 The Most Complete Starter Kit」 からダウンロードリンクに辿り着けます。


膜(メンブレン)スイッチモジュール

「膜スイッチ」と和訳されておりますが、日本語でも「メンブレンスイッチ」で検索した方が情報が見つかりやすいようです(膜:membrane(英語))。

このスイッチは樹脂フィルムに接点や導体パターンをスクリーン印刷して、絶縁フィルムのスペーサと重ねて作ったシート状のスイッチ(シートスイッチ)です。

上部の接点を押し下げることで、下部の接点と接触し、スイッチとして導通します。

安価に大量生産でき、構造的に密閉性が高めやすいので防水・防塵性などの長所があり、電子レンジ、電子ジャーポット、ゲーム機のコントローラー、PC用キーボード等、さまざまな製品の操作スイッチとして利用されております。


今回動かすELEGOOのキット付属品は4×4のキーパッドです。

ケーブルで延びる配線は8本あります。

(1)表

(2)裏
図1.膜スイッチモジュール



器材接続

モジュールはArduino直結です。

今回はシリアルモニタをパソコン画面で表示するため、USBをバッテリーではなくパソコンにつなぎます。


図2.機材接続


スケッチ

スケッチ本文は短いものです(オリジナルのものを少し変えました)。

問題のライブラリ「Keypad.h」の読解は置いて起きます。


#include <Keypad.h>

const byte ROW = 4; //"4行"である("const"により"ROW"上書き不可)

const byte COL = 4; //"4列"である("const"により"COL"上書き不可)

char Keys[ROW][COL] = {

  {'1','2','3','A'},

  {'4','5','6','B'},

  {'7','8','9','C'},

  {'*','0','#','D'}

}; //キーパッドの文字配列を行列に代入

byte rowPins[ROW] = {9, 8, 7, 6}; //キーパッドの行出力ピンを行列に代入

byte colPins[COL] = {5, 4, 3, 2}; //キーパッドの列出力ピンを行列に代入

Keypad customKeypad = Keypad( makeKeymap(Keys), rowPins, colPins, ROW, COL); //上で代入した各行列をキーパッドの情報として関数に与える

void setup(){

  Serial.begin(9600); //9,600bpsでシリアルポートを開く

}

void loop(){

  char pushKey = customKeypad.getKey(); //キーパッドで押された文字を取得

  if (pushKey){

    Serial.print(pushKey); //キーが押された場合、押されたキーをシリアル通信で出力・表示する

  }

}


動作

パソコンのArduino IDEの「ツール」→「シリアルモニタ」でウインドウを立ち上げます。

キーパッドの並び通り、左から右に上の行から下の行へと押しました。


図3.シリアルモニタ

入力が正しく表示されているようです。


所感

ライブラリ「Keypad.h」の中味が不明です。

任意のスイッチを押すことで、その行・列間が短絡。

短絡した行・列の組み合わせから、どのキーが押されたのかを検出して出力しているはずなのですが、ライブラリを読解するには至りませんでしたし、チュートリアルの文書にも記載はありません。


気にならないでもありませんが、これも「チュートリアル」。立ち止まらずにLessonを先に進めることにします。


前回の記事:超音波センサモジュールをArduinoで動かす①チュートリアル通りに動かす-sozoro-Lab.

このブログを検索

ブログ アーカイブ

自己紹介

にほんブログ村

QooQ