#include <GyverOLED.h>
GyverOLED<SSD1306_128x64, OLED_NO_BUFFER> oled;
//GyverOLED<SSD1306_128x64, OLED_BUFFER> oled;
int pwm;
int value = 0;
int preval = value;
unsigned long tmr = 0;
void setup() {
Serial.begin(9600);
oled.init(); // инициализация
oled.invertDisplay(1); //Инвертирование дисплея
oled.fastLineH(3, 0, 128); // горизонтальная линия (y, x1, x2)
oled.setScale(3); // масштаб текста (1..4)
oled.setCursorXY(25, 20); // курсор
oled.print(" PWM");
oled.fastLineH(60, 0, 128); // горизонтальная линия (y, x1, x2)
delay(2000);
oled.invertDisplay(0);
oled.clear();
}
void loop() {
pwm = analogRead(0);
pwm = map(pwm, 0, 1023, 0, 255);
pwm = constrain(pwm, 0, 255);
analogWrite(9, pwm);
value = pwm;
value = map(value, 0, 255, 0, 100);
value = constrain(value, 0, 100);
oled.fastLineH(15, 0, 128); // горизонтальная линия (y, x1, x2)
oled.setScale(1); // масштаб текста (1..4)
oled.setCursorXY(50, 0); // курсор
oled.print("POWER");
oled.setScale(3); // масштаб текста (1..4)
oled.setCursorXY(45, 35); // курсор
oled.print(value);
if (preval != value){
oled.clear();
preval = value;
}
else{}
//Serial.println(preval);
}