Arduino和Nextion显示十进制数字

时间:2016-10-26 19:42:58

标签: arduino nextion

我有一个带有其中一个Nextion显示器的Arduino MEGA。我创建了一个很好的显示器,我的目标是显示模拟输入。但是我注意到这个显示不能显示小数(使用数字"小部件")。所以我正在使用" text"要做到这一点的小部件,不幸的是它没有用,任何人都知道为什么?

#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);
}

提前致谢! :)

3 个答案:

答案 0 :(得分: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);

答案 1 :(得分:0)

如果您正在使用文本对象,则命令应为 Serial.print(“ n3.txt = \” yourtext \“”);

答案 2 :(得分:0)

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

相关问题