Arduino和Nodemcu之间的串行通信

问题描述 投票:0回答:1

我正在尝试使用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);
   }
arduino nodemcu serial-communication
1个回答
1
投票

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

s.println(value)

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

在接收方,读取该行并转换为浮动。

float value = s.parseFloat();
© www.soinside.com 2019 - 2024. All rights reserved.