arduino控制数码管读取温度值并闪烁时数码管十位受初始值影响,初始值十位是什么则显示的就是什么
时间: 2024-03-16 12:41:15 浏览: 28
在使用 Arduino 控制数码管读取温度值并闪烁时,如果数码管十位受初始值影响,那可能是因为你在控制数码管的程序中没有正确地处理初始值对计算结果的影响。
假设你的初始值为 25 度,那么如果当前温度为 26 度,你需要让数码管的个位显示 6,十位显示 2。但是如果你没有正确地处理初始值对计算结果的影响,那么如果初始值十位是 2,那么无论当前温度是多少,数码管的十位都会显示为 2,因为计算出来的十位数值与初始值是一样的。
为了解决这个问题,你可以在计算数码管显示数值时,先将读取到的温度值减去初始值,然后再将得到的差值分别除以 10 和取模 10,分别得到数码管的十位和个位数值,这样就可以避免初始值对计算结果的影响了。例如:
```c++
float temperature = readTemperature(); // 读取温度值
int initialTemperature = 25; // 初始温度值为 25 度
int temperatureDiff = (int)(temperature - initialTemperature); // 温度差值
int tens = temperatureDiff / 10; // 十位数值
int ones = temperatureDiff % 10; // 个位数值
display(tens, ones); // 在数码管上显示温度值
```
在上面的示例代码中,我们先计算出当前温度值与初始温度值之间的差值,然后再将差值分别除以 10 和取模 10,得到数码管的十位和个位数值,最后将数码管的数值显示出来。这样就可以避免初始值对计算结果的影响了。
阅读全文