在 Arduino 上显示超过 1 个小数位的温度读数
Displaying temp reading on an Arduino with more than 1 decimal digit
我有一个代码示例可以帮助我显示温度:
#include <OneWire.h>
#include <DallasTemperature.h>
#include <OLED_I2C.h>
#define ONE_WIRE_BUS 10
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
OLED myOLED(8, 9, 8); // 8pin - SDA , 9pin - SCL
extern uint8_t RusFont[];
extern uint8_t MegaNumbers[];
extern uint8_t SmallFont[];
void setup() {
sensors.begin();
myOLED.begin();
}
void loop() {
sensors.requestTemperatures();
myOLED.clrScr();
myOLED.setFont(RusFont);
myOLED.print("Ntvgthfnehf", CENTER, 0);
myOLED.setFont(SmallFont);
myOLED.print("iarduino.ru", CENTER, 55);
myOLED.setFont(MegaNumbers);
myOLED.print(String(sensors.getTempCByIndex(0), 1), CENTER, 9); // Displaying temp
myOLED.update();
delay(100);
}
如何让显示器显示多于一位的小数位?还是受设备限制?
尝试将 , 1 更改为 , 2。
这将告诉 Arduino 你想用两位小数打印它。
例如:
myOLED.print(String(sensors.getTempCByIndex(0), 2), CENTER, 9);
我有一个代码示例可以帮助我显示温度:
#include <OneWire.h>
#include <DallasTemperature.h>
#include <OLED_I2C.h>
#define ONE_WIRE_BUS 10
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
OLED myOLED(8, 9, 8); // 8pin - SDA , 9pin - SCL
extern uint8_t RusFont[];
extern uint8_t MegaNumbers[];
extern uint8_t SmallFont[];
void setup() {
sensors.begin();
myOLED.begin();
}
void loop() {
sensors.requestTemperatures();
myOLED.clrScr();
myOLED.setFont(RusFont);
myOLED.print("Ntvgthfnehf", CENTER, 0);
myOLED.setFont(SmallFont);
myOLED.print("iarduino.ru", CENTER, 55);
myOLED.setFont(MegaNumbers);
myOLED.print(String(sensors.getTempCByIndex(0), 1), CENTER, 9); // Displaying temp
myOLED.update();
delay(100);
}
如何让显示器显示多于一位的小数位?还是受设备限制?
尝试将 , 1 更改为 , 2。 这将告诉 Arduino 你想用两位小数打印它。 例如:
myOLED.print(String(sensors.getTempCByIndex(0), 2), CENTER, 9);