ds18b20 и i2c oled не отображается минус температуры

Sipkomax

✩✩✩✩✩✩✩
6 Дек 2019
8
3
Ткните пожалуйста носом почему не отображается знак минус при отрицательной температуре(nano, 18b20, oled128*64):
Код:
#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS 10 // номер пина к которому подключен DS18B20
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
#include <OLED_I2C.h>
OLED  myOLED(SDA, SCL, 8); // 8pin - SDA , 9pin - SCL
extern uint8_t RusFont[]; // Русский шрифт
extern uint8_t MegaNumbers[]; // Подключение больших шрифтов
extern uint8_t SmallFont[]; // Базовый шрифт без поддержки русских символов.
void setup()
{
  sensors.begin();
  myOLED.begin();
  Serial.begin(9600);
}
void loop()
{
 
sensors.requestTemperatures();
myOLED.clrScr(); // очищаем экран
myOLED.setFont(RusFont); // Устанавливаем русский шрифт
myOLED.print("Ntvgthfnehf", CENTER, 0); // Выводим надпись "Температура"
myOLED.setFont(SmallFont);
myOLED.print("sipkomax", CENTER, 55); // вывод текста
myOLED.setFont(MegaNumbers);
myOLED.print(String(sensors.getTempCByIndex(0) , 1), CENTER, 9);   // Отображение температуры
myOLED.update();
delay(2000);
}
 

Старик Похабыч

★★★★★★★
14 Авг 2019
4,266
1,303
Москва
1) Вывести температуру в монитор порта. Она с минусом ?
2) На дисплей вывесим текст в виде строки с минусом "-123.4" . Вывелось с минусом ?
3) Взять температуру и перевести ее в строку. Посмотреть код минуса. Совпадает с 45 ?
 
  • Лойс +1
Реакции: Wan-Derer и poty

Sipkomax

✩✩✩✩✩✩✩
6 Дек 2019
8
3
1) Вывести температуру в монитор порта. Она с минусом ?
2) На дисплей вывесим текст в виде строки с минусом "-123.4" . Вывелось с минусом ?
3) Взять температуру и перевести ее в строку. Посмотреть код минуса. Совпадает с 45 ?
Спасибо! На улице все время была плюсовая долго не мог проверить. В общем была проблема в библиотеке oledI2c, а именно в шрифте MegaNumbers был закодирован пробел. Поменял на
0x18,0x28,0x2D,0x0E,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x1E,0x1E,0x1E,0x1E,0x1E,0x1E,0x1E,0x1E,0x1E,0x1E,0x1E,0x1E,0x1E,0x1E,0x1E,0x1E,0x1E,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // -
и всё стало отлично!