So-net無料ブログ作成

ESP32のDCCデコーダ [ds-DCCデコーダ]

 一応、ESP32 devkitCでNMRADCCライブラリとESP8266Audioライブラリを使って、モーター、ヘッドライト、テールライト、音(4音ぐらい、WAV:22kHz)ぐらいまでができました。
DSC02839.jpg

・真ん中のユニバーサル基板上に両極性でのヘッドライト、テールライトに当たるLEDを配置しています。
・実験基板には、モータードライバのBD6231Fを2回路付けており、回路1はモーター用、回路2はヘッド、テールライト用としています。
・実験基板には緑色のLEDを一つ付けており、F1をOn/Offすることで点灯と消灯をできるようにしています。現状はESP32からの3.3V駆動になっているので、12V用とするなら、トランジスタを付けないとです。
・音は22Khzの普通のWAVで、SPIFFSを使用しており、ArudinoIDEからファイルを転送して使っています。
・まだ、CV書き込み部分を入れていません。SPIFFSも使っているし、どうすればよいかしら?

動画です。電源入れて、まず、モーターを回して、止めて、F0(ヘッドライト、テールライト)を付け、次に室内灯を付けて、最後に、音のファンクションをF3からF7まで鳴らしています。音が悪いのとか、割れているとかいうのは置いておいて、一応、同時になっていることがわかるかと思います。


 スケッチはこちら
ESP32のArduino環境やSPIFFSのアップロード環境、ESP8266AudioやNMRADCCなどのライブラリをそろえる必要もありますが、環境構築は省略します・・・。

適当なAudioPlayというクラスを作ったのですが、そこを少し改造すればMp3が鳴るように変更はかのうです。両方ならすことはできるのかなあ?
本日は以上です。

コメント(3) 

コメント 3

Yaasan

素晴らしい実験、ありがとうございます!
4音同時再生は、確実に安定して行える感じでしょうか??
内蔵メモリは、確かESP32はいろいろあったと思いますが、今回のものだとどれくらいの時間の記録が可能か、気になるところです。
大きいので、HOかGゲージ向けになりそうな感じですが、上手くすれば海外のユーザーも欲しがるものになると思います。

ESP32も、マイナーバージョンアップの新型?があるようなので、期待しております。
by Yaasan (2019-07-21 17:52) 

あやのすけ

4音リアルタイム合成はすごいですね。
ライブラリ側でうまく合成処理ができているのかな。
(単に音重ねると音大きくなってしまう)
メモリは外付けspi FLASHを足して
by あやのすけ (2019-07-22 07:44) 

fujigaya2

コメントありがとうございます。
>4音同時再生は、確実に安定して行える感じでしょうか??
いじわるテストしていませんので、確実とは言い切れません。
>内蔵メモリ
現在、1.5MbyteのSPIFFSにしています。OTAなしなら3MByteまでできるようです。
1.5MByteなら、22kHz,16bit,monoで34秒ぐらい
128kのMp3なら93秒ぐらいかと思います。(Mp3で4音出せるかは微妙ですが)
>4音リアルタイム合成のライブラリ処理
多分、足しているだけだと思います。(一音一音は小さくしています)
by fujigaya2 (2019-08-03 13:29) 

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。