前回、日本語も表示できるWebラジオが出来た。
しかし、いかんせん画面が狭い(画素数が少ない)のである。
ストリームタイトルを3行表示にしても、まだ足りない。
シリアルモニタで見ると、
「湯ノ花幽奈(島袋美由利) - Happen~木枯らしに吹かれて~(幽奈Ver.)」なる曲らしい。
おじさんはアニソンは聞かないので、そこはどうでもいいのだが・・・・
でも最近の曲名は なんとかfeat.とか やたらと長いのが多いので、いずれにしても3行でも足りないのである。
じゃ、2画面にすればいいんじゃね?
思いついたら試さなければならない
手持ちで0.96インチ版のOLEDが2つあるので、I2Cでつなげることを考える。
裏を見てみると、2個のうち1個は、アドレス設定が出来るのようだ。
赤枠の部分↓
0x78と0x7Aとあるが、最下位bitはR/Wを示すbitなので実際には0x3Cか0x3Dの切り替えとなる。
おじさんが、弱った眼と不器用な手でなんとか抵抗を付け替えた。
1608の抵抗1個ごときに、ずいぶん苦労した。これより小さいとおじさんには不可能。
回路図はこちら↓
OLEDを2個にして、表示モードSWは廃止
OLED直近にパスコンをそれぞれ配置したほうがOLEDの動作は安定する。
ブレッドボードでこんな感じ
OLEDの抵抗付け替えが、ちゃんと出来たかどうか不安だったが、上手く動いてくれた。
efontでステーション名とストリームタイトルを表示するようにした。
左側OLEDの下側がステーション名、右側のOLEDは全部ストリームタイトル。
ストリームタイトルが4行とれるので、多くの場合は収まる
0.96インチ版OLEDなので表示文字が今ひとつ小さいが、大き目のefontで表示しているので おじさんの眼でも十分に読める。
まぁ、これはこれで「有り」なんじゃないか、と思うのである。
今回のスケッチは以下に置いておきます。興味のある方はどうぞ。
SeeedESP32S3_WebRadio_OLEDx2_01
(WiFi環境に合わせてssidとパスワードは変更してね)
なお、コンパイル時の注意点は以前の記事と同様に、ツールメニューから
・USB CDC On BootをEnabledに設定
(これをしないとシリアルモニタが動かない)
・Flash ROMサイズを8MBに
・パーテーションを8Mで、3M APP/1.5MB SPIFFSに
・PSRAM:OPI PSRAM に設定
(ESP32-audioI2SライブラリはPSRAMをバッファ領域に積極的に使うみたい。
さらにPSRAM設定が無いと再生できないステーションが有る)
・ボードライブラリは3.0.7を使用
3.1.X だと、I2Sが動作せず音が鳴らない
3.2.0と3.3.0では動作した。
安定版の3.0.7のほうが お勧めかも
・ESP32-audioI2Sライブラリは3.3.0以前のものを使用
3.4.x以降は仕様変更によりこのソフトでは動作しない
3.0.13が安定版でオススメ