コンテンツにスキップ
ショップ

Wi-Fi タッチセンサ (ESP32)

いつものAIに相談

Gemini・その他のAI

このページの情報を添えて、仕組みや使い方、つくりたいものを相談できます。

Geminiを開く

質問文をコピーして、Geminiの入力欄に貼り付けてください。

質問文を確認

工場出荷時にESP32 MCUリーフへ書き込まれているArduinoスケッチを使うデモです。スマートフォンやパソコンをLeafonyのWi-Fiに接続すると、ESP32から送信されたタッチセンサの値をブラウザに表示できます。

以下のリーフを使用します。

TypeNameQ’ty
AP02ESP32 MCU1
AV042V~4.5V1
AX07Back to back1
AX0829pin header1
AZ62Connector Cover 2
AZ63Nut Plate2
AAA battery holder1
AAA battery3
M2*15mm screw4
φ10x2mm magnet1

下図のようにリーフを組み立てましょう。

assemble1

各リーフのピンアサインは下図を参考

ESP32_AP_Touchフォルダを取得します。ESP32_AP_Touch.ino、esp32_ap_touch.h、web_server.cpp、web_server.hを同じスケッチフォルダに置いてください。.inoだけのコピーでは必要なファイルが揃いません。

  1. AP02のArduino IDE設定を済ませます。
  2. 取得したフォルダのESP32_AP_Touch.inoを開き、他のソースファイルもIDEに表示されることを確認します。
  3. ESP32 Dev Moduleと接続先のポートを選び、コンパイルします。スケッチはESP32のボードパッケージに含まれるWi-Fiライブラリを使用します。
  4. 設定ページの書き込み・Bootスイッチ操作に従い、AP02へ書き込みます。MCUに入っているプログラムが置き換わります。

Wi-Fiへの接続と画面表示はESP32キットのスタートガイドに従ってください。このページではソースの変更を扱い、電池・SSID・ブラウザの操作はスタートガイドにまとめています。

web_server.cppのprintMsgIfTouched関数で、THRESHOLD = 20を定義しています。読み取った値がこの閾値以下になるとTouch detectedと表示します。

  1. 元のスケッチで、26ピンに触れていないときと触れたときの値を控えます。
  2. THRESHOLDを両者の間の値へ変更し、もう一度書き込みます。
  3. 触れていない状態と触れた状態で確認します。触れていないのに検出する場合や、触れても検出しない場合は値を調整します。

画面に出す入力は7・9・22・26・28ピンです。24ピンはRTC & microSDと干渉するため表示しません。入力を追加する場合は先にピン配置を確認してください。

ESP32_AP_Touch.inoはWiFi.softAPでWi-Fiの接続先を作り、WiFiServerでポート80の画面を提供します。SSIDとパスワードはWIFI_SSID・WIFI_PASSWORDです。変更して書き込んだら、端末も変更後の設定で接続し直します。

web_server.cppがタッチ値を読み取り、HTMLを作ります。画面の0 Stopと1 secondで自動更新を停止・再開できます。接続で困ったらESP32のWi-Fi確認手順へ進んでください。元の動作に戻す場合は、変更前のスケッチを書き直します。