Si4735 ラジオモジュール構成検討中 その2

ラジオモジュールのほうのプログラミングは FM だけですが、周波数のセットとステータス呼び出しが出来ていますので、AM のほうもすぐコーディング出来るようなところまでは来ています。この時点での変更点は

  • ATMEGA328P のクロックは内蔵 8MHz からデフォルトの 1MHz に戻した。
  • それに伴ない I2C のパラメタ設定修正
  • ブレッドボード上のパーツ整理

です。で、次考えないといけないがユーザーインタフェースです。これ悩み中ですが大雑把に以下の項目

  • 周波数のセットの仕方(直接入力・シーク・その他)
  • AM / FM の切り替え方法
  • 音量調整
  • 16×2 の液晶への表示内容(モード・周波数・信号強度(簡易Sメータ)など)
  • 液晶コントラストの設定(ボリュームでは出来ない)
  • スピーカー付けるか否か・とステレオかモノラルか

正直決まってないですね。すくないボタンでガンバルかどうするか検討してみましょう。

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

とりあえず、音出るまでを一区切りにしようと夕食後から少しモジュールいじり。Atmel Studio 6 の画面上もソースが増えてきました。まずは固定値で NHK FM にチューニングして音が出るかの確認です。いろいろシューティングで時間食いましたが結果 OK でした。これで一安心

問題点に伴なった変更点は

  • ラジオモジュールへの電源供給を ATMEGA328P の I/O PIN からしようとしたが駄目でした。(モジュール側のコマンドで Power Down 出来そうなので直接電源ラインに接続)

でした

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

ラジオモジュールのプログラミング開始です。今回はお手軽 Arduino ではなく、普通の AtmelStudio6 で開発を行ないます。ちょっと久しぶりだったので思い出すのに時間かかったよ。

とにかく、LCD に文字が出ないと話しにならないので I2C バスの送信部分(エラー処理無視)のクラスを作成。見た目は Arduino IDE の Wire ライブラリと同じメソッド名で実装。と言ってもコンストラクタ、begin(), beginTransmission(), endTransmission() を書いただけです。

で、ブレッドボードの ATMEGA328P に書き込みしますが、このときフューズビットの CKDIV8 のチェックを外して内蔵CR発振器の分周はしないようにし、8MHz のクロックで動くようにしています。電圧も3.2V と表示されているので大丈夫です。

ということで、お決まりの Hello World を液晶表示して出るか確認し表示されました。早速出てきた問題点は

  • テスト LED を点けたり消したりするだけで、液晶のコントラストが微妙にかわる(ものすごいセンシティブ)
  • I2C バスを抵抗でプルアップして動いた(内蔵プルアップで動くはずが…) ちょっと調べないと駄目かな。

今後は I2C の読み込みルーチン作成です。これが無いとラジオモジュールのステータス読めないのでコーディングします。それと液晶が HD44780 互換のコマンド体系なので、必要最低限のコマンドをクラス化するあたりかなと

Arduino Ethernet Shield 買うてきた

今日は日本橋まで行ってました。特に買い物というわけでは無くネタ探しということです。で、結局買って来たのは Arduino Ethernet Shield です。それも純正。Sparkfun だったかに1枚物のがあったように思ったのですが、たまたま無かったのでこれでもいいというというやつです。IDE のサンプルに Twitter クライアントの例などがあるようなのでまたサンプルのソース見て見ましょう。

物としては WIZNET W5100 の Ethernet アダプタで、TCP/IP のところはチップ側でやってくれます。このためマイコン側はシリアル伝送でチップとやりとりすればいいというやつです。ちょっと前までとかはカニさんチップを一生懸命たたいて動かしていたのが懐しいですね。おまけにライブラリまで提供されているので楽すぎます。

ちなみに、写真が横向きになっていますが WordPress 3.4 にしたら取り込みした写真のピクセル長いほうが横向きになります。これはうちとこだけかも知れない。

音声合成LSI 「AquesTalk pico LSI」28pin DIP ATP3011F4-PU 買った

つい、アクエストのオンラインストアでポチってしまいました。新らしいほうのやつです。

配送はヤマト速達便でしたので、普通に郵便受けに入ってましたのです。

ATMega328 におしゃべりする機能がプログラム済みな石ですな。UARTやI2C、SPI(スレーブ)などでしゃべらせたいメッセージを投げてやると音声にしてくれます。AVR マイコンなので、Arduino uno に差してみるとか部品屋さん独自のマイコン評価ボードキットとかに差したらすぐ使えますね。

ちょこっと遊びたいたいけどネタが。天体観望とかするときに、時間しゃべらせる時計とかは重宝するのですが最近行けてないですしね。アプリケーションはのんびり考えましょう。その前に動作確認ですな。

AVR Studio5 Beta2 が来たのでインストールした

AVR Studio5 Beta2 が来ました。

基本的にプロジェクト作成などの基本部分は問題ないようです。

あとは、以前失敗した AVRISP MKII, STK500, JTAGICE MKII のファームウエア更新です。

今回はJTAGICEMKII のみ失敗して、AVRISP MKII, STK500 は更新出来ました。
AVRISP MKII

STK500

JTAGICE MKII

AVR Studio5 は一旦削除

こんな短かい話しは Twitter で十分やろという話もありますが、 Blog の記事数があまりにも寂しいのでここで。

まぁ、今日も ATMEL も一応確認しましたが3月11日版のベータバージョンのままでんがな、ご紹介ビデオとか更新するのもいいんですけど本番リリースしてくれー。少なくとも私の家の Windows XP SP3 クリーンインストール状態で動かんぞ。

ということで、一旦削除しましたという愚痴。

 

AVR Studio 5.0 Beta をインストールしましたが AVRISP MKII のファーム更新に失敗した

ATMEL のサイト久しぶりに見に行ったら、AVR Studio 5.0 Beta があったので Windows XP に導入してみました。

そうしましたところ、私のところの環境では

  • Microsoft .NET Framework 4.0 Full Profile
  • Microsoft Visual Studio Isolated Shell 10.0
  • AVR Jungo USB Driver

が必要と言わました。そのまま [Install] ボタンで全部インストールしてくれました。で、AVR Studio 5.0 Beta を起動しますと、 4.18 とは違って今時のアプリケーションのようなメインウィンドウが表示されました。

ちなみに、このバージョンはToolchain も含まれているので gcc も一緒にインストールされています。8ビットAVRマイコン用は gcc-4.5.1、 32ビットAVRマイコンは gcc-4.4.3 のようです。

んで、AVR ISP MK II のファームアップデートをやってみます。

プログラマー側は、1.d で、AVR Studio5.0 Beta には 1.e が提供されているようですね。これはアップデートしてみようとボタンをポチりましたが、

トラップを拾ったみたいでVisual Studio のデバックする? と聞いてきました。何回かやってみましたがファームの更新は出来ませんでした。

壊れたままではいやなので、AVRISP MKII を 手動でファーム更新モードにして、 AVR Studio 4.18 でファームの上書きしてOKにしました。

やっぱベータ版ですね。

こわいので、JTAGICE のファームアップデートのテストは正式版リリース後ですね。