こんにちは、nodejs を使用してスレーブ arduino からコードを読み取ろうとしていますが、firmata を介して arduino に接続されていますが、読み取りで正しい値を取得できません。
このパッケージを使用していますhttps://www.npmjs.com/package/firmata
また、マスターからスレーブにデータを送信しようとしましたが、正しく動作します。
スレーブ arduino コード:
#include <Wire.h>
void setup() {
Wire.begin(8);
Wire.onRequest(requestEvent);
}
void loop() {
delay(500);
}
void requestEvent() {
uint8_t buffer[4];
buffer[0] = 12;
buffer[1] = 23;
buffer[2] = 39;
buffer[3] = 78;
Wire.write(buffer, 4);
}
Firmata コード:
let firmata = require("firmata");
board = new firmata('COM3', {samplingInterval: 1000});
board.on("ready", function() {
this.i2cConfig();
this.i2cRead(8,4, function(data) {
console.log("received data");
console.log(data);
});
});
私が得る応答は次のとおりです。
received data
[189,255,255,255]