Добрый День! Пробовал ли кто-нибудь соединять Arduino -> Iskra JS по примеру Arduino -> Arduino ? Соединял Arduino Mega (Master)-> Iskra JS (Slave) 21 (SCL) -> B8 (SCL) 22 (SDA) -> B9 (SDA) Код Arduino Mega (Master) Код (C++): #include <Wire.h> void setup() { Wire.begin(); // join i2c bus (address optional for master) } byte x = 0; void loop() { Wire.beginTransmission(8); // transmit to device #8 Wire.write("x is "); // sends five bytes Wire.write(x); // sends one byte Wire.endTransmission(); // stop transmitting x++; delay(500); } Помогите написать код для Iskra JS (Slave) для получения данных от Arduino!
Рабочий пример Iskra JS (Mastrer)->Arduino(Slave) Arduino Код (C++): #include <Wire.h> int received; void setup() { Wire.begin(8); Wire.onReceive(receiveCallback); Wire.onRequest(requestCallback); Serial.begin(9600); } void loop() { delay(100); } void receiveCallback(int howMany) { while (1 < Wire.available()) { // loop through all but the last char c = Wire.read(); // receive byte as a character Serial.print(c); // print the character } received = Wire.read(); // receive byte as an integer Serial.print("receiveCallback= "); Serial.println(received); // print the integer } void requestCallback() { uint8_t buffer[1]; buffer[0] = received; Serial.print("requestCallback= "); Serial.println(buffer[0]); Wire.write(buffer, 1); } Iskra JS Код (Javascript): I2C1.setup({sda: B9, scl: B8, bitrate: 400000}); // Передача пакета данных var s = 8; console.log("sended= ",s); var w = I2C1.writeTo(0x8, s); // Приём данных setTimeout(function() { var r = I2C1.readFrom(0x8, 1)[0]; console.log("received= ",r); }, 5); Соединение Arduno Mega -> Iskra JS 20 -> B9 (SDA) 21 -> B8 (SCL)