●スマホ( iphoon )操作 オムニ4輪 の 実装準備
はじめに・・・ 「 スマホ操作 」、「 オムニ走行 」機能での車輪回転動作を確認できましたので 試行筐体に、「 オムニホイール 」を装着し、試行プログラムでの基板を実装して 全方向に移動走行できる特性の「 オムニ4輪独立駆動車 」を作ることにしました。 また、MP3プレーヤーを搭載して、UART通信での制御処理を組み込みます。
・ ・ ・ ・ ・
●この「 オムニホイール 」を、使用します。 【 48mmオムニホイール(六角ハブ対応)(14038) 4個 】 Nexus robot

(製品仕様)   ・直径 : 48mm   ・幅 : 25.5mm   ・軸穴径 : 六角穴 対角14mm、呼びS12   ・重量 : 約39g   ・負荷上限 : 2kg   ・ローラー個数 : 8   ・ローラーの材質 : ナイロン+ポリエチレン   ・プレート枚数 : 2   ・本体の材質 : ナイロン
●オムニホイールに、装着する「 ハブ 」です。 【 48mmオムニホイール(六角ハブ対応)用3mm六角ハブ (18056) 4個 】 Nexus robot

 → ギヤボックスの出力シャフト直径( 3mm )に合わせました。
●「 ギヤボックス 」です。 前進後進、左右旋回をコントロールするギヤは、試行する上で、動作確認しやすいように 最低速ギヤ比( 344.2 : 1 )のギヤボックスを使用する事にしました。 【 シングルギヤボックス(4速タイプ) 4個 】 タミヤ

