Si4735 ラジオモジュールのプログラミングその3

本日は、FM / AM の基本処理追加とシーク動作出来るようにプログラムの修正をしました。とりあえずボタン2つ付けまして、周波数 Up/Down させるようにしました。あとはボリューム操作と AM/FM 切り替えを付けたら市販されているラジオキット相当になりそう。

		   text	   data	    bss	    dec	    hex	filename
		   5380	     34	     97	   5511	   1587	Si4735Radio.elf

AMもバーアナテナ無しで、NHK第一、第二は受信出来ているので動作確認終ってます。大半のプログラムは出来てるという状態です。これで↑のように5511バイト。余裕あります。気になるのは、電池が、3.3Vから3.0V まで電圧下がりましたが、液晶のコントラストがすごく変化して薄くなりました。こいつの調整も必要そうというところです。

“Si4735 ラジオモジュールのプログラミングその3” への12件の返信

  1. ngc6589様
    初めまして! 最近 DSPラジオの si4735の機能を知りました。
    ビット・トレード・ワンで売ってるのは知ってるのですが選局で
    シーク機能が無く購入を考えてました。
    そこで良かったらなのですが回路図とソースを公開してもらう事は
    可能でしょうか? 宜しくお願いします。

  2. sknet さん。はじめまして。
    ブログ見ていただいてありがとうございます。

    問い合わせの件ですが、まだ工作の道半ばのため回路図は書いていないしソースの公開も現在出来る状況ではありません。
    わかる範囲で使い方のヒントは差し上げられるかとは思います。
    尚、今回買ったSi4735チップはFM/AMともにシークコマンドは動作しています。

    以上よろしくお願いします。

  3. ngc6589様
    返信 有難う御座います。
    恥ずかしい事なのですがAVRでプログラムを1から作る技術は
    ありません。モジュルを初期化したりしないといけないようです。
    作ってるプログラムを自分仕様に変更する程度のレベルです。
    機能的には 市販の機能まで使えればと思ってます。
    回路図は Avrから モジュールへの コントロール2線は決まってるので
    swのポートが解かれば回路図は必要ないと思います
    LCDからも ほぼ同なじですが Swへの接続のPin番号とLcd接続のPin番号
    を教えて頂ければと思います。16X2のLCDを使用するつもりです。
    ソースとHEXファイルを完成時で良いのでメールで添付も無理でしょうか?
    機能的には AM FM切り替え シーク機能 S表示が出来ればと思います。
    ご無理言って申し訳ありません。 宜しくお願いします。

  4. 参考になるかわかりませんが、回路と今日時点のソースを
    http://mkusunoki.net/?p=2108
    にて公開いたしました。

    今回使用している液晶モジュールは I2C接続 3.3V 動作のものです。
    一般的な 5V 動作の4bit/8bit接続の液晶と違いますので注意下さい。

    また、マイコン側が 5V 動作時は I2C 接続の 5V – 3.3V レベル変換を途中入れ
    ていただく必要があります。

    回路的には接続しただけの状態ですので、パット見ただけでご理解いただけると
    思います。

  5. masahiro様

    ソース及び回路図の公開 有難うございます。
    ラジオモジュルは今日 入荷してきたのですがAVRが、まだ入荷して
    ないので来てからになります。
    LCDは、何個か持ってるのですが全部5V用なので LCDだけ5V入力で
    いけるのでしょうか? AVRとモジュルは3V動作とします。
    それと回路図を拝見しましたがLCDコントロルの配線がしてませんので
    LCDコントロールのSWは不要ですね!LCDの配線も少ないので一行表示かと
    思います。 有難うございました。

  6. 追記 
    R1の値が無いのでお願いします。
    後クロックはデフォルトみたいなので ヒューズ設定は変えなくても
    良いみたいですね! 

  7. 追記2
    I2C接続のLCDは通常の5V用とは別物ですね!
    勘違いしてました。 通常のLCDは14pinに対して
    こちらは5pinで制御出来るんですね!
    すいません。 初めて知りました><

  8. 今回 R1 は 100k です。一般的な AVR マイコンのリセットは 10k の抵抗と 47uF あたりの電解コンで時定数持った回路にするのが多いです。電源投入時にうまくスタートしないなどの事象があれば、変更されてみてはと思います。

  9. 液晶だけ 5V 動作というのは、余計面倒です。液晶モジュール側を 3.3V 対応させておられる方が多くいらっしゃいますので、その記事を参考にされると良いかと思います。「液晶モジュール 3.3V」ですぐ出てきます。ただ、私はやったことがありませんので実績なしです。
    今回使用している液晶モジュールは http://strawberry-linux.com/catalog/items?code=27003 です。

  10. クロックは内蔵クロックを8分周したおよそ1MHz動作です。マイコン買ってきたデフォルトです。
    _delay_ms 関数で時間待ちを多用してます。 avrlibc のdelay.h です。ソースに #define F_CPU 1000000UL を書くか、コンパイラオプションに -DFCPU… とするかして、正しく _delay_ms を動くようにして下さい。
    タイマ割り込みで作成されてもいいかと思いますが、今回は電源電圧変動でクロックもふらつくの前提でかなりアバウトな delay の使用となってます。

  11. masahiro様
    助言 有難う御座います。
    I2C接続のLCDは 通常のLCDに比べてコントロールするのに3線で
    済んでしまうのは楽ですね!例えが悪いかもですが IDE接続が ATA接続
    になったくらい配線が少ないです。I2C接続のLCDを購入してみようと
    思います。バックライトは消費電力が多くなりますがあった方が良いかもです。

コメントを残す

メールアドレスが公開されることはありません。