Arduino和Nodemcu之间的串行通信



我正在尝试使用arduino uno中的模拟引脚A0读取电压值,并将读取电压传输到Nodemcu,但在NodeMcu上获得的电压与Arduino侧的电压不同。 在Arduino的5伏电压中,我在Nodemcu上只得到4伏。

我已经使两个草图的延迟相等,即使尝试没有任何延迟还尝试连接两个设备的接地引脚

                          ARDUINO CODE

  #include <SoftwareSerial.h>
  SoftwareSerial s(5,6);

  void setup() {
  s.begin(9600);
  Serial.begin(9600);
  }

  void loop() {
  // read the input on analog pin 0:
  int ADCdata = analogRead(A0);
 float voltage = (ADCdata * 0.0048828125);
 Serial.println(ADCdata);
 Serial.println(voltage);
 if(s.available()>0)
  {
   s.write(voltage);
  }
 delay(1000);
 }
                         NODEMCU CODE
    #include <SoftwareSerial.h>
    SoftwareSerial s(D6,D5);

    void setup() {
    s.begin(9600);
    Serial.begin(9600);
    }
    void loop() {
    s.write("s");
    if (s.available()>0)
    {
    data=s.read();
    Serial.println(data);
    }
     delay(1000);
   }

我会将浮点数据作为字符串发送:

s.println(value)

这将附加一个换行符来标记字符串的末尾。

在接收端,读取行并转换为浮点数。

float value = s.parseFloat();

最新更新