de:esp:nodemcu_i2c

NodeMCU I²C Kommunikation

Die NodeMCU kommuniziert am einfachsten über die serielle Schnittstelle. In diesem Fall kann der serielle Monitor jedoch nicht gleichzeitig verwendet werden. I²C bietet eine einfache Lösung, damit die serial weiterhin verwendet werden kann.

Andere ähnliche Themen auf der Website:

NodeMCU I²C-Kommunikation mit Arduino

NodeMCU Seite:

#include <Wire.h>
 
void setup() {
 Serial.begin(9600); /* begin serial for debug */
 Wire.begin(D1, D2); /* join i2c bus with SDA=D1 and SCL=D2 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);
}

Arduino Seite:

#include <Wire.h>
 
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() {
 Wire.write("Hello NodeMCU");  /*send string on request */
}
  • de/esp/nodemcu_i2c.txt
  • 2022/04/21 15:00
  • ()