●ESP32 オムニ4輪・2系統(スマホ・パッド)併用操作の試行
2系統(スマホ・パッド)入力の併用操作から、オムニ(4輪)駆動で試行してみます。 ESP02類似仕様の各プログラム機能を流用して、ESP32仕様に移植します。
・ ・ ・ ・ ・
●GPIOピン用途を想定する基本形です。… クリックすれば、拡大します。![]()
●基本形の配線図です。……… クリックすれば、拡大します。![]()
・ ・ ■2系統(スマホ・パッド)の併用操作化 ・ ・ 仕様 【 @ 】…… 試行プログラム ・
(ESP02→ESP32)移植済のプログラム機能をベースにしてプログラミングします。 ■ベースプログラム ・スマホ操作 オムニ(4輪独立駆動)試行版@ プログラム TES-ESP32-OMNI4-SUMA-01.ino ・2系統・併用操作 DMD駆動 試行版 プログラム TES-ESP32-DMD-HEIYOU-01.ino
///******************************************************** //●2系統・併用操作 オムニ4輪 試行版@ プログラム // ESPマイコン(ESP32):TES-ESP32-OMNI4-HEIYOU-01.ino //-------------------------------------------------------- //■2系統(スマホ・パッド)の併用操作化 //--------------------------------------------------------
●2系統・併用操作イメージです。……… クリックすれば、拡大します。![]()
・ ・ ■(オムニ走行機能)ゲームパッド操作性の改良 ・ ・ 仕様 【 A 】…… 試行プログラム ・
●2系統・併用操作イメージです。……… クリックすれば、拡大します。![]()
///******************************************************** //●2系統・併用操作 オムニ4輪 試行版A プログラム // ESPマイコン(ESP32):TES-ESP32-OMNI4-HEIYOU-02.ino //-------------------------------------------------------- //■(オムニ走行機能)ゲームパッド操作性の改良 //--------------------------------------------------------
・ ・ ■ゲームパッドへ(砲塔)操作機能の組み込み ・ ・ 仕様 【 B 】…… 試行プログラム ・
●2系統・併用操作イメージです。……… クリックすれば、拡大します。![]()
///******************************************************** //●2系統・併用操作 オムニ4輪 試行版B プログラム // ESPマイコン(ESP32):TES-ESP32-OMNI4-HEIYOU-03.ino //-------------------------------------------------------- //■ゲームパッドへ(砲塔)操作機能の組み込み //--------------------------------------------------------
・ ・ ・ ・ ・
●動かしてみました。
→ 信号レベルの簡単な出力確認ですが … OKです。
・ ・ ■スマホへ(砲塔)操作機能の組み込み ・ ・ 仕様 【 C 】…… 試行プログラム ・
●2系統・併用操作イメージです。……… クリックすれば、拡大します。![]()
///******************************************************** //●2系統・併用操作 オムニ4輪 試行版C プログラム // ESPマイコン(ESP32):TES-ESP32-OMNI4-HEIYOU-04.ino //-------------------------------------------------------- //■スマホへ(砲塔)操作機能の組み込み //--------------------------------------------------------
・ ・ ■砲塔ボタンの操作性を自分好みに見直しです。 ・ ・ 仕様 【 D 】…… 試行プログラム ・
●2系統・併用操作イメージです。……… クリックすれば、拡大します。![]()
///******************************************************** //●2系統・併用操作 オムニ4輪 試行版D プログラム // ESPマイコン(ESP32):TES-ESP32-OMNI4-HEIYOU-05.ino //-------------------------------------------------------- //■砲塔ボタンの操作性を自分好みに見直しです。 //--------------------------------------------------------
・ ・ ・ ●砲塔動作(上下・停止・左右)制御の確認です。 ・ ・
●制御の出力信号 … OKです。
→ ボタンが小さくなりましたが … まだ、大丈夫です。
・ ・ ■電源(ON)時に、最初に起動する … ・ ・ コントローラを、指定できるようにする。 ・ ・ 仕様 【 E 】…… 試行プログラム ・
●アナログ入力 … ジャンパースイッチで、指定します。
//******************************************************** //●2系統・併用操作 オムニ4輪 試行版E プログラム // ESPマイコン(ESP32):TES-ESP32-OMNI4-HEIYOU-06.ino //-------------------------------------------------------- //■電源(ON)時に、最初に起動する … // コントローラを、指定できるようにする。 //--------------------------------------------------------
//******************************************************** // ●コントローラ(初期)起動指定 処理 //******************************************************** //・コントローラ【切替】の選択(初期値)を… // 入力ピン(ANA_IN・GPIO34<A6>)情報より設定する // 0 … ON (0.0V)… コントローラ切替SW ← 0(スマホ) // 以外 … OFF(3.3V)… コントローラ切替SW ← 1(PS2) //------------------------------------------------------- void CONTROL_INIT() { ANA_IN = analogRead(A6); //アナログ(ANALOG)入力 //**入力ピン(ANA_IN)情報より、コントローラ切替SWを設定する if(ANA_IN == 0) { // 【0V】 入力の時(スマホ)設定 //**コントローラ切替SW …… 0(スマホ) CON_CHANGE_SUMA(); // ◎コントローラ【スマホ】へ切替 } else { //【OV・以外】入力の時(PS2)設定 //**コントローラ切替SW …… 1(PS2) CON_CHANGE_PS2(); // ◎コントローラ【PS2】へ切替 } }
・ ・ ・ ●タッチセンサーの入力もできそうなので … 試します。 ・ ・
//******************************************************** //●ESP32 タッチセンサー テスト@ プログラム // ESPマイコン(ESP32):TES-ESP32-TOUCH-01 //-------------------------------------------------------- //■タッチセンサー(ON)時に、LEDを点灯させる。 // ・タッチピン@(GPIO2 ・T2)→ LED@(GPIO21) // ・タッチピンA(GPIO15・T3)→ LEDA(GPIO17) //******************************************************** //■タッチピン測定【touchRead】の結果 // ・起動直後:43-56 // ・接続なし状態:63 // ・接続した状態:51-52 // ・リード線に触った状態:46-49 // ・先端の裸線に触った状態:0-13 //-------------------------------------------------------- //■測定値の連続性(【ON】範囲・5回以上)重視した値を適用する // 【ON 】 … 0-47 // 【OFF】 … 上記以外(48以上) //********************************************************
●該当ピンに接続して、単独でのタッチ入力確認です。
→ タッチ入力できましたので … 試行プログラムに組み込みます。
・ ・ ●タッチセンサーからの入力操作でも … ・ ・ MP3・VOL(音量)設定できるようにする。 ・ ・ 仕様 【 F 】…… 試行プログラム ・
//******************************************************** //●2系統・併用操作 オムニ4輪 試行版F プログラム // ESPマイコン(ESP32):TES-ESP32-OMNI4-HEIYOU-07.ino //******************************************************** //■タッチセンサー入力操作でMP3設定できるようにする。 //-------------------------------------------------------- //■タッチセンサー(ON)時に、MP3・VOL(音量)設定する・ // ・タッチピン@(GPIO2 ・T2)→ VOL@(中・26) // ・タッチピンA(GPIO15・T3)→ LEDA(大・30) //■(ON)条件:【ON】範囲・連続5回以上を検知した場合 // 【ON 】 … 0-47 // 【OFF】 … 上記以外(48以上) //********************************************************
・ ・ ●スマホ操作画面パネルを、指定できるようにする。 ・ ・ 仕様 【 G 】…… 試行プログラム ・
●同じアナログ入力(GPI034)ピンより … 仕様【E】試行では、コントローラの指定ができましたが 新たに、スマホ操作画面パネルを指定できるようにします。 @フル項目 A砲塔なし BMP3リストなし
●3段切替え以上の設定スイッチが必要です。… 抵抗分圧して切替え段数を増やす方法が使えそうなので アナログ入力して試してみます。
//******************************************************** //●ESP32 アナログ入力(抵抗分圧)テスト@ プログラム // ESPマイコン(ESP32):TES-ESP32-ANALOG-01 //******************************************************** //■アナログピンの値を調べる。 //-------------------------------------------------------- //■入力ピン(ANA_IN・GPIO34<A6>):0〜4095 //0〇@測定値:4095(4095-4095) … 3.3V 10kΩ ブルアップ //8〇A測定値:1242(1242-1257) … 1.1V 5.1kΩ //1〇B測定値:1917(1904-1932) … 1.7V 10kΩ //4〇C測定値:2583(2595-2620) … 2.4V 20kΩ //2〇D測定値: 0( 0- 0) … 0.0V 抵抗なし //******************************************************** int ANA_IN = 0; //アナログ(ANALOG)入力 ← 0 //******************************************************** void setup(){ Serial.begin(115200); ANA_IN = analogRead(A6); //アナログ(ANALOG)入力 Serial.print("●アナログ入力 : "); Serial.println(ANA_IN); // アナログ値を表示する } //******************************************************** void loop(){ delay(3000); ANA_IN = analogRead(A6); //アナログ(ANALOG)入力 Serial.print("〇アナログ入力 : "); Serial.println(ANA_IN); // アナログ値を表示する } //********************************************************
●該当ピンに接続して、測定しました。
→ 抵抗の変動に伴う … デジタル値の推移が測定できました。
●アナログ入力 … ジャンパースイッチで、指定します。
//******************************************************** //●2系統・併用操作 オムニ4輪 試行版G プログラム // ESPマイコン(ESP32):TES-ESP32-OMNI4-HEIYOU-08.ino //******************************************************** //■アナログ入力(GPI034)で、設定できるようにする。 //-------------------------------------------------------- //・電源(ON)時に、最初に起動する… // コントローラ、スマホ操作画面パネルを、指定する。 //******************************************************** //■コントローラ:スマホ // @【フル項目】………… ALL項目パネル // A【砲塔なし】………… 砲塔項目(なし)版 // B【MP3リストなし】… MP3リスト項目(なし)版 //-------------------------------------------------------- //■コントローラ:(PS2)ゲームパッド // C【PS2】… ゲームパッドで操作する。 //******************************************************** //■画面パネルNO(GPANE_NO) // ・1 -【フル項目】………… ALL項目パネル // ・2 -【砲塔なし】………… 砲塔項目(なし)版 // ・3 -【MP3リストなし】… MP3リスト項目(なし)版 // ・4 -【PS2】…………… ゲームパッドで操作する。 //-------------------------------------------------------- //■コントローラ切替SW(CONTR_SW) // ・0 - スマホ // ・1 - PS2 //********************************************************
●【MP3リストなし】を、選択しての稼動確認です。 ジャンパースイツチ(J2) … 【ON】しました。
→ アナログ入力からの設定が適用されました。…OKです。
・ ・ ●自宅のWi-Fiルータ接続で、使用できるのかしら ? ・ ・ 仕様 【 H 】…… 試行プログラム ・
自宅でのパソコンやスマホなどは … 家ルータ(ソフトバンク)に、Wi-Fi接続して使用しており 当該機器も同様に使用できるのか? 試します。
//******************************************************** //●2系統・併用操作 オムニ4輪 試行版H プログラム // ESPマイコン(ESP32):TES-ESP32-OMNI4-HEIYOU-09.ino //******************************************************** //■WiFiモード(WIFI_STA):ステーションモード(無線LAN子機) // // @当該ESPマイコンをステーションモード設定で起動させる。 // // A自宅でインターネット接続している … // 家ルータのAP(アクセスポイント)に接続する。 // * IPアドレスは、Wi-Fiルータで割り振られます。 //********************************************************
●メモ ・家ルータのAP(アクセスポイント)接続の設定値に プログラム変更したら、動きました。… OKです。 ・マルチキャストDNSの入力でも、スムーズに接続できました。 汎用的なルータ機器は … 性能面で優れているようです。 操作からの動作レスポンスが速くなった感じです。
・ ●特性の異なる … ・ ・ アクセスポイントを、選択できるようにする。 ・ ・ 仕様 【 I 】…… 試行プログラム
●アナログ入カ … ジャンパースイッチで、指定します。 ■特定のAP(アクセスポイント)から選択する。 【1】プログラム(AP)に接続する。 ・当該ESPプログラム内の … 処理で起動したAP。 【2】家ルータ(AP)に接続する。 ・自宅でインターネット接続している … 家ルータのAP、 *パソコンやスマホなどが利用している。 【3】他プログラム(AP)に接続する。 ・当該ESP系外の … プログラム内処理で起動したAP。
●アナログ入力 … ジャンパースイッチで、指定します。
//******************************************************** //●ESP32 アナログ入力 テスト@ プログラム // ESPマイコン(ESP32):TES-ESP32-ANALOG-02 //-------------------------------------------------------- //■アナログピンの値を調べる。 // 入力ピン(ANA_IN・GPIO35<A7>):0〜4095 //-------------------------------------------------------- //********************************************************
//******************************************************** //●2系統・併用操作 オムニ4輪 試行版I プログラム // ESPマイコン(ESP32):TES-ESP32-OMNI4-HEIYOU-10.ino //******************************************************** //■電源(ON)時に … 接続先のAPを設定する。 //-------------------------------------------------------- //■AP(アクセスポイント)を、指定できるようにする。 // // 【1】プログラム(AP)に接続する。…… *1 // // 【2】家ルータ(AP)に接続する。……… *2 // // 【3】他プログラム(AP)に接続する。… *2 //-------------------------------------------------------- // *1 … AP+STAモード // *2 … STAモード //********************************************************
・家ルータの5GHz(SSID)には … Wi-Fi接続できませんでした。 ・使用する(ESP32)は、2.4GHzのみ対応なのかしら?
・ ●他プログラム(AP)に接続するテスト ・ ・ 「 自作ルータもどき 」を設置して … ・ ・ アクセスポイントにします。 ・ ・ 仕様 【 J 】…… 試行プログラム
●アクセスポイント役の …… 2種類(ESP02・ESP32)のプログラムを作成します。
//******************************************************** //●【ESP02】Wi-Fiルータ(アクセスポイント)@ プログラム // ESP02マイコン(Arduino): ESP02-ACCESS-POINT-01 //-------------------------------------------------------- //■アクセスポイントとなる… // 簡易的なイントラネット用の「自作ルーターもどき」に // 組み込むWi-Fiルータ機能プログラムです。 //********************************************************
//******************************************************** //●【ESP32】Wi-Fiルータ(アクセスポイント)@ プログラム // ESP32マイコン(Arduino): ESP32-ACCESS-POINT-01 //--------------------------------------------------------
●接続テスト用に … 2系統(ESP02・ESP32)の機器を設置しました。
→ アクセスポイントの準備OKです。
●アナログ入力処理のプログラミングは、突貫工事でしたので 整備しなからの修正を行いました。 //******************************************************** //●2系統・併用操作 オムニ4輪 試行版J プログラム // ESPマイコン(ESP32):TES-ESP32-OMNI4-HEIYOU-11 //-------------------------------------------------------- //・電源(ON)時に、選択設定したものを適用する… // コントローラ、スマホ操作画面パネルなどを指定する。 //********************************************************
テスト … OKです。
・ ・ ●【IOT】操作の組込み ・ ・ 仕様 【 K 】…… 試行プログラム ・
//******************************************************** //●2系統・併用操作 オムニ4輪 試行版K プログラム // ESPマイコン(ESP32):TES-ESP32-OMNI4-HEIYOU-12 //-------------------------------------------------------- //■【IOT】接続機能の追加 //・アナログ入力A … DIP(4)・ D【IOT】経由接続 //******************************************************** //●インタネット接続のWEBサーバ(CGI)処理をキックする。 // ・WEBサーバ内の<PHP>処理プログラムを実行させる。 //■インタフェース処理 // ・(WEBサーバ → ESP32)間で、ボタン情報を取得する。 //********************************************************
・ ・ ●コントローラ操作端末のまとめ ・ ・ 仕様 【 L 】…… 試行プログラム ・
//******************************************************** //●2系統・併用操作 オムニ4輪 試行版L プログラム // ESPマイコン(ESP32):TES-ESP32-OMNI4-HEIYOU-13 //******************************************************** //●コントローラ操作端末 //------------------------------------------------------- //@スマホ(iphoon )……… Wi-Fi通信 // ・(WEBブラウザ・HTML)ボタン操作で入力する。 *1 //Aゲームパッド(VS-C3)… SPI通信 // ・(ボタン・ステイック)操作で入力する。 //B【IOT】……インターネット接続 // ・(WEBブラウザ・HTML)ボタン操作で入力する。 *1 //------------------------------------------------------- // *1 WEBブラウザ使用では … // ・スマホ ・タブレット ・パソコンなどで使用可 //********************************************************
テスト … OKです。
・ ・ ●プログラム内部のコードを整備しました。 ・ ・ 仕様 【 M 】…… 試行プログラム ・
//******************************************************** //●2系統・併用操作 オムニ4輪 試行版M プログラム // ESPマイコン(ESP32):TES-ESP32-OMNI4-HEIYOU-14 //********************************************************
●4種類の操作画面パネルです。……… クリックすれば、拡大します。![]()
●画面(幅)の異なる … 2種類から選びます。*クリックすれば、拡大します。 【左側】の大きめな 画面は … パソコンで使用します。 【右側】の小さめな 画面は … スマホで使用します。・パソコンのモニターでは、両画面が使用できます。
テスト … OKです。
・ ・ ・ ●感想 ・ ・
・プログラムの中核部分を … ESP02類似仕様の各プログラム機能を流用しましたので 致命的な問題もなく、動いてくれました。 特に大きな労力は必要とせず、プログラム作成できました。 ・信号レベルの簡単な出力確認テストですが … 制御信号の動作を重点的に、注視できましたので 実装する回路設計の事前テストができました。
・ ・ ・ ・ ・