Дисплейчик 0.96 128x64, например. Хочу на нем сектор нарисовать со стрелочкой, бегающей от моей цифры и прочие подобные показометры.
какая такая библиотека кроме знания арифметики нужна )))
Да, например такой.
Дак а чо изобретать велосипед, люди уже сто раз прорисовали
еще и арифметику вспоминать…
ладно, соглашусь, не барское это дело )))
Вот в библиотечке для него и есть всё необходимое … ну и с арифметикой дружить надо
Дакчо, библиотеки нет такой? Или примера простого? Ну ладно.
Можете дать ссылку на пример такого вот показометра, 0-6? само то для меня.
А нахрен тогда ардуина, если все купить можно?
?? я библиотеку спрашиваю, или пример программки для рисования стрелочных приборов на графическом дисплее, при помощи ардуины. Покупать ничего не предполагал.
Ты же не новичок, а поиском пользоваться не желаешь. Почему?
/////////////////// кнопка "стрелочный прибор"
#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
Ну хотелось услышать от реально юзавшего! Найдешь кучу всего, а там один гемор может быть. Потому и спросил у тех, кто сам делал.
А за ссылку гранд сэнкс!
На старом форуме есть моя тема, кажется “Имитация шкал приборов…”
/////////////////// индикатор "стрелочный прибор"
#include <OLED_I2C.h>
OLED myOLED(SDA, SCL);// А4,A5
extern const unsigned char schkala_A[];
int t=3;// пауза между считываниями потенциометра
int str=51;//длина стрелки в пикселях
float a=0.00;// переменная для угла поворота стрелки
void setup()
{
myOLED.begin();
myOLED.invert(0);//инверсия цвета
}
void loop()
{
myOLED.drawBitmap(0, 0,schkala_A, 128, 64);// рисование шкалы
a=-PI*(1023-analogRead(A0))/1023;//угол поворота стрелки прибора в зависимости от полученных с потенциометра данных
myOLED.drawLine(63, 61, 63+cos(a)*str, 61+sin(a)*str);// рисование стрелки
myOLED.update(); delay(t);
}
картинка шкалы (файл - ris.c):
#include <avr/pgmspace.h>
const unsigned char schkala_A[]=PROGMEM {
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,0X80,
0X80,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,0X08,0X48,0X4C,
0XCC,0XF8,0XB8,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,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,0X81,0XC3,0XE1,
0XB9,0X9F,0XCF,0X80,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,0X02,0XE6,0XF4,
0XE4,0X07,0X03,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,0X80,0X60,
0X38,0XF8,0X70,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,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X0C,0X3C,0X78,0XE0,0X80,0X00,0X00,0X30,0X60,0X80,0X00,
0X80,0X98,0XE0,0XC0,0XC0,0X43,0X7C,0X40,0X60,0X60,0X26,0X38,0X20,0X20,0X3F,0X3F,
0X3F,0X20,0X20,0X26,0X3E,0X60,0X60,0X40,0X78,0X4F,0XC0,0XC0,0XC0,0XB8,0X80,0X00,
0X00,0XE0,0X30,0X00,0X00,0X80,0XC0,0XF0,0X3C,0X1C,0X00,0X00,0X00,0X03,0X03,0X02,
0X02,0X0F,0X0F,0X02,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,0X60,0X60,0XF0,0XE0,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X80,0X00,0X00,
0X10,0X30,0X60,0XC0,0XC6,0X6C,0X38,0X10,0X19,0X0F,0X0F,0X04,0X06,0X02,0X01,0X01,
0X01,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,0X01,0X01,
0X01,0X02,0X06,0X04,0X0E,0X0F,0X19,0X10,0X30,0X7C,0XC6,0X80,0XC0,0X30,0X10,0X00,
0X00,0X80,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0XC0,0X60,0X60,0X60,0X60,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X18,0X18,0X1F,0X1F,0X18,0X00,0X00,
0X00,0X00,0X10,0X30,0X70,0X60,0XE0,0XC0,0XC0,0X80,0X08,0X18,0X90,0X61,0X33,0X1A,
0X0C,0X02,0X03,0X01,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,0X00,0X00,0X01,0X03,0X02,0X0C,0X1E,
0X33,0X61,0X90,0X18,0X08,0X88,0X80,0XC0,0XC0,0X60,0X70,0X30,0X30,0X00,0X00,0X30,
0X33,0X23,0X22,0X3E,0X1C,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,0X80,0X80,0X08,0X18,0X10,0XD1,0X31,0X0F,0X03,0X01,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,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X03,0X0F,0X73,0XD1,0X10,0X08,0X08,0X80,0X80,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0XC0,0XC0,0X60,0XC0,0XC0,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X10,0X10,0X11,0X11,0XF1,0X0F,0X01,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,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X03,0X1F,0XF1,0X11,0X11,0X10,0X10,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X80,0XC0,0X60,0X60,0X60,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X0F,0X3F,0X30,0X20,0X30,0X1F,0X06,0X00,0X20,0X30,0X30,0X30,0X30,
0X30,0X31,0X31,0X31,0X33,0X3F,0X23,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,0X20,0X30,0X38,
0X30,0X20,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,0X3F,0X33,0X33,0X33,0X31,0X31,0X30,0X30,
0X30,0X30,0X30,0X20,0X20,0X00,0X04,0X3F,0X32,0X22,0X36,0X3E,0X08,0X00,0X00,0X00
};
Кажется она как-то по другому называлась… Зачетная тема, там даже я отметился, несмотря на всю мою лень.
Старый форум сейчас мне показывает фак (просроченный/инвалидный сертификат), так что не посмотреть.
У меня и этот форум открывается через раз и без картинок
У меня не открывается ничего. Вхожу по истории старых обращений к сайту.
…Эх, вот если б в истории было обращение к старому сайту…
Мне это нужно было для упр. блока поворотной антенны, добавил там точку, которая показывает куда антенна реально повернута:
Вот она висит
Я же теперь радист, как мне без поворотной антенны
Так что большое спасибо за программку!
Пожалуйста.