Проблема заключается в том, что через некоторое время после загрузки новой прошивки в арду, на дисплее появляется какая-то полоска непонятно откуда взявшаяся. Как её убрать? Я чёт не вдупляю
C++:
#include "U8glib.h"
#include <OneWire.h>
float temperature = 0;
long lastUpdateTime = 0;
const int TEMP_UPDATE_TIME = 100;
OneWire ds(3);
U8GLIB_SH1106_128X64 oled(U8G_I2C_OPT_NONE);
void setup() {
oled.setScale2x2();
oled.setFont(u8g_font_6x12);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
digitalWrite(4, 0);
digitalWrite(5, 1);
}
void loop() {
oled.firstPage();
do {
detectTemperature();
write_to_oled();
} while ( oled.nextPage() );
delay(500);
}
void write_to_oled() {
oled.setPrintPos(0, 10);
oled.print(temperature, 1);
oled.print("c");
}
void detectTemperature() {
byte data[2];
ds.reset();
ds.write(0xCC);
ds.write(0x44);
ds.reset();
ds.write(0xCC);
ds.write(0xBE);
data[0] = ds.read();
data[1] = ds.read();
// Формируем значение
temperature = ((data[1] << 8) | data[0]) * 0.0625;
}