2018年11月一覧

OLED の動作確認(ESP32)

HiLetGo の OLED を ESP32 (ESP-WROOM-32) で使おうと思ったときに、予期していた状態と異なったのでここにメモとして残しておきます。

ESP-WROOM-32 で Arduino フレームワークを使ってこのディスプレイを使おうとしたときに、以前の u8glib が使えなかったので別のライブラリを探すことにしました。 u8glib で GraphicsTest をコンパイルさせたところ、なぜかフラッシュの領域を超えるくらいの大きなものが出来てしまったようで。

続きを読む


ESP32 の I2C の罠

ESP-WROOM-32 を、 Arduino Core for the ESP32 で使用していたのですが、 I2C 関連で通信正常にできない問題に出遭いました。使用しているバージョンは 1.0.0 となっていました。
I2C については、こちらで語られているように問題があるようだったのですが、現時点のバージョンでは解消されているのかと考えています。

  • 参考:https://www.mgo-tec.com/blog-entry-problem-i2c-0628-arduino-esp32.html

遭遇した問題点

RTC のモジュールとして、 RX8900 を使おうとしたときに出遭いました。最初はラインをプルアップするのを忘れたので、そのせいで通信が正常に出来ないのだと考えていました。しかし、プルアップしてみても問題は解消せず、という状況でした。
問題といっているのは「デバイスからの値の取得が出来ない」といった状況が発生していました。しかし、 RTC の各レジスタに値はかけているようで、 RX8900 のデバイスは稼働しているようでした。この点から読み込みだけが失敗している状況と考えました。

このとき使用していたスケッチは、 RX8900 は秋月電子で購入した際に紹介されていた ino スケッチです。

解決方法

スケッチの中で、 Wire.endTransmission(false) としている点が、 ESP-WROOM-32 でまずいような感じでした。
後続にもコマンドがあるので I2C バスを解放せずという点はわかるのですが、これが駄目なようでした。この部分を endTransmission(true) でバス解放してあげることで、ひとまずはレジスタからの読み込みも成功するようになりました。

endTransmission(false) を使っているようなものでは、同じように問題に出遭うかもしれません。あるいはバージョンが上がったら、この問題も解消されるかもしれません。


ESP32でmp3単純再生

先日の WebRadio のプログラムを使って、 ESP-WROOM-32 で mp3 データが再生できることは確認しました。しかし単に mp3 だけを再生するにはどうしたらよいかが気になりました。今回はこれを確認したいと思って、色々と試してみることにしました。

WebRadio のほうは ISP-IDF の開発環境を必要としていたのですが、 Arduino の環境で出来たら手軽に使えるなと思うので、こちらで出来ないかから試してみました。結論としては、運良く Arduino のフレームワークで使えるものがあったのでこれを紹介します。

続きを読む


ESP-IDF で wav再生

ESP-IDF 環境で、 wav の再生をやってみました。
先日の WebRadio のもので I2S の配線済みだったので、wav の再生にも I2S へ書き込むようにしました。単なる wav の I2S 再生を ESP-IDF でやっているサンプルってあまりなさそうだったのは、簡単すぎて需要が無いのかも。

続きを読む


ESP-WROOM-32 のための VSCode 設定

ESP-WROOM-32 を Arduino として使っている際には、あまり意識していなかったのですが、 ESP-IDF 環境でプログラムを作成するとなるとちょっとつらくなってきたので環境を整えてみることにしました。

Visual Studio Code を用いて、コードの編集からコンパイル、転送までを集約したいと思います。

続きを読む


ESP32 で WebRadio

手元にあった ESP-WROOM-32 マイコンは mp3 を再生するパワーがあることがわかったので、手っ取り早く確認したかったので、WebRadio を再生するプログラムを動作させてみることにしました。

使用した開発ボードは、 ESP32-DevKitC というものですが、他のボードでも同様に動くと思います。スイッチサイエンスの ESPr Developer 32 も定番の開発ボードです。ESP32 マイコンがどのようなものかは、各所で説明されているのでここでは説明しません。

続きを読む