2008年01月29日

I2C もどき!

時間がたつのは早いものです。
今年ももう1/12が過ぎようとしています。
昨年から続けているATTiny2313を使ったI2Cインターフェースに
よる7SEG LEDのドライバですが、やっとのことでそれらしく
仕上がってきました。
結論から言うと、I2CではなくI2Cモドキです。
使用している言語であるBASCOM−AVRにはI2Cのマスター機能と
してのコマンドがあり、これを使ってスレーブ側のプログラム
を作って色々悩みながら進めてきましたが、どうしてもデータ
の取りこぼしがあり、約1ヶ月の試行錯誤の末の結論は、マス
ター側のコマンドには何かの癖があるようで、これも独自に
プログラムを作ってやることによって、無事動作を開始しまし
た。
マスターもスレーブも自分で作ったプログラムなので、正確に
I2Cの仕様に合わせる必要はなく、不必要で複雑な部分はカット
して、作り上げました。
これにより、ロータリーエンコーダーでカウントした値を、I2C
モドキで8桁の7SEG LEDドライバに送信して、目的の周波数表示
が行えるようになりました。
メインダイヤルノブを回転し、それ結果として周波数表示が
変化する様子を録画してみました。
あまり綺麗な映像ではありませんが。

MOV00516.MPG.AVI
posted by jn3xby at 23:07| Comment(0) | TrackBack(0) | AVR&BASIC

2008年01月03日

謹賀新年 今年の自作品

DSC00394.jpg    
遅ればせながら、明けましておめでとうございます。
自作品といっても完成品ではありません。
最近、検討を続けているI2CによるI/Fです。
今回は、秋月の青色7SEG LEDを使って周波数表示用に
ATTiny2313でのI2CスレーブI/Fを検討し、8桁のスタティック
表示基板を作りました。
Tiny2313 1個で2個の7SEG LEDを駆動していますので
8桁駆動で全部で4個の2313を使用しています。
4個といっても、1個¥120ですから、非常に安いI2C7SEG LED
ドライバーということになります。
将来の実装を考え、表示側とドライブ側(2313側)の2枚基板
構成としました。

DSC00397.jpg DSC00398.jpg


とりあえず4PIN(Vdd、GND、SCK、SDA)で表示ができるよう
になりました。
いつものように、基板を作ってからプログラムを作ったのです
が、正月の酒のせいでプログラムを作るのに時間が掛かりまし
た。実装用には、これからの詰めが必要です。

DSC00399.jpg DSC00400.jpg

MOV00402.MPG
posted by jn3xby at 23:07| Comment(0) | TrackBack(0) | AVR&BASIC