マイコンを使った工作
I2CUI
最終更新:
匿名ユーザー
-
view
#hatena_star
I2C UI Slave
機能
スイッチ、ロータリエンコーダ情報をマスタに送信、マスタからのコマンドでLED、ブザー制御をするI2Cスレーブ。ATtiny2313使用。
製作情報
- 回路図
- データシート
- プログラムリスト
設計・製作のポイント
ポイント
動作仕様
WRITE
*コマンド | *機能 |
'b' | ブザーON |
'B' | ブザーOFF |
'x' | LED0を点灯する |
'X' | LED0を消灯する |
'y' | LED1を点灯する |
'Y' | LED1を消灯する |
'z' | LED2を点灯する |
'Z' | LED2を消灯する |
'w' | LED3を点灯する |
'W' | LED3を消灯する |
'l' 0nH | {LED3, LED2, LED1, LED0}の状態制御 |
'c' | 固定音長のクリック音を出力する |
'C' nnH | nnHの音長のクリック音を出力する |
'r' | ロータリエンコーダ、イネーブル |
'R' | ロータリエンコーダ、ディセーブル |
READ
*コマンド | *戻りデータバイト量 | *機能 |
'K' | 1 | スイッチのコマンドを取得 |
'S' | 1 | スイッチの現在状態を取得 |
'E' | 1 | ロータリエンコーダのコマンドを取得 |
'L' | 1 | ブザー、LEDの状態を取得 {0, 0, BUZ, 0, LED3, LED2, LED1, LED0} |
スイッチのビットアサインは、{PD3, PD2, PD1, PD0, PB3, PB2, PB1, PB0}
LEDのビットアサインは以下
LEDのビットアサインは以下
LED0 | PD4 |
LED1 | PD5 |
LED2 | PD6 |
LED3 | PB4 |
BUZZ | PB6 |
FAQ
コメント
- FS01版をアップロード。 -- Chuck (2009-09-12 11:11:15)
- FS01版で入力ポートのプルアップを忘れていた。修正したFS02版をアップロード。 -- Chuck (2009-09-12 17:56:37)
- なんかうまいこと動かない。 -- Chuck (2009-09-16 18:43:51)
- マスタのメインループからの連続ポーリングに耐えられないみたいだなぁ。 -- Chuck (2009-09-16 19:02:06)
- 問題の原因がわかりました。近々対策します。 -- Chuck (2009-09-18 04:16:54)
- さまざまな変更を加えてFS03版をアップロードしました。 -- Chuck (2009-09-19 16:30:26)
- アップロードされたファイルはどこで見れるんでしょうか? -- らいほう (2012-06-14 13:35:07)
- このページの下の方に「添付ファイル」とあるところからダウンロードできると思います。 -- Chuck (2012-07-25 09:26:29)