還暦ラジオを真似て作製してみる
- 2024/11/24 15:03
- カテゴリー:ラジオ
YouTubeで「還暦ラジオ」を観て気に入ってしまい,SI4732が1つ残っているので作製することにした
ボード(T-Display)
ディスプレイ付きのESP32である「TTGO T-Display」「Lilygo T-Display S3」を利用したラジオは他でも紹介されていて,先ずはボードを安価に手に入れるためAliexpressにて「TTGO T-Display」(16MB)を¥1,525で調達
到着はしばらく掛かると思っていたら1Wで届いたので早速環境整備と動作確認
ケース入りでピンヘッダーとバッテリ用のミニPHコネクタが付属
ボードは非常にコンパクトで薄い
技適がないので申請前の在庫品だと思われる(なので安価だったようだ),無線通信(WiFi,Bluetooth)は使用しないので問題なし
初期プログラムが書き込まれていて,USB(このボードはTypeC)を接続して電源投入すると画面がカラーで数回変わり最後に文字が表示されるので動作確認できるようだ
arduinoIDEの設定
ESP32をarduinoIDEで使えるようにしているので簡単に利用できる
ボードはESP32>TTGO LoRa32-OLEDを選択
Flash Frequency を40MHzに変更した
USBを接続するとボード名が表示,サンプルとして「GetChipID.ino」を書き込んで実行
書き込み時に操作する必要はなく自動で書き込みモードになる
ラジオの実装
回路図,ソフトウェアは以下で公開されている
Ralph Xavier Github: https://github.com/ralphxavier/SI4735
(ソフトウェア)
ATS-20/25の開発で環境は整っていたので追加で行ったのは以下
- Battery18650Statsライブラリのセットアップ(https://github.com/danilopinotti/Battery18650Stats)
- ledc関数の変更のためソース(Si473x_Rotary_Encoder_Interface_V4.1.ino)を修正
ledcSetup(), ledcAttachPin()は無くなったためコメントアウト2行(行削除で構わない)
他(以下の3関数)は修正する必要なし(使用しているのはledcWrite()のみ)
bool ledcAttach(uint8_t pin, uint32_t freq, uint8_t resolution);
bool ledcAttachChannel(uint8_t pin, uint32_t freq, uint8_t resolution, int8_t channel);
bool ledcWrite(uint8_t pin, uint32_t duty);
コンパイルし書き込んで実行すると
接続してないので正常にエラー表示された
(ハードウェア)
必要パーツを準備してブレッドボードで試行
動作した(アンテナが短く音は良くない)
ロータリーエンコーダーの方向が逆だったので接続を変更
前回購入したロータリーエンコーダーの結線図の記録が無かったので記載しておく
後は基盤に実装してケースを作製するのだが,今回はいかにコンパクトにできるかとなる