「PIC AVR 工作室」サイトの日記的なブログです。
サイトに挙げなかった他愛ないことを日記的に書き残してます。
PIC AVR 工作室 ブログ



この間手に入れたSparkFunのMP3 Player Shieldの
SDカード部分を弄り回すのに、SparkFunサイトの
MP3 Player Shieldページのサンプルで使われている
SdFatライブラリじゃなくて、Arduino公式サイトの
SDライブラリを使って弄りたいので、とりあえず
サンプルスケッチを実行してみることに。

まずはCardInfoから。

どのサンプルスケッチについても、SPI通信用の
CS信号の扱いで2点注意が必要。注意ってほどの
ことじゃないんだけど、数あるSDカードソケット
搭載のシールドについて、それぞれCS信号が
接続されているコネクタがことなること。

MP3 Player Shieldなら9番ピンに繋がっているので
スケッチ中でCSピンを指定しているところについて
9番を指定するように修正。

もう一つの注意点は、10番ピンをCS信号用に使わない
にしても、10番ピンは出力に指定しておかないと
いけないってこと。サンプルスケッチ上はことごとく
10番ピンを出力に設定しているのでそのままで使えば
よし。

で、なんでこんな制約が有るんだろうと調べてみる。
多分Arduinoのライブラリ云々って話じゃなくて、
AVRのSPI通信機能由来じゃないかと。

山根さん本を引っ張り出してきてSPIの項を見てみる。
やっぱりSPIの/SS信号ピン(PB2)についてはマスター
モードで使う場合に制約が書かれてる。曰く、
/SS信号(PB2)を入力モードにしてLOW信号が入力
されると、スレーブとして設定されてSPI通信の
受信を待つ状態になるとのこと。逆に言えば
入力ピンになっててもLOWにならなければいい
ってことなんだろうけど、いずれにしてもチップに
搭載されているハードウェアSPI機能を使うなら、
PB2端子(デジタル10番)は自由にならないので、
出力固定で開放にしておけばよいかと。


で、スケッチ上のCS信号用端子を9番に指定して
アップロード。結果はサクッと出てきた。
カードの種類、フォーマット形式、容量、ファイル一覧。

サクッと出てきたので読み書きも試してみる。
まずはDatalogger。センサーからの入力をテキスト
ファイルとしてロギングしてくれる内容。

アップロードして、終わったら直後にシリアルモニタ
を開いてみたら、タイミングがよくなかったようで、
シリアルモニタを開くと同時に自動でリセットが
掛かった結果、正常にファイルがクローズされずに
FATを破壊したみたい。元々入れてあったMP3ファイル
はファイル名が破壊されちゃって変な名前になって
いるし、おかしな文字列のファイルも作られちゃってる。
一旦フォーマット。

再度やり直してみた。とりあえずok。ただこのスケッチ、
終了条件が無いままひたすらロギングしている内容
なので、いつ止めたら良いのかワカラナイ。実行する
のがちょっと怖いスケッチ。あと、Stringオブジェクト
の扱いはこれで良いのかな?デストラクタを明示的に
呼び出してないんだけど、そういう場合ちゃんと
消えるの?ヒープを使い切って暴走とかしないの?

とりあえずdatalog.txtっていう名前のファイルは
出来たので、次にDumpFileを実行してみる。

普通に中身が表示される。バッチリ。

Filesやlistfilesも動かしてみる。ソースに書かれた
処理内容どおりの動きが見て取れてバッチリ。


SDライブラリのSDカードの扱いは相当簡単に行える
ことはよく判ったナリ。あとはMP3デコーダチップ
を初期化したり、データストリームを送ったり、
ボリウムを調整したり、そのあたりの弄り方を
アレコレやろう。


http://akizukidenshi.com/catalog/g/gK-05489/
秋月からPINフォトダイオード使用簡易放射線量
モニターキットが3700円。↓これかぁ。
http://www.eleki-jack.com/extra-cq/cat144/

安いのは良いんだけど、こういうフォトダイオード
で拾うタイプってシンチレータは要らないのかな?
フォトダイオードで受けたカウントって、Svに
単純計算できるような物なのかな?本誌を読めって
ことか…。

3700円っていうのは安いんだけど、真田さんなら
きっとこう言うだろうな。
 「こんなものが役に立つ日が
   来て欲しくなかった…。」


パラパラと時間があるときに眺めてたんだけど、
http://weblearningplaza.jst.go.jp/
JSTのeラーニングプラザの
http://weblearningplaza.jst.go.jp/cgi-bin/user/lesson_start.pl?course_code=687&lesson_code=5468&now_course=687&type=force
ここ。昇圧/降圧チョッパのことが解説されてて
解りやすかった。で、昇降圧チョッパのことも
触れられてて、やっぱりこれだと0Vから電源電圧以上
まで昇降圧出来るっていう話で「そうかぁ!」
なんだけど、やっぱ電圧は逆転しちゃうんだよなぁ。

この出力を安定化せずに使うならそれはそれで
良いのかもしれないんだけど、電圧が逆転してる
場合、どうやって出力電圧をフィードバック
させたら良いのやら…。
電圧の検出はともかく、スイッチ動作の制御に
フィードバックする方法をどうしたらよいものやら。
やっぱ、1冊本を買っておこうか…。




コメント ( 0 )