2015年10月24日土曜日

Intel Edisonと温度センサ(I2C)で温度取得 node.js編

Intel Edisonと温度センサ(I2C)にnode.jsを利用して温度取得をやったのでメモ

使用したセンサは秋月のコレ(M-06675)。

付属の細ピンヘッダを半田付けしてブレッドボードにさして使用した。

今回の回路図は下図の通り。


「J20pin2」を「M-06675」のVDD、「J17pin7」を「M-06675」のSCL、
「J17pin9」を「M-06675」のSDA、「J19pin3」を「M-06675」のGNDに繋ぐ。

今回のコードは以下の通り。

温度取得

var m = require('mraa'); //require mraa
console.log('MRAA Version: ' + m.getVersion()); //write the mraa version to the

x = new m.I2c(0);//「0」で「I2C-6」、「1」でI2C-1っぽい
x.address(0x48);//M-06675のバスアドレス

var buff = new Buffer(2);//16ビットのバッファを用意

periodicActivity();

function periodicActivity()
{
        buff = x.read(2);
        var tmp = buff[0] * 256 + buff[1];
        console.log(Math.floor(tmp/128) + "." + Math.floor(tmp%128*100/128));
        setTimeout(periodicActivity,1000);
}

実行すると1秒毎に温度が取得できる。

実行

>node i2c.js
MRAA Version: v0.7.2
24.81
24.81
24.81
25.25
26.50
27.0
27.37
26.87
26.31
26.12
25.93
25.75
25.62


1秒周期で温度を取得する。

温度センサに指を当ててみたところ、「24.81」から上昇し、
指を離すと「27.37」から下降したので上手く温度が取得できてるはず。

0 件のコメント:

コメントを投稿