#include OneWire ds(10); // Создаем объект OneWire для шины 1-Wire int n=0; int m=0; int k=0; #include #define ONE_WIRE_BUS 10 // номер пина к которому подключены DS18B20 OneWire oneWire(ONE_WIRE_BUS); DallasTemperature sensors1(&oneWire); #include OLED myOLED(8, 9, 8); // 8pin - SDA , 9pin - SCL extern uint8_t RusFont[]; // Русский шрифт extern uint8_t MegaNumbers[]; // Подключение больших шрифтов extern uint8_t MediumNumbers[]; extern uint8_t SmallFont[]; // Базовый шрифт без поддержки русскийх символов. void setup() { sensors1.begin(); myOLED.begin(); Serial.begin(9600); } void loop() { sensors1.requestTemperatures(); myOLED.setFont(RusFont); // Устанавливаем русский шрифт myOLED.print("Ntvgthfnehf", CENTER, 0); // Выводим надпись "Температура" myOLED.setFont(SmallFont); myOLED.setFont(MediumNumbers); myOLED.setPixel(0+m, 80-sensors1.getTempCByIndex(0)); // Включение указанного пикселя в буфере экрана myOLED.print(String(sensors1.getTempCByIndex(0) , 1), LEFT, 20); // Отображение температуры, с точностью до 1 знака, сверху 20 if (m == 127) { myOLED.clrScr();} if (k >= 2) {m=m+1; k=0; } else {k=k+1; } // добавляем по 1 для k, пока k не станет равно 10. Как станет, так смещаем график вправо на 1 пиксель. Меняя значение 5 можно изменять "масштаб" времени. if (m == 128) { m = 0; }; // как m равно 128, тогда обнуляем экран и в условии выше очищаем экран, через 127 циклов myOLED.update(); delay(100); }