在 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);