我正在尝试使用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);
}
答案 0 :(得分:1)
我将浮点数据作为字符串发送:
s.println(value)
这将追加一个换行符以标记字符串的结尾。
在接收方,读取行并转换为浮点数。
float value = s.parseFloat();