秋月電子通商で購入した12bit DAC, MCP4726をRaspberry Piに接続してI2C通信して電圧を出力する方法。
MCP4726搭載12ビットD/A変換モジュール
http://akizukidenshi.com/catalog/g/gK-07995/
MCP47X6 (X = 0, 8 bit; X = 1, 10 bit; X = 2, 12 bit)
Raspberry Piのコンソールで、
$ sudo i2cset -y 1 0x60 0x40 0xff 0xf0 i
とすると、0xFFF(12 bit 最大値)が出る。0x60はI2Cアドレスで、
$ sudo i2cdetect 1
で得られたアドレス。0x40は通常設定ということのよう。以下URLを参照。
http://www.bitwizard.nl/wiki/index.php/I2C_DAC
というよりデータシートをちゃんと読んだほうが良いかもしれないが、面倒なので読んでない。
あとの0xff 0xf0
のはじめの3 byteがデータ。
最後の i は i2cset でブロックデータを送るときに必要なやつ。
Pythonでやるときは、
*******************************
import smbus
bus = smbus.SMBus(1)
s= [0xff, 0xf0]
bus.write_i2c_block_data(0x60, 0x40, s)
*******************************
などとすると動作してくれる。
参考URL
http://wiki.erazor-zone.de/wiki:linux:python:smbus:doc
0 件のコメント:
コメントを投稿