MicroView + FM Tuner

OLEDディスプレイ搭載ArduinoMicroView (Uno互換) と、FM Tuner Si4703 評価ボードを組み合わせてFMラジオを試作しました。
電源はリチウムイオン電池LiPro Charger


動いてるところ。表示は1行目から周波数、ボリューム、感度 ([S]はステレオ受信)、放送局名*1、Radio Text(曲名等)。

タクトスイッチ(写真だとつけてませんが)か、Serialで選曲、ボリューム操作ができます。


ラジオ聞くだけなら付属のライブラリを使えば何の問題もなし。

U.S.やヨーロッパではRDS (Radio Data System)といって、放送局名や放送中の曲名、代替周波数などの情報がFM放送に重畳されており、Si4703はそのデコードもできます。が、SparkFunの配布しているArduinoライブラリだと、RDS機能の実装が手抜きでよく分からん文字列を拾ってくる。そこでデコーダーを書き直し、放送局名(PS, 最大8文字)とRadio Text(最大64文字、曲名、アーティスト名など)をきちんと抽出できるようにしました。


修正版のライブラリ、MicroView用のスケッチ(examples/uView_Radio4703)は以下に。
https://github.com/NeoCat/Si4703_FM_Tuner_Evaluation_Board/tree/master/Libraries/Arduino/Si4703_Breakout/examples

*1:U.S.だと曲名等も8文字ずつを時分割で送ってたりする曲もあります。