Имитация различных шкал на дисплее 128*64
- Войдите на сайт для отправки комментариев
Чт, 20/05/2021 - 21:42
#include <OLED_I2C.h> OLED myOLED(SDA, SCL); extern const unsigned char schkala_A[]; int t=30;// пауза между считываниями потенциометра void setup() { myOLED.begin(); myOLED.invert(1);//инверсия цвета } void loop() { int x =map(analogRead(A0), 0,1023, -1023, 0);//считывание данных с потенциометра и задание положения кадра шкалы myOLED.drawBitmap(x, 0,schkala_A, 1024, 64);// рисование кадра шкалы по координате x if(x<=-895){myOLED.drawBitmap(x+1024, 0,schkala_A, 1024, 64);}//условие закольцовки шкалы /// myOLED.clrRoundRect(51, -1, 81, 65); // прямоугольник многослойный -указатель шкалы myOLED.clrRoundRect(50, -1, 80, 65); myOLED.clrRoundRect(49, -1, 79, 65); /// myOLED.update(); delay(t); }
Озадачился рисованием имитаций шкал разных типов простеньким кодом. Подскажите идеи других типов шкал всяческих приборов для экранчика.
Ротор из Apple IOS.
Чем и как гифка сделана? Мне бы тоже надо, но все адско большое получается.
Снимаю на смартфон, сжимаю в видеомастере ролик, потом опять в нём открываю преобразованный ролик и жму кнопку "гиф". Потом гифку сжимаю без потери качества с помощью:
https://www.iloveimg.com/ru/compress-image/compress-gif
20-30 сек. ролика можно в форум вставить в виде гиф :-)
Скажу Вам как художник художнику-наилучший дизайн произростает из функционального назначения предмета дизайна, так что выдумывать ради того что бы выдумывать бессмысленно, а для такого типа шкалы посмотрите в сторону лимбов металлобрабатывающих станков, а кодик Ваш я свистну.
Скажу Вам как художник художнику-наилучший дизайн произростает из функционального назначения предмета дизайна, так что выдумывать ради того что бы выдумывать бессмысленно, а для такого типа шкалы посмотрите в сторону лимбов металлобрабатывающих станков, а кодик Ваш я свистну.
Да, пожалуйста.
Вот к нему массив картинки и сама картинка:
Спасибо, я имел в виду это:
Если ради интереса, то интересна шкала по типу такого трансивера: https://ur8lv.com/files/photos/1547509690.jpg
ЗЫ: Как шкалы делаете? Если не секрет.
Спасибо, я имел в виду это:
Не стёба ради, а для радости глаз - В данном предложении «ввиду» пишется слитно. Прошу прощения если оскорбил этим сообщением Ваши нежные чувства.
Согласен, мои извинения
В данном предложении «ввиду» пишется слитно.
Всё правильно он написал, "я имел в виду это" пишется раздельно.
https://ru.wiktionary.org/wiki/%D0%B8%D0%BC%D0%B5%D1%82%D1%8C_%D0%B2_%D0%B2%D0%B8%D0%B4%D1%83
https://russkiypro.ru/pravilnoe-pravopisanie-imel-v-vidu-ili-imel-vvidu/
Если ради интереса, то интересна шкала по типу такого трансивера: https://ur8lv.com/files/photos/1547509690.jpg
ЗЫ: Как шкалы делаете? Если не секрет.
Использую paint.net и layout40 - картинка размером 64*1024 пикселей. Не помню, давно использовал специальную рисовалку шкал, если найду попробую с ней.
Попробовал "стрелочную шкалу".
Круто!!! Красиво!
Спасибо за отзыв!
Рукоплескаю стоя
Жаль, что дисплей не цветной. Зелёный глаз стариков заставил бы плакать.
Попробую интерпретировать в белом цвете (жаль у китайцев нет зелёных экранчиков :-), интересный способ индикации у этой лампы .
https://www.youtube.com/watch?v=xkxg1P3dtkQ&t=36s
Без термометра шкалы - и ни туды и ни сюды.
Есть в оледах алиэкспресса монохром жёлтый, синий и зелёный... Но ядреный такой.
Жёлтый жду, синий видел, а зелёных таких маленьких не видел.
Попробовал, надо какой нибудь зелёный фильтр примерить снаружи.
Достойно, теперь кошачий глаз?
Из сообщения #12
А можно к нему массив картинки и саму картинку?
Спасибо.
Достойно, теперь кошачий глаз?
Нет, попробую песочные часы :-)
А можно к нему массив картинки и саму картинку?
Спасибо.
Вот картинка и массив.
Если ради интереса, то интересна шкала по типу такого трансивера: https://ur8lv.com/files/photos/1547509690.jpg
Тут обошлось без картинок - одна математика.
Прекрасно, радует что уже векторно-приятно видеть прогресс
А прогресс ли это? Все шрифты набиты картинками в библиотеках под экранчики. Буквы-цифры не повернуть и не масштабировать. И тем не менее по другому не делают.
Прогрессивный порыв :-) у меня уже был, но угас быстро:
http://arduino.ru/forum/processing/3d-primitivy-v-processing
Лиха беда-начало
Крутим песочную шкалу - время назад.
Попробую сделать песочные часы на миллис, чую будут сюрпризы.
Время "взат" - это круто. А как миллис при этом работает?
В этом примере (гифка) только "делей". Попробую в имитации часов, но перерисовка экрана, мне кажется, сломает миллис.
А я то думал, что это время взат идёт :-(
Крутим песочную шкалу - время назад.
lilik - тема просто огонь, спасибо!
lilik - тема просто огонь, спасибо!
Мне кажется у многих форумчан имеются в багаже опыта разные варианты визуализации данных на экранчиках. Просто интересно стало самому попробовать.
Миллис полон сюрпризов. Сделал часы на 30 сек. В 23 строке вместо 800 должно быть 1000 по идее, но тогда вместо 30 сек. считает 37 (сверял по секундомеру смартфона). Грешил на выполнение функции tschasi() и правда, если убрать её выполнение и в мониторе порта смотреть за сменой значений переменной t, то секунды идут "такт в такт" с проверочным секундомером.
Тогда стал смотреть на значения millis()-Y и millis()-Y1 после срабатывания условий - 1001 и 101 в основном, изредка 1002 или 103,108 проскакивают, а "секунда" получается 1,2сек. примерно. В итоге, для правильной работы часов на разных выдержках получилось значение 800 вместо 1000. Получается прорисовка экранчика крадёт время (такты?) у миллис?
Безусловно тут была тема недавно про интервалы времени можете почитать от уважаемого Det Simen https://github.com/DetSimen/Arduino_TimerList
lilik просто вы не понимаете как пользоваться millis и
у вас не там стоит
также не там
они должны быть первыми в цепочке.
Очень интересно. Наверное можно прикрутить и к большому экранчику какому-нибудь для отображения нескольких шкал параметров одновременно.
lilik просто вы не понимаете как пользоваться millis и
у вас не там стоит
также не там
они должны быть первыми в цепочке.
Гипотеза правильная, но неверная :-)
Попробовал и на 1000 и на 800. Итог тот же. 37 вместо 30 и 29,80 вместо 30 (0,2 сек. действительно скрадываются - но это грубая моя прикидка по измерениям на секундомере).
Значит причина в другом. Как то накрывают функции библиотеки этой, миллис - тазом. Может частота счётчика, может остановка счёта.
Очень интересно. Наверное можно прикрутить и к большому экранчику какому-нибудь для отображения нескольких шкал параметров одновременно.
У меня наоборот, была идея иконостаса из отдельных экранчиков, разбросанных по панели, например напечатанной на принтере.
lilik - форматируйте код перед выкладыванием, пожалуйста. Есть такая кнопка в ИДЕ - CTRL-T
И не надо экономить строчки, впихивая по несколько блоков на строку, как в строке 23. От этого размер скетча не меняется :)
Значит причина в другом.
В delay(5000)? Нет?
Значит причина в другом.
В delay(5000)? Нет?
Нет, часть строки
fl_1=
false
;tschasi(t-1);delay(5000);
поздняя добавка - она после отсчёта (высыпания песка)перечёркивает изображение часов крестом на 5 секунд, до нового цикла отсчёта.
Связанные с этим строчки 42-46 из поста 36.
Шкала - график онлайн, удобно отслеживать форму дрожания рук :-) и вообще как менялась величина во времени.
PS. А библиотека просто гробит миллис, об этом на форуме куча тем, но найти их можно только снаружи.
Ещё вариант визуализации данных - сетка календаря или периодическая таблица (может быть).
Еще несколько забавных идей:
С трансформацией интересно, надо попробовать !