0

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

1 回答 1

1

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

s.println(value)

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

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

float value = s.parseFloat();
于 2019-04-09T13:22:17.347 回答