Ты же не новичок, а поиском пользоваться не желаешь. Почему?
/////////////////// кнопка "стрелочный прибор"
#include <OLED_I2C.h>
OLED myOLED(SDA, SCL); // А4,A5
extern const unsigned char schkala_A[];
int t = 50; // пауза между считываниями потенциометра
int str = 27; // длина стрелки в пикселях
float a = -PI; // переменная для угла поворота стрелки
float k = -PI / 48; // переменная изменения угла
void setup() {
pinMode (10, INPUT_PULLUP);//кнопка
myOLED.begin();
myOLED.invert(0);//инверсия цвета
myOLED.drawBitmap(32, 32, schkala_A, 64, 32); // рисование шкалы
myOLED.drawLine(63, 61, 63 + cos(a)*str, 61 + sin(a)*str); // рисование стрелки
myOLED.update();
}
void loop() {
if (digitalRead(10) == LOW) {
k = -k;
while (digitalRead(10) == LOW) {
a = a + k; if (a < -PI) {
a = -PI;
} if (a > 0.0) {
a = 0.0;
}
myOLED.drawBitmap(32, 32, schkala_A, 64, 32); // рисование шкалы
//a=-PI*(1023-analogRead(A0))/1023;//угол поворота стрелки прибора в зависимости от полученных данных
myOLED.drawLine(63, 61, 63 + cos(a)*str, 61 + sin(a)*str); // рисование стрелки
myOLED.update(); delay(t);
}
delay(t);
}
}
Отсюдава: Имитация шкал ssd1306 0,49" - #42 от пользователя lilik