0
Θέλω την βοήθεια σας. Στο παρακάτω κλασικό παράδειγμα τι αλλαγές θα πρέπει να κάνω ώστε να στείλω έναν αριθμό float ή long;
Επίσης πως μπορώ να στείλω τον ίδιο αριθμό σε δυο διαφορετικά slave ταυτόχρονα;
master
Κώδικας:#include <Wire.h> void setup() { Wire.begin(); // join i2c bus (address optional for master) } byte x = 0; void loop() { Wire.beginTransmission(4); // transmit to device #4 Wire.write("x is "); // sends five bytes Wire.write(x); // sends one byte Wire.endTransmission(); // stop transmitting x++; delay(500); }
slave:
Κώδικας:#include <Wire.h> void setup() { Wire.begin(4); // join i2c bus with address #4 Wire.onReceive(receiveEvent); // register event Serial.begin(9600); // start serial for output } void loop() { delay(100); } // function that executes whenever data is received from master // this function is registered as an event, see setup() void receiveEvent(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 } int x = Wire.read(); // receive byte as an integer Serial.println(x); // print the integer }