这是英特尔运行加速度计(Grove 数字)的示例代码:
// Load accelerometer
var adxl345 = require('jsupm_adxl345');
// Instantiate on I2C bus
var adxl = new adxl345.Adxl345(0);
setInterval(function()
{
adxl.update(); // Update the data
var raw = adxl.getRawValues(); // Read raw sensor data
var force = adxl.getAcceleration(); // Read acceleration force (g)
var rawvalues = raw.getitem(0) + " " + raw.getitem(1) + " " + raw.getitem(2);
console.log("Raw Values: " + rawvalues);
console.log("ForceX: " + force.getitem(0).toFixed(2) + " g");
console.log("ForceY: " + force.getitem(1).toFixed(2) + " g");
console.log("ForceZ: " + force.getitem(2).toFixed(2) + " g");
}, 1000);
它构建并上传到 Edison Arduino 板,但在运行时会引发此错误:
ERROR: /home/root/.node_app_slot/main.js:10
ERROR: var adxl = new adxl345.Adxl345(0);
ERROR: ^
ERROR: Error: UPM Runtime Error: Adxl345: i2c.write() control register failed
at Object.<anonymous> (/home/root/.node_app_slot/main.js:10:12)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:935:3
有什么想法吗?加速度计连接到 I2C 端口。另一个传感器(温度)工作正常。