BluetoothRCユニット


Bluetooth 接続RC

ESP32とPS3&PS4コントローラ&スマスロを使用したラジコンの製作は、非常に面白く、技術的にも挑戦的なプロジェクトです。
以下に、基本的な概要と必要な材料、手順を紹介します。




            AMP モーター回路図


           LED サーボモータ回路図

アンプ  LM386G-S08 x1
ドライバ TB6612FNG x2
マイコン ESP32-WROOMー32E x1
デジトラ DTC114

必要な材料:
ESP32ボード: Wi-FiとBluetoothの機能を持つ制御基板。
PS3or4コントローラ: Bluetooth接続が可能なゲームコントローラ。
スマホ
モーター: 本体駆動用。
モータードライバ: ESP32からモーターを制御するための回路。
バッテリー: ESP32とモーターに電力を供給するための電源。
スピーカー:サウンド(効果音)を出力。
サーボモータ:いろいろなギミックに使用。
LED:最大5個
シャーシ: ラジコン模型のベースとなる部分。
配線材: 接続用のワイヤーやコネクタ。

基本的な手順:
ハードウェアの組み立て:
ESP32基盤をシャーシに取り付けます。
モーターをシャーシに取り付け、モータードライバと接続します。
バッテリーを取り付け、全てのコンポーネントを配線します。

PS3or4コントローラの接続:
ESP32にBluetoothライブラリをインストールします。
PS3or4コントローラをESP32にペアリングします。
これには、定番のライブラリ
  「SixaxisPairTool」
 を使用することが一般的です。

プログラミング:

Arduino IDEを使用してESP32をプログラムします。
コントローラからの入力を受け取り、モーターなどの動作を制御するコードを記述します。

補足)効果音の作成「音声データをテキストデータに変換」

Data:フリー効果音素材を提供していただけるサイトから入手しましょう。

アプリ audacity 使用



★要点だけ
1)書き出し
ファイルタイプ:その他の非圧縮ファイル
ヘッダ:RAW
エンコーディング:Unsigned 8-bit PCM oxo.raw データを作成

2)C言語で使える配列データに変換
Linax コマンド busybox(優れもの)
busybox xxd -i ooo.raw > ooo.txt

★この方式定番ですのでいろいろブログで紹介されています。

作成したのはこんなんです

unsigned char Daidr_raw[] = { 0x7b, 0x76, 0x79, 0x73, 0x75, 0x76, 0x78, 0x76, 0x71,   0x70, 0x6c, 0x71, 0x71, 0x75, 0x76, 0x75, 0x78, 0x75, 0x76, 0x77, 0x78, 0x7b, 0x7f,  0x7e,
……………………………….
 0x82, 0x85, 0x8a, 0x87, 0x87, 0x88, 0x88, 0x8a, 0x85, 0x83, 0x82, 0x80, 0x81, 0x7c,  0x7c, 0x7b, 0x79, 0x7f, 0x7b, 0x7e, 0x83, 0x80, 0x7f, 0x7a, 0x78, 0x7d, 0x7c, 0x7f,   0x7f, 0x7f, 0x81, 0x83, 0x86, 0x88, 0x88, 0x85, 0x7f, 0x80, 0x81, 0x80, 0x81, 0x7f,   0x82, }; unsigned int Daidr_raw_len = 94927;

 dacWrite(); 関数でIO25ピンに(Digital Analog Converter)出力します。

テストと調整:
 組み立てたラジコン模型をテストし、動作を確認します。
 必要に応じて、プログラムやハードウェアの調整を行います。

その他:
 ・ギヤBOXなどメカ類は既製品
 ・樹脂パーツはその都度3Dプリンタにて積層印刷
  3Dプリンタ Creality Ender-3 V3 KE
  フィラメント PLA