Arduino 我在连接字符串和int时遇到问题
我有下面的代码来读取光传感器,将其转换为勒克斯,并将其发送到我的SmartThings云。 最终,我希望将一个值发送到SmartThings,格式为Arduino 我在连接字符串和int时遇到问题,arduino,Arduino,我有下面的代码来读取光传感器,将其转换为勒克斯,并将其发送到我的SmartThings云。 最终,我希望将一个值发送到SmartThings,格式为lux.110 void checkLux() { float logLux = analogRead(lightPIN) * logRange / rawRange; int luxValue = pow(10, logLux); String statusUpdate = "lux." + luxValue; Serial.
lux.110
void checkLux() {
float logLux = analogRead(lightPIN) * logRange / rawRange;
int luxValue = pow(10, logLux);
String statusUpdate = "lux." + luxValue;
Serial.println(statusUpdate);
smartthing.send(statusUpdate);
delay(1000);
}
上面的代码向串行监视器输出一些奇怪的字符组合,并且不打印lux。或者是价值。
如果我添加这一行String luxString=“lux。”代码>并修改下面的行,一切都很好。关于为什么需要单独声明此字符串的任何想法。根据文件,两者都可以正常工作
此外,如果在这段代码中有任何关于变量节省的建议。我还不太擅长。 < P>因为ARDUINO只使用C++,大多数C++函数也会工作,所以不要限制自己。
显然,字符串构造函数不支持数字,您必须首先使用String()函数转换它们,如图所示。
或者,我认为您可以附加如下字符串:
String statusUpdate = "lux.";
statusUpdate += luxValue;
如图所示,
这与使用String的concat函数相同
statusUpdate.concat(luxValue);
<> P>因为ARDUINO只使用C++,大多数C++函数也会工作,所以不要限制自己。
显然,字符串构造函数不支持数字,您必须首先使用String()函数转换它们,如图所示。
或者,我认为您可以附加如下字符串:
String statusUpdate = "lux.";
statusUpdate += luxValue;
如图所示,
这与使用String的concat函数相同
statusUpdate.concat(luxValue);
<> P>因为ARDUINO只使用C++,大多数C++函数也会工作,所以不要限制自己。
显然,字符串构造函数不支持数字,您必须首先使用String()函数转换它们,如图所示。
或者,我认为您可以附加如下字符串:
String statusUpdate = "lux.";
statusUpdate += luxValue;
如图所示,
这与使用String的concat函数相同
statusUpdate.concat(luxValue);
<> P>因为ARDUINO只使用C++,大多数C++函数也会工作,所以不要限制自己。
显然,字符串构造函数不支持数字,您必须首先使用String()函数转换它们,如图所示。
或者,我认为您可以附加如下字符串:
String statusUpdate = "lux.";
statusUpdate += luxValue;
如图所示,
这与使用String的concat函数相同
statusUpdate.concat(luxValue);
您可以使用concat函数statusUpdate.concat(luxValue)
这不能解决您的问题吗?@ahaltindis这是一个答案,请放在答案部分。您可以使用concat函数statusUpdate.concat(luxValue)
这不能解决您的问题吗?@ahaltindis这是一个答案,请放在答案部分。您可以使用concat函数statusUpdate.concat(luxValue)
这不能解决您的问题吗?@ahaltindis这是一个答案,请放在答案部分。您可以使用concat函数statusUpdate.concat(luxValue)
这不能解决您的问题吗?@ahaltindis这是一个答案,请放在答案部分。