ジャンプする:
ESP32 チュートリアル 1/55 - SunFounder の ESP32 IoT 学習キットソフトウェアと Arduino IDE の紹介 ESP32 チュートリアル 2/55 - ESP32 とは、カメラ拡張ボード、SunFounder の ESP32 IoT キットの開封作業 ESP32 チュートリアル 3/55 - 抵抗、LED、ブレッドボードプロジェクト: こんにちは LED - ESP32 IoT 学習キット ESP32 チュートリアル 4/55 - データ型 変数の定義 Int, bool, char, シリアルモニター - ESP32 IoT キット ESP32 チュートリアル 5/55 - LED フェード、LED の明るさを制御 - ESP32 IoT 学習キット ESP32 チュートリアル 6/55 - RGB LED の使用 プロジェクト 2.3 - SunFounder の ESP32 IoT 学習キット ESP32 チュートリアル 7/55 - ESP32 Arduino プログラミングでの配列の使用 - SunFounder の ESP32 IoT 学習キット ESP32 チュートリアル 8/55 - ウォーキングライト 74HC595 シフトレジスタ - SunFounder の ESP32 IoT 学習キット ESP32チュートリアル 9/55 - プッシュボタンを使用してLEDをトグル、オンに押す、オフに押す - SunFounder ESP32 IoTキット ESP32 チュートリアル 10/55 - セブンセグメントディスプレイ 74HC595 を使用したデジタルカウンター - ESP32 IoT ラーニングキット ESP32 チュートリアル 11/55 - ESP32 と LCD1602 LCD2004 の使用 - SunFounder の ESP32 IoT 学習キット ESP32 チュートリアル 12/55 - SunFounder の ESP32 IoT 学習キットを使用した WS2812 RGB ストリップ 4 プロジェクト ESP32 チュートリアル 13/55 - アクティブブザーによる Arduino ビープ | SunFounder の ESP32 IoT 学習キット ESP32 チュートリアル 14/55 - SunFounder ESP32 IoT 学習キットを使用したカスタム音楽ノートの再生 ESP32 チュートリアル 15/55 - ESP32 L293D を用いた DC モーター速度制御 | SunFounder の ESP32 IoT 学習キット ESP32チュートリアル 16/55 - ESP32とL293Dを使用したミニ水ポンプ | SunFounderのESP32 IoT学習キット ESP32 チュートリアル 17/55 - ESP32 とポテンショメーターを使用したサーボモーターの制御 - ESP32 IoT 学習キット ESP32チュートリアル 18/55 - ESP32を使った傾き検出 | SunFounderのESP32 IoT学習キット ESP32 チュートリアル 19/55 - 赤外線センサーを使った障害物の検出 | SunFounder の ESP32 IoT 学習キット ESP32 チュートリアル 20/55 - ライントラッキングモジュール | SunFounder の ESP32 IoT 学習キット ESP32 チュートリアル 21/55 - PIR モーションセンサーを使用した人間の検出 | SunFounder の ESP32 IoT 学習キット ESP32 チュートリアル 22/55 - LED Arduino を使用して光を感じる | SunFounder の ESP32 IoT 学習キット ESP32 チュートリアル 23/55 - ESP32 を使用したポテンショメーターの電圧測定 | SunFounder の ESP32 IoT キット ESP32 チュートリアル 24/55 - 灌漑のための土壌湿度の測定 | SunFounder の ESP32 IoT 学習キット ESP32 チュートリアル 25/55 - NTC と LCD を使用した温度測定 | SunFounder の ESP32 IoT 学習キット ESP32 チュートリアル 26/55 - Arduino でのジョイスティックの使用 アクションを起こす | SunFounder の ESP32 IoT キット ESP32 チュートリアル 27/55 - 超音波センサーを使用した距離の測定 | SunFounderのESP32 IoT学習キット ESP32 チュートリアル 28/55 - DHT11 温度センサーと LCD | SunFounder の ESP32 IoT 学習キット ESP32のチュートリアル 29/55 - ESP32でIRリモコンのキー入力を読み取る | SunFounderのESP32 IoT学習キット ESP32 チュートリアル 30/55 - Adafruit IO サービスを使用した MQTT を通じてウェブ上でサーボを制御する | SunFounder の ESP32 IoT 学習キット ESP32 チュートリアル 31/55 - 障害物回避機能付き LED ストリッププロジェクト | SunFounderのESP32 IoT 学習キット ESP32チュートリアル 32/55 - LCDとブザーを使った車のバックレンジ警告 | SunFounderのIoT学習キット ESP32チュートリアル 33/55 - SunFounderのESP32 IoT学習キットを使用したデジタルサイコロ ESP32チュートリアル 34/55 - RGB LEDとノブを使ったカラ―グラデーション | SunFounderのESP32 IoT学習キット ESP32チュートリアル 35/55 - 植物モニター、土壌、温度と光 | SunFounderのESP32 IoT学習キット ESP32チュートリアル 36/55 - 数当てゲーム | SunFounderのESP32 IoT学習キット ESP32 チュートリアル 37/55 - ESP32 BLE を使用した Bluetooth アプリ | SunFounder の ESP32 IoT 学習キット ESP32チュートリアル 38/55 - モバイルフォンからRGB LEDを制御する | SunFounderのESP32 IoT学習キット ESP32 チュートリアル 39/55 - ESP32 を Bluetooth 音楽プレーヤーとして使用する | SunFounder の ESP32 IoT 学習キット ESP32 チュートリアル 40/55 - Micro SDカードへの読み書き | SunFounderのESP32 IoT学習キット ESP32 チュートリアル 41/55 - Micro SD カードを使用した MP3 プレーヤー | SunFounder の ESP32 IoT 学習キット ESP32 チュートリアル 42/55 - カメラで写真を撮影し、マイクロSDに保存 CAM-1 | SunFounder の ESP32 キット ESP32 チュートリアル 43/55 - IoT インターネット気象観測所 | SunFounder の ESP32 IoT 学習キット ESP32 チュートリアル 44/55 - ESP32 カメラウェブサーバービデオストリーム オーバー WiFi CAM-2 | SunFounder の ESP32 キット ESP32 チュートリアル 45/55 - LED コントロール付きカスタムストリーミングサーバー CAM-3 | SunFounder の ESP32 学習キット ESP32 チュートリアル 46/55 - HiveMQ MQTT を使用したリモート温度監視 | SunFounder の ESP32 キット ESP32 チュートリアル 47/55 - インターネット経由の MQTT を使用した WS2812 CheerLights | SunFounder の ESP32 IoT キット ESP32チュートリアル 48/55 - リモート温度監視とLED制御 MQTT | SunFounderのESP32 IoTキット ESP32チュートリアル 49/55 - Adafruit IoTを使用してインターネット経由でDCモーターを制御する | SunFounderのESP32キット ESP32 チュートリアル 50/55 - 世界中のどこからでも RGB LED を制御する | SunFounder の ESP32 キット ESP32 チュートリアル 51/55 - DHT を使用した WiFi 経由の温度と湿度 | SunFounder の ESP32 IoT 学習キット ESP32 チュートリアル 52/55 - WS2812 CheerLights MQTT グローバル同期 LCD 付き | SunFounder ESP32 IoT キット ESP32 チュートリアル 53/55 - LCD インターネットクロックの作成 | SunFounder の ESP32 IoT 学習キット ESP32チュートリアル 54/55 - Wifi経由でWS2812 LEDストリップの色を設定 | SunFounderのESP32 IoT学習キット ESP32 チュートリアル 55/55 - 12V、24V、または 100V の DC 電圧を測定する方法 | SunFounder の ESP32 IoT 学習キット
ESP32 チュートリアル 26/55 - Arduino でのジョイスティックの使用 アクションを起こす | SunFounder の ESP32 IoT キット
このチュートリアルでは、SunFounderのESP32マイクロコントローラでXYジョイスティックをインターフェースする方法を学び、その位置を検出し、入力に基づいてアクションを取ることができるようになります。また、ジョイスティックが特定の位置に移動したときにアクティブになるブザーも統合します。この組み合わせにより、ユーザーの入力にリアルタイムで応答するインタラクティブなプロジェクトを作成できるようになります。
ESP32-26-xy-ジョイスティック-メイン
XY ジョイスティックは、X および Y 位置に対応する 2 つのアナログ出力と、アクションをトリガーするために押すことができるスイッチを提供します。ジョイスティックからの値を読み取ることで、ブザーを作動させたり、画面に値を表示したりするなど、プロジェクト内のさまざまな要素を制御できます。このプロセスを完全に理解するために、追加の洞察のために動画をチェックしてください(動画の 00:00 にて)。
ハードウェアの解説 このプロジェクトの主なコンポーネントには、ESP32マイクロコントローラー、XYジョイスティック、およびブザーが含まれています。ESP32はWi-FiとBluetoothをサポートする汎用ボードであり、IoTプロジェクトに最適です。XYジョイスティックはX軸とY軸用の2つの可変抵抗器と追加入力用のプッシュボタンスイッチで構成されています。
空文字列
ESP32-26-xy-ジョイスティック回路図
ジョイスティックはその位置に対応するアナログ信号を出力し、ESP32のアナログピンによって読み取られます。プッシュボタンは押されたときにデジタル信号を提供します。ブザーはESP32のデジタル出力ピンに接続されており、ジョイスティックの位置に基づいてオンまたはオフにすることができます。
データシートの詳細
メーカー
サンファウンダー
部品番号
XYジョイスティックモジュール
動作電圧
3.3 V - 5 V
抵抗値
10 kΩ(各軸)
最大電流
20 mA
スイッチタイプ
瞬時押しボタン
寸法
約50 mm x 50 mm
ジョイスティックがESP32と互換性があるように、3.3 Vで電源が供給されていることを確認してください。
スイッチにはプルアップ抵抗を使用して、フローティング入力を避けてください。
アナログ出力をESP32のADCピンに接続します(Xには34、Yには35)。
スイッチのためにデバウンス機構を使用して、誤発動を防ぎます。
電圧レベルを監視し、安全な運転範囲内に保たれていることを確認してください。
配線指示 ESP32-26-xy-joystick-wiring ジョイスティックをESP32に配線するには、最初にジョイスティックのグラウンドピンをESP32のグラウンドピンに接続します。次に、ジョイスティックのVCCピンをESP32の3.3 Vピンに接続します。ジョイスティックには2つのアナログ出力ピンがあります:X軸出力を接続します(ラベル付きでVRX) ピンで留める34ESP32とY軸出力(ラベル付けされている)VRY) ピンにする35.
スイッチ出力の場合、スイッチピンをピンに接続します。33ESP32上。このピンはボタンの押下をデジタル入力として読み取ります。接続が確実であることを確認し、断続的な問題を避けてください。配線がビデオ(ビデオの02:30)と異なる場合は、アナログとデジタル接続の同じ原則に従いながら適宜調整してください。
コード例とウォークスルー コードでは、まずジョイスティックのピンの定数を定義します。識別子xAxis,yAxis, とbtn設定されています34,35, と33それぞれ。このため、プログラム全体でこれらのピンを参照しやすくなっています。
#define xAxis 34
#define yAxis 35
#define btn 33
デンsetup()関数では、シリアル通信を初期化し、ボタンのピンモードを入力に設定します。これにより、ESP32はジョイスティックからデータを読み取り、それをシリアルモニターに送信する準備が整います。
void setup() {
Serial.begin(115200);
pinMode(btn, INPUT);
}
内部のloop()、ジョイスティックのX軸とY軸のアナログ値を読み取ります。analogRead()そしてそれらを保存しますxValueとyValueボタンの状態は次を使って読み取られます。digitalRead()と保存されているbtnValue最後に、これらの値をシリアルモニターに出力します。
void loop() {
int xValue = analogRead(xAxis);
int yValue = analogRead(yAxis);
int btnValue = digitalRead(btn);
Serial.printf("Joystick value is %d , %d , %d \n",xValue,yValue,btnValue);
delay(300); // Delay between reads
}
このループは、値を連続的に更新し、ジョイスティックの動きやボタン入力に関するリアルタイムのフィードバックを提供します。完全なコードについては、記事の下に読み込まれた完全なコードを参照してください。
デモンストレーション / 期待すること セットアップが完了し、コードがアップロードされると、シリアルモニターにはXおよびYの値とボタンの状態が表示されるはずです。ジョイスティックを動かすと、その位置に応じて値が変化します。ボタンを押すと、その状態が高と低の間で切り替わります。
一般的な落とし穴には、誤った配線が含まれ、これによりフローティング入力やジョイスティックからの応答がないことがあります。正しいピンが使用されていること、スイッチのプルアップ抵抗が実装されていることを確認してください。これらの動作の実践的なデモンストレーションについては、ビデオを参照してください(ビデオ内の13:00)。
ビデオタイムスタンプ
00:00 スタート
1:47 XYジョイスティックの紹介
7:32 ジョイスティックの値を測定しています
8:40 配線の説明
11:06 ESP32を使ったジョイスティックのArduinoコードの解説
14:43 Arduino IDEでESP32ボードとCOMポートを選択しています
16:24 ジョイスティックの簡単な使い方のデモンストレーション
19:20 ブザーでジョイスティックコードの位置を検出しています
21:16 位置検出のデモンストレーション
画像
joystick_schematic
ESP32-26-xy-joystick-schematic
ESP32-26-xy-joystick-wiring
ESP32-26-xy-joystick-main
ESP32-26-xy-joystick-schematic
ESP32-26-xy-joystick-wiring
ESP32-26-xy-joystick-main
コード
826-ESP32 Tutorial 26/55- Arduino code for XY Joystick
言語: C++
コードを読み込む