Передача данных между Nodemcu и Arduino uno r3

У меня проблема с совместным использованием данных датчиков между esp 8266(NodeMCU) и Arduino uno r3. Используя эти программы, строка легко переносится, но не может отправлять данные датчика, которые считываются arduino uno, должна ли использоваться функция bmp.readpressure()?

/*****Arduino_I2C_slave******/

#include <Wire.h>
#include <Adafruit_BMP085.h>
Adafruit_BMP085 bmp;
void setup() {
Wire.begin(8);                // join i2c bus with address #8
Wire.onReceive(receiveEvent); // register receive event
Wire.onRequest(requestEvent); // register request event
Serial.begin(9600);  // start serial for debug
}

void loop() {
delay(100);
}

//function that executes whenever data is received from //master
void receiveEvent(int howMany) {
while (0 < Wire.available()) {
char c = Wire.read(); // receive byte as a character
Serial.print(c);         // print the character
}
Serial.println();         // to newline
}


// function that executes whenever data is requested from //master


void requestEvent() {
//code not working
// int c= bmp.readPressure();  //Wire.write(c);    

Wire.write("Hello NodeMCU");//send string on request

// Wire.write(c);

}
/******** NodeMCU_I2C_slave*********/

#include <Wire.h>

void setup() {
Serial.begin(9600); /* begin serial for debug */
Wire.begin(D1, D2); /* join i2c bus with SDA=D1 and 
                                        SCL2 of NodeMCU */
}

void loop() {
Wire.beginTransmission(8); 
                       /* begin with device address 8 */
Wire.write("Hello Arduino");  /* sends hello string */
Wire.endTransmission();    /* stop transmitting */

Wire.requestFrom(8, 13); 
/* request & read data of size 13 from slave */
while(Wire.available()){
char c = Wire.read();
Serial.print(c);
}
Serial.println();
delay(1000);
}

0 ответов

Другие вопросы по тегам