我正在尝试使用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();