昨日の続き。
http://brown.ap.teacup.com/nekosan0/1199.html
ソースプログラム自体は昨日のうちに一応書くだけ
書き終えておいたので、今日は実際にチップに流し込んで
テストしてみることに。
そういえば、win-avrでインラインアセンブラ使うのは
今回が初めてだったな。まぁ、引数とか戻り値とか関係ない
処理だから、普通のアセンブラと大きな差無し。AVRの
アセンブラは楽チンでいいな。
さて実機で流してみよう…と思った矢先、ふと気づいちゃう。
パルスを出すタイミングで出力ピンをオンにっていう
プログラムを書いたんだけど、よく考えたら38Khzで
変調かけないとIRセンサーが拾ってくれないんだよなぁ…と。
で、急遽タイマーモジュールでCTCを使ってOC0Aから38Khz
で変調掛けた状態で出力させるように修正。
ペンタックスのコンパクトデジカメを出してきて、tiny2313
のボードにhexを流し込んで、さぁ実行!
シャッターが切れない…。うーーーん。一応LEDは光っている
みたいなんだけど、なんだろう?
オシロを当ててタイミングを眺めてみる…合ってるっぽい。
微妙なタイミングのズレで認識してくれないってことか???
そんなにシビアなタイミングじゃぁ無いだろうと思うんだけど。
ぼやいたっていいじゃない
うごかないんだもの みつを
あ、もしや…と思って調べなおしてみると、例のarduinoで
拾った信号幅は10us単位だった…1us単位だと思ったよ…。
一桁狂ってれば、そりゃ反応してくれないよな。
急いでプログラムを修正。再実行。
シャッター切れた。よし、よし。
さらに、K-7を持ち出してきてレリーズのモードを変えながら
同様に試してみる。
1回送信してシャッター→もう1回送信してシャッター終了って
いうモードも、長押しの間だけシャッター切れるというモード
も、どちらもうまく行った。シメシメ。
今回は外付けのトランジスタとか使わずtiny2313の出力ピンの
バッファを使ったので、あまり電流が流せない…。
で、いざやってみたら、せいぜい数十センチしか届かないみたい。
まぁ、いざとなればオープンコレクタで外部にトランジスタ
繋げば一桁大きい電流流せるから、そんな手でもいいでしょう。
ソフトと回路は決まったので、あとは箱とかをどうするか
だな。単4~単5マンガン電池2本か、3Vのボタン電池1個だけで
動かしたいな。やっぱフリスクかな?オイラ普段ミンティア党
なんだよな…
|