Raspberry Pi と BeagleBone  2012/11/15 2012/11/19 追加
home
'12/11/15 初回


Raspberry Pi とBeagleBoneのI2C編。
BeagleBoneで記入していますが、端子など変更でRPiも可能です。たぶん。
Linux関係のことは(も)詳しく解らないので,パーミッション・ユーザーとかは各自で確認してください。

i2c使用ピン SCL:P9-19 SDA:P9-20 使用デバイス番号i2c-3。
公式?の説明が、youtubeに有るので見てください。

いつものショート寸前のテスト風景↓
Beaglebone i2c
上に乗っているコネクタの紙は、ネット上で見た物にピン番号を書き加えた物です。

i2c関係インストール
apt-get install i2c-tools。

何が繋がっているか見てみる
i2cdetct -r 3

0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- UU -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- 48 -- -- -- 4c -- -- --
50: -- 51 -- -- UU UU UU UU -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

ずれちゃっていますが、0x48と0x4cと0x51に何か有ります。
0x48は、LM75の温度センサー。0x4cは、SA56004ED。0x51は、秋月のrtcです。

LM75を見てみる
i2cdump 3 0x48 w (wは、ワードオプションと思う。)

0,8 1,9 2,a 3,b 4,c 5,d 6,e 7,f
00: 0016 0000 004b 0050 ffff ffff ffff ffff
08: 0016 0000 004b 0050 ffff ffff ffff ffff
以下省略。

レジスタ 0x00が、0x1600です。
なので,室温は、22℃だと思います。

SA56004EDを見てみる (間違い再度修正)
i2cdump 3 0x4c

0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef
00: 16 19 80 80 08 46 00 46 00 00 00 00 00 00 00 00 ?????F.F........
10: f8 00 00 00 00 00 00 00 00 55 00 00 00 00 00 00 ?........U......
20: 55 0a 60 00 00 00 00 00 00 00 00 00 00 00 00 00 U?`.............

以下省略。

レジスタ 0x00が、0x16と0x22が,0x60。(上位3bit有効)
なので,室温は、22.375℃だと思います。
ソース LM75
ほんとに正しいのかは不明ですが,参考にしてください。
ググれば,有ると思います。私は、ネット上物のを削ってテストしました。