0

我有一个带有这些 Nextion 显示器的 Arduino MEGA。我创建了一个不错的显示器,我的目标是显示模拟输入。但是我注意到这个显示器不能显示小数(使用数字“小部件”)。所以我使用“文本”小部件来做到这一点,不幸的是它不起作用,有人知道为什么吗?

#include "Nextion.h"
#define RES 1023
#define AREF 5
int voltage_pin=A0;
int raw_voltage;
double voltage;
String voltage2;

void setup() {
  Serial.begin(9600);
}

void loop() {
  raw_voltage=analogRead(voltage_pin);
  voltage=raw_voltage*AREF/RES;
  Serial.print("n3.val=");
  Serial.print(raw_voltage);
  Serial.write(0xff);
  Serial.write(0xff);
  Serial.write(0xff);
  String voltage2=String(voltage);
  Serial.print("t10.txt=");
  Serial.print(voltage2);
  Serial.write(0xff);
  Serial.write(0xff);
  Serial.write(0xff);
  delay(100);
}

提前致谢!:)

4

3 回答 3

0

这可能会有所帮助:

value1 = analogRead(A1);

  vout1 = (value1 * AREF) / 1023.0; 

  vin1 = vout1 / (R2 / (R1 + R2));

  memset(buffer, 0, sizeof(buffer));

  dtostrf(vin1,5, 2, buffer);

  t4.setText(buffer);

  vin1 = map(vin1, 8, 15, 0, 100);

  send_ProgressBar("j2", vin1);
于 2017-03-19T20:25:16.877 回答
0

您可以使用 Xfloat 小部件并以与数字相同的方式发送值,但您需要在 nextion 编辑器上更改参数“vvs0”和“vvs1”,以便小部件调整值。例如,如果要显示值 2.53,请将其乘以 100,然后将参数“vvs0”设置为 1,将“vvs1”设置为 2。

于 2019-12-15T23:48:20.347 回答
0

如果您使用的是文本对象,则命令应该是 Serial.print("n3.txt=\"yourtext\"");

于 2018-10-08T13:41:42.857 回答