・低消費電流( 450mA )の低回転型130モーターを使用します。 ・出力シャフトは、タミヤの工作シリーズ共通「 3mm径 六角 」タイプです。
・ ●Wi-Fi通信処理では … ・ ・  机上テスト時に、多くの消費電流が発生している感じがしましたので ・ ・  電力系を見直しました。
●配線図です。……… クリックすれば、拡大します。
・ ・ ・ ・ ・
●ラフな配置構成図です。 ……… クリックすれば、拡大します。
・ ・ ・ ・ ・
●「 オムニホイール 」を、仮付けしました。 正方形の形状を意識してのホイール配置です。

 → 均等に配置したつもりですが ……… 大丈夫かしら (^^?
●基板を装備するエリアです。


●基板装備エリア枠に合わせて ……… ユニバーサル基板を、カットしました。

 → 変な形状ですが …… 何かと、制約が有りそうな感じがします。 (^^;
●基板装備エリアに蓋をした状態です。


・ ・ ・ ●効果音などのBGMを、出力しますので ……… ・ ・
●MP3プレーヤーは …… 本体(モジュール)のみ購入しました。 【 秋月電子通商 DFPlayer mini ( MP3プレーヤー ) 】


●microSDメモリーカードのMP3ファイルです。

 → mp3 フォルダ内に、格納(38曲)しています。
・ ・ ・ ・ ・
●GPIOピンの用途は こんな感じです。
 → GPIOピンは、11本使います。
・ ・ ・ ・ ・
●机上テスト版のプログラム(TES-OMNI4WD-01)をベースにして  実装プログラム(OMNI4MP3-01)の作成です。
//●スマホ操作 オムニ(4輪独立駆動)の 実装版@ プログラム
// 【 スマホ(MP3プレーヤー搭載)送信機 】 ( iphoon )
// ESPマイコン(ESP-WROOM-02): OMNI4MP3-01.ino
//--------------------------------------------------------
// Taka袋式送信機 「 NiziU COLORS 」
//--------------------------------------------------------
//■ESP-WROOM-02を …… アクセスポイントサーバ にする。
//・アクセスポイント( SSID ): TAKABUKURO
//・Taka袋Webサーバー ( http://takabukuro.local/ )
// ドメイン「 .local 」  ホスト名「 takabukuro 」
// IPアドレス ( http://192.168.4.1/ )
//--------------------------------------------------------
//■スマホ(WEBブラウザ)のボタン操作で…制御処理する。
//・オムニ4輪駆動  ( DRV8835  )制御
//・MP3プレーヤー( DFPlayer mini )制御
//********************************************************
//●スマホの送信ボタンとアクション項目
//********************************************************
// REQ ボタン    アクション処理
//  1  【F】  → /F_ACT   <01>●【前進】
//  2  【S】  → /S_ACT   <02>●【停止】
//  3  【B】  → /B_ACT   <03>●【後進】
//  4  【L】  → /L_ACT   <04>【左】超信地旋回
//  5  【R】  → /R_ACT   <05>【右】超信地旋回
//-------------------------------------------------------
//  6  【ON】 → /ON_ACT  <06>■ギミック【起動】
//  7  【OFF】→ /OFF_ACT <07>■ギミック【停止】
//-------------------------------------------------------
//  8  【((】 → /((_ACT  <08>【左】平行
//  9  【(】  → /(_ACT   <09>【左】斜め
// 10  【)】  → /)_ACT   <10>【右】斜め
// 11  【))】 → /))_ACT  <11>【右】平行
//-------------------------------------------------------
//  -  【■】    → /play stop ●停止
//  -  【>】     → /play play ●再生
//  -  【繰返し】 → /play looptrack ●ループ
//-------------------------------------------------------
//  -  【音量】  → /volume ●ボリューム
//********************************************************
// microSDカード( mp3 フォルダ )内に記憶するもの(40曲)
//-------------------------------------------------------
// ・1曲目 :【XXX】 → /mp3sel 0001 XXX.mp3
//   ↓
// ・40曲目:【YYY】 → /mp3sel 0040 YYY.mp3
//-------------------------------------------------------
// ・特定曲の再生時にLED(点滅)連動するもの
//    0002●効果音 ゴジラ鳴き声.mp3
//    0003●効果音 Aサイクル光線.mp3
//********************************************************
// ・ギミック【起動】…… 回転方向(正転)する
// ・ギミック【停止】…… 回転方向(停止)する
//********************************************************
//●オムニ4輪駆動の制御項目
//********************************************************
// ・前輪・左側 (@BIN2:GPIO15) (A回転方向:GPIO13)
// ・前輪・右側 (BAIN2:GPIO12) (C回転方向:GPIO14)
// ・後輪・右側 (DBIN2:GPIO5)  (E回転方向:GPIO4)
// ・後輪・左側 (FAIN2:GPIO0)  (G回転方向:GPIO2)
//********************************************************
//●電子スイッチ項目
//********************************************************
// ・電子スイッチ : LED点滅 (GPIO16)
//********************************************************
//●ライブラリ使用する ヘッダファイルのインクルード
//********************************************************
#include <ESP8266WiFi.h>;      // wifi通信
#include <WiFiClient.h>;       // wifiクライアント
#include <ESP8266WebServer.h>; // webサーバー
#include <ESP8266mDNS.h>;      // マルチキャストDNS(mDNS)
#include <WiFiUdp.h>;          // WiFi UDP通信
#include <SoftwareSerial.h>;   // SoftwareSerialクラス
#include <DFMiniMp3.h>;        // MP3プレーヤー
//********************************************************

・ ・ ・ ●スマホ操作ボタンの使い方 ・ ・
●最初のページです。

●2ページ目です。
 → 3ページ目以降は … 選曲ボタンのページが続きます。
●最後のページです。

・ ・ ・ ●テストボード上で、全体接続しての動作確認です。 ・ ・
●パワー全開で、快適でしたが …
・テスト中に突然、画面がクリアされる事象が発生しました。  → 処理が停止状態ですので…WDTでリセットされているかも?
【 対応 】 yield (イールド) 関数を実行する。 … 自ら、CPUを放棄します。 loop系の処理時間が長そうな箇所に「 yield 」を組み込みました。
 → OKです。
●MP3プレーヤーの制御テストです。
 → 制御OK … 感動ものです。
・ ・ ・ ●新たに、ギミック用のモータ制御機能を付加します。 ・ ・
●ギミック用のギヤボックスです。 【 3速クランクギヤーボックスセット 】 タミヤ

●デュアルモータードライバ ( DRV8835 ) の配線です。
 → 1個のモーターのみ、動かします。
●ギミック用モータのテストです。
 → OKです。
・ ・ ・ ・ ・
●配線図です。……… クリックすれば、拡大します。 ■ギミック用のモータ(1個)駆動回路を追加しましたので…  ・電力供給の降圧構成を変更しました。
●GPIOピンの用途は こんな感じです。

・ ●実装基板の作成ですが … ・ ・  「はんだごて」工具を、必要としない ・ ・  ブレッドボードを活用して、試してみます。
●ブレッドボードの位置決めです。 … こんなものかしら ?

●実装基板の配線図です。 ……… クリックすれば、拡大します。  → 【ブレッドボード BB-801】を連結して拡張しました。
●四苦八苦しながら、基板が完成しました。
●裏側です。 ……… 結線が ”ごちゃごちゃ”になりましたです。(^^;
・ ・ ・ ・ ・
●( 最下段 )フロア … オムニホイールとギヤボックスが装着された状態です。  → バッテリーを中央のスペース枠に固定します。 *最後部にスイッチを装備
●( 中央段 )フロア … 基板を固定して実装した状態です。
●完成です。
・ ・ ・ ●感想です。 ・ ・
●オムニホイールを使ってみて 自動車は、ハンドルで進行方向に、タイヤを向けて進行しますが … ■オムニホイールでは ・本体部分の主動回転と、本体外円上に設置されたローラーの受動回転により  各ホイールの回転方向の組合せで、全方向に進行移動の動作ができました。 ・オムニ走行の精度は、高くないですが、なんとか動いてくれました。
・ ・ ・ ●スマホ操作画面の配色について ・ ・
●「 カワイイ 」色にしたかったので、参考にしたものです。
 → この配色の構成は、とても感じがいいです。(^^)
●スマホ画面 … 最後のページです。
 → Taka袋(ロゴ)が …「 Make you happy 」な感じです。(^^)
・ ・ ・ ・ ・