Управление цветами на LCD-дисплее
- Войдите на сайт для отправки комментариев
Доброго времени суток! Имеется следующая ситуация:
Собираю тепловизор на базе датчика температуры MLX90614. Хочу поточечно вывести полученные результаты на LCD-дисплей (2.8 TFT LCD Shield). Использую библиотеку UTFT. Но там всего 2 варианта использования цветов:
1) Использовать зашитые в библиотеку цвета (VGA_BLACK, VGA_RED и т.д.)
2) Прописывать цвет вручную в формате RGB
Выводимое значение имеет десятичную систему счисления.
Вопрос следующий: можно ли изменять цвет пикселя в зависимости от полученного значения? Если можно, то как это сделать?
P.S. Безусловно, есть вариант вручную ввести массив со значениями температуры и их соответсвующими значениями в палитре RGB, но программа получится сильно громоздкой.
Посмотреть исходники библиотеки, или просто почитать про систему кодирования RGB565 - и вопросы отпадут сами собой. По поводу вывода пиксела определённым цветом - емнип, в UTFT есть drawPixel. Кстати сказать то, как вы хотите это сделать - по быстродействию будет пичалька.
Использую библиотеку UTFT. Но там всего 2 варианта использования цветов:
1) Использовать зашитые в библиотеку цвета (VGA_BLACK, VGA_RED и т.д.)
2) Прописывать цвет вручную в формате RGB
Первое - для упрощения элементарной графики (типа нарисовать желтую линию на синем фоне), а второе - универсальное решение. Соответственно, можно пользоваться только вторым вариантом. И если у Вас цветов много (цветовой континуум), о первом варианте можно вообще забыть.
Выводимое значение имеет десятичную систему счисления.
Это как?
Вопрос следующий: можно ли изменять цвет пикселя в зависимости от полученного значения? Если можно, то как это сделать?
Ну так выше написано. В Вашей формулировке "Прописывать цвет вручную в формате RGB".
И, кстати, DIYMan все правильно написал. Просто постарайтесь внимательно прочитать и понять каждое его предложение.
P.S. Безусловно, есть вариант вручную ввести массив со значениями температуры и их соответсвующими значениями в палитре RGB, но программа получится сильно громоздкой.
вероятно, именно так и надо делать. Насчет громозкости программы я бы не беспокоился - вряд ли табличка получится больше сотни значений RGB
вероятно, именно так и надо делать. Насчет громозкости программы я бы не беспокоился - вряд ли табличка получится больше сотни значений RGB
Кстати - да.
Табличное представление функций - совершенно стандартный способ для микроконтроллеров.
Ну и для длины таблички оценка вполне адекватная: максимальная разрядность цвета - 6, т.е. имеем 64 градации яркости для зеленого. Для остальных цветов 5 разрядов, т.е. 32 градации яркости. Т.е. если будем делать в пределах одной гаммы, таблица получится не длиннее 64, а если вдоль спектра - при более или менее равномерных шагах (32 на цвет) получится 160 значений.
Ну и для длины таблички оценка вполне адекватная: максимальная разрядность цвета - 6, т.е. имеем 64 градации яркости для зеленого.
ну я просто исходил из того, что больше сотни предустановленных значений температуры вряд ли имеет смысл кодировать, все равно разводы на экране тепловизора - это лишь картинка, точных данных от нее никто не ждет
Если оценки, выполненные, исходя их различных предположений, совпадают, то с большой вероятностью он верные.