概要
メルカリでジャンク1200円で購入したラジカセにラズベリーパイを搭載し、Radiko再生機能を持たせました。フロントパネルの押しボタンをRadikoの選局等の操作用に改造しました。
元のラジカセから追加した機能
エリアフリー再生(Liveモード)
タイムフリー録音 お気に入りリストに登録した番組を録音・再生(Playモード)
元のラジカセ機能で残っているもの
FM/AMラジオ
サラウンド
元のラジカセから削除した機能・使用できない機能
カセットテープレコーダー 故障。
CDプレイヤー 動作はしていたがフロントパネルをRadikoの
操作に使用するため使用不可。
リモコン 故障。
外部入力 Radikoからの入力に置換。
電池 電池BOXのスペースにラズベリーパイを組み込む。
製作記録
フロントパネル押しボタンスイッチ信号の取り出し
写真中央に浮かんでいる白いコネクタが、フロントパネルからきている押しボタンスイッチ信号線3本を取り出したものです。コネクタは1本余り。メイン基板へつながっている残りの線は液晶表示用の線です。
PLAYボタンは専用の線が出ていますが、他のボタンは線を共用していて、ボタンごとに異なる抵抗値の抵抗がつながっています。
コネクタ | メイン基板上シルク | |
1 | PLAY | 再生/一時停止(S501) ONでGNDへ短絡 |
2 | GND | |
3 | KEY |
GNDとの抵抗値 |
そこで次のような回路を組みました。押したキーに応じてADコンバータに入力される電圧が変化します。
20msごとにAD変換した結果をダンプするプログラムを実行し、キーを次々に押して、結果をグラフにプロットしてみます。
何も押していないとAD変換値は1000付近で、キーを押し込むとADコンバータに入力される電圧に応じた値が出力されています。
最後に押したキーはSKIP+ です。使い込まれていたようで接触が悪いようです。AD変換結果が安定していません。
SKIP+キーの下の基板上に実装されているタクトスイッチを外し、手元にあった新しいものに交換します。
同じようにAD変換結果をプロットしてみます。
最後の部分、安定したようです。
AD変換値の範囲がどこからどこまでが当該キーが押されたものと判断するか理論値に基づいて決めます。
例えばAD変換値が107~207の範囲の値だったら、STOPキーが押されているものと判断します。
キー検出のスレッド(ドライバ)で20msごとにAD変換し、結果が上記表の下限~上限内の範囲だったら、該当するキーのキーコード(STOPキーだったら0)をパラメータにセットし、メインスレッドのキーハンドラ関数をコールします。
ラズベリーパイの組み込み
電池BOXにラズベリーパイを組み込みます。
左は5V電源です。ACインレットから100Vを引いてきています。
ユニバーサル基板中央がADコンバータ
コネクタは左から5V,音声出力、キー入力
音声出力はラジカセの外部入力コネクタへ内部で接続。
操作パネル表示の変更
「外部入力」を「ラジコ」にします。
「リピート」を「モード」にします。
各キーの機能