みなさん、おはようございます!
早くも5月の最後になりましたね!
私は最近電子工作にハマって、ものを作る欲が爆発しています!笑
なぜかというと、電子工作は、電子回路の知識も必要で、最近だとマイクロコントローラーを使う場合も多く、そうすると必然的に、プログラミングのスキルも必要になります。その上、完成したものに格好いいケースに入れるために、3Dモデリングや、3Dプリンターで出力することも最近はやっていますね。(他の方法も当然たくさんありますが)
さらに、ロボットのような動く機構がある電子工作の内容だと、そういうパーツのデザインなどもあり、電子工作こそFullStackだと思うようになりました!笑
Webシステム開発のFullStackも結構ですが、電子工作のFullStackもなかなか楽しいなと最近思います。
それで、少し話が逸れますが、最近Prusa i3 MK3S+ というプリンターも買って、綺麗なものを出力出せるようになりました!
これから、電子工作やPrusaや3Dプリンターで綺麗なものを出力方法などについてもnoteを書こうかなと思います。引き続きよろしくお願いします!
あと、余談もう一つ!
私の2冊目の本が今鋭意編集中で!早ければ6月出版されるのかな?作業も少し残って、出版社の方も色々調整がありますので、最終確定ではないですが、決まりましたら、またご案内します!
1冊目はこちらです!よかったらお読みください!
では、早速今回のESP32で作ったインタネットラジオの話をしましょう!
お忙しい人は、まずこちらのYouTubeビデオをご覧ください!
二つのビデオがどれも私のチャンネルのトップ視聴率になっています!見る価値があります!笑
さすが他のビデオより倍以上の時間とエネルギーを使っているから、他のビデオ(灰色の部分)より多く見られている!報われる感じです。笑 よかったよかったです!ガッキーに負けるわけにはいけない。笑 pic.twitter.com/T1zpW8NuRB
— 趣味の電子工作YouTube/2冊目執筆中 (@kokensha_tech) May 19, 2021
Part-2はグローバルも意識して、英語の音声をつけてみました!
そのせいか、めっちゃ時間がかかりました!
ビデオの編集とか慣れるともうちょっと速くなれるといいですね!よかったらチャンネル登録もよろしくお願いします!
こんな感じで制作プロセスが見れます!笑 pic.twitter.com/IVa4ThhHm6
— 趣味の電子工作YouTube/2冊目執筆中 (@kokensha_tech) May 11, 2021
ではまずPart-1から!
目次
Part-1
Part-2
説明
Part-1は見た通り、ブレッドボードの上に組んだだけです。特にそれ以上特別なことはやっていません。
でもこれだけでも、感動ですね。こんな小さいチップで、インタネットに繋がって、インタネットからとってきたデータを音声に変換して、我々の耳を通して、脳を楽しませてくれています!
ESP32 I2S Audioを使ってネットラジオ!
これ色々改造できそうですね!
格好いい選局メニューを作ってみたいですね! pic.twitter.com/uwleswSgZO— 趣味の電子工作YouTube/2冊目執筆中 (@kokensha_tech) May 1, 2021
デザインを考える
Part-2は色々工夫しました!
最初はこんなことを考えていました!
これの続きですが
液晶ディスプレイを用意しました!(^^) pic.twitter.com/umr9KEjIyt— 趣味の電子工作YouTube/2冊目執筆中 (@kokensha_tech) May 8, 2021
大体の構想はこんな感じ
ダイヤルを回して選局する他も色々欲張りに機能をつけたいですが、我慢です。 pic.twitter.com/ECmBdDVIMM
— 趣味の電子工作YouTube/2冊目執筆中 (@kokensha_tech) May 8, 2021
ダイヤルをつけて、インタネットラジオのラジオ局の選局に使おうかなと思いました!
また、TFT3.5インチのディスプレーがあったから、これも使おうかなと考えていました!できれば、選局するときに格好いいアニメーションの演出もあるといいなと考えていました。これについて、あとでもう少し話をします!
色々考えているうちに、デザインがだんだん固まりました。
パーツがある程度用意ができました。
早くダイヤル(ロータリーエンコーダー)で選局メニューを実現したいですね。ディスプレイ、PCM5102、ロータリーエンコーダー、RGB LEDを使う予定でピンがうまく干渉せずに足りるといいですね。#esp32 #ESP32 #Arduino #電子工作 pic.twitter.com/KxXx2g7PUl
— 趣味の電子工作YouTube/2冊目執筆中 (@kokensha_tech) May 12, 2021
上のツイートにあるような、黄金色のダイヤルを作りました!笑
ダイヤルが同時にその下にあるESP32モジュールのケースの蓋にもあります!一石二鳥です!
また、上のツイートにあるように、PCBも用意しましたが、結局これをやめて、Arduinoの拡張PCBを使いました!そっちの方が形がArduinoにあっていますし、脱着が楽です。
ダイヤルの配線とプログラミング
配線完了!
液晶ディスプレイ、RGB LED 、ロータリーエンコーダー、もちろんネットラジオ全部単独で動作することを確認できました!
あとは全部繋げて、連動するプログラミングだけだ!(^^) pic.twitter.com/dloDbtp8MH— 趣味の電子工作YouTube/2冊目執筆中 (@kokensha_tech) May 12, 2021
配線はPCBに半田づけをしましたので、結構時間がかかりました!
配線に誤りがないかと細心の注意を払ってやりました。集中しすぎて疲れました!笑
でも上のツイートのように、RGBのLEDが点灯して、まず万歳です!笑
他の部分、TFT液晶ディスプレーも配線を終えました。ここで事前に決めなければいけないのは、それぞれのパーツが使うGPIOのピンです。
共有はできないので、事前に配分を決めて、半田づけをしなければいけないです。はんだ付けしたあと、干渉がわかると、結構面倒くださいことになります!
ESP32のGPIOのピンが多いですが、制約もあります。特定の機能を使えないPピンもありますので、ESP32のデータシートなどを参照して、確認してください!
液晶ディスプレーの動作確認
その後、無事液晶ディスプレーも動作して、ラジオ局の局名を表示できるようになりました!もちろんこの段階ではまだ暫定なテストプログラムです。ダイヤルを回しても何も変化がありません。
ラジオ局名が表示できた!
フォントサイズは要調整!(^^) #esp32 #Arduino #電子工作 pic.twitter.com/rCeUGXg1m5— 趣味の電子工作YouTube/2冊目執筆中 (@kokensha_tech) May 13, 2021
ちなみに、開発環境はこれです!笑
開発環境!(^^) pic.twitter.com/pCgHBujPKS
— 趣味の電子工作YouTube/2冊目執筆中 (@kokensha_tech) May 13, 2021
選局機能の追加
フォントのサイズを調整して、ダイヤルを回すと、ラジオ局が切り替える部分のプログラムも追加しました!
出来ました!(^^)
ダイヤルでインターネットのラジオ局を選ぶ!
LEDがダイヤルに合わせて動くのがお気に入り!(^^) pic.twitter.com/D9Bu6tcNM0— 趣味の電子工作YouTube/2冊目執筆中 (@kokensha_tech) May 13, 2021
アニメーションをつけるのは今回諦めました!
理論上実現することが可能ですが、今回YouTubeビデオも早く公開したいので、ダイヤルを回すときのアニメーションを Part-3でもやろうかなと思います。今回はお見送りです。
外部のアンプと繋ぐ
そうすると、外部のオーディオアンプと繋ぐと結構いい感じになりました!笑
自作インターネット音響システム!笑 pic.twitter.com/GyZO1RdHFI
— 趣味の電子工作YouTube/2冊目執筆中 (@kokensha_tech) May 14, 2021
改良1
ディスプレイの表示をちょっとよくしました!
それで数日も溶けましたから、週末になったから、一旦休憩を挟みます!
ここまでできました。笑
もう週末だから一旦ラジオの音楽を聞いて休んでいます。笑 pic.twitter.com/chAVnohJOs— 趣味の電子工作YouTube/2冊目執筆中 (@kokensha_tech) May 14, 2021
改良2
でも!
やっぱり休んでいられないので、改良の続きをやりました!この日は土曜日だったかな。フォントの色などを変えてみました!
まだ、プログラムの中で見えませんが、ダイヤルの部分(ロータリエンコーダー)のプログラムを別のライブラリに切り替えて、実装を変えました!
少し改良しました!ダイヤルを回すとラジオ局名も変わって表示するようになりました!#ESP32 pic.twitter.com/4gjPT6MhRE
— 趣味の電子工作YouTube/2冊目執筆中 (@kokensha_tech) May 18, 2021
改良3
選んだ局と洗濯中の局(番号)を別々にしてみました!
少しだけわかりやすくなったかな、変えて分かり辛くなったという人もいますが、みなさんどう思いますか?
さらに改良!
回す方向と数字の変化を調整して時計回り方向で数値増加するようになりました。
後再生中の番号と洗濯中の番号を分けてみました。(^^)
次は #lovyanGFX を使ってみようかな @lovyan03 pic.twitter.com/I4DyySGIti— 趣味の電子工作YouTube/2冊目執筆中 (@kokensha_tech) May 18, 2021
最終形は上のPart-2のビデオとなります!
詳細の作る過程が全部収録されていますので、よかったら見てください!
概要
ESP32を使ったインタネットラジオ! その二 (PCM5102 + TFT 3.5 inch display + rotary encoder+ RGB LED)
このビデオは、インタネットラジオ製作の第二部です!
このプロジェクトで使っている重要ライブラリはこちらです!
1) https://github.com/schreibfaul1/ESP32-audioI2S
2) https://github.com/igorantolic/ai-esp32-rotary-encoder
3) https://github.com/FastLED/FastLED
ソースコード
ソースコードは今整理中で、そのうちGitHubに公開する予定です。しばらくしたらまた見にきてください。
第3部も作るかもしれませんので、チャンネル登録をよろしくお願いします!
Twitterも電子工作や3Dプリンターに呟くので、フォローよろしくお願いします!
Facbookグループ
Facebookもこんかグループをやっています。「【趣味】の電子工作、Electronics、RaspberryPi、Arduino系、ESP32系/M5Stack、3Dプリント、ロボット、AIなど」
よかったら、参加してみてください!公開グループです。
https://www.facebook.com/groups/247733226639836
ではまた!もしPart-3 を作ったらまた記事にしますね!
ご機嫌よう!