常に4095が表示される。プログラムでは、A0ではなくA1を使う。R2ではA0だけ使えるという結果になりましたが、これには理由があります。Converter)が行います。BTのCPUであるESP-WROOM-32には2系統のADCがありADC1、ADC2と呼ばれています。ADCが使えるGPIOピンは決まっています。BT無印のGroveソケットでは、A2でADC1が、A0でADC2が使えることになりますが、A2は動作しますが、A0は動作しません。R2のGroveソケットでは、A0でADC1が、D5でADC2が使えることになりますが、A0は動作しますがD5は動作しません。これは、Wifiが動作しているときはADC2は使えないという制限がESP-WROOM-32にあるためです。GuideのADCの項を参照してください。R2のD5も使えると思いますが、まだ実験していません。R2のピンソケットA0、A1、A2、A3にも接続されているので使えると思いますが、こちらもまだ実験していません。V1.1というモジュールです。現在スイッチサイエンスさんで単体で販売されているボタンモジュールとは、使われているボタン部品が違ったり、ネジ止め用の穴に対する端子の位置が90度異なるなど違いがありますが、動作は同じだと考えられます。こちらもスイッチサイエンスさんで販売されているタッチセンサとは、ネジ止め用の穴に対する端子の位置が90度異なります。GroveタッチセンサGroveタッチセンサ(裏)ボタンとタッチセンサの働きボタンとタッチセンサはデジタルモジュールです。ボタンが押されていない(タッチセンサに触れていない)状態では0(LOW)を返し、押されている(触れている)状態では1(HIGH)を返します。プログラムシリアルモニタに、通常は0が表示され、ボタンを押している間(タッチセンサの場合は指で触れている間)だけ1が表示されるプログラムです。モジュールを接続するGroveソケットに合わせて、PINの#define文で指定してください。Button//Groveケーブルを接続するGroveソケットを1つ選んで#define文に記載してください。(注:A0を使うときはA1を記載します。}123456789101112131415//Groveケーブルを接続するGroveソケットを1つ選んで#define文に記載してください。(注:A0を使うときはA1を記載します。無印のGroveソケットの名前は下記のようになっています。R2のGroveソケットの名前は下記のようになっています。R2のGroveソケット名A0ソケットを使う場合は、プログラム上ではA1を指定してください。R2の配線がA0とA1が入れ違っているためです。ボタン(あるいはタッチセンサ)の状態が0あるいは1で返ってきます。プログラムを動作させるとシリアルモニタにこのように表示されます。ボタンを押している間は1が表示されます。シリアルモニタの出力例Groveソケットごとの動作状況4箇所のGroveソケットにボタンを順に接続して、動作をテストしてみました。タッチセンサの場合も同じ結果になります。BT無印でのテスト結果はこうなりました。液晶ディスプレイとピンを共有しているため動作しません。R2でのテスト結果はこうなりました。R2のGroveソケットA0は、実際にはA1が配線されているため、プログラムでピンを指定するときA1を指定します。BTにはGroveソケット以外にピンソケットも用意されています。変換ケーブルを使うとGroveモジュールをピンソケットに接続できます。スイッチサイエンスさんにはこんな変換ケーブルがあります。オスのジャンパーケーブルを接続して使います。ケーブルは4本の線があり、ボタンとタッチセンサでは次のように機能が割り振られています。黄:信号ピンソケットを使う場合は、赤を3.3V、黒をGND、黄色をGPIOソケットに接続します。無印のピンソケットの配置は下図のようになっています。R2のピンソケットの配置は下図のようになっています。R2のピンソケット配置図ピンソケットの動作状況ボタンを順に接続して、動作をテストしてみました。タッチセンサの場合も同じ結果になります。D1以外のピンソケットで動作しました。BT無印でのテスト結果はこうなりました。R2でのテスト結果はこうなりました。全てのピンソケットで動作しました。OK動作テストに使用したプログラムはこちらです。