Arduino和Nodemcu之间的串行通信

时间:2019-04-09 12:11:26

标签: arduino nodemcu serial-communication

我正在尝试使用arduino uno中的模拟引脚A0读取电压值,并将读取的电压传输到Nodemcu,但在NodeMcu上获得的电压却没有与Arduino的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);
   }

1 个答案:

答案 0 :(得分:1)

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

s.println(value)

这将追加一个换行符以标记字符串的结尾。

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

float value = s.parseFloat();