| | |
| Shaos wrote: Кстати можно программно сделать "оттенки серого" ( точнее красного ; ) на моём светодиодном дисплее Для этого вместо показа одного байта на каждую 5-пиксельную площадку в течении времени T (как сейчас), показываем 2 байта: - первый в теченим времени T/2; - второй в течении времени T. В результате имеем, если A это логический уровень в соответствующем бите первого байта и B это логический уровень в соответствующем бите второго байта, Y=A/2+B или A=0 B=0 -> Y=0.0 A=1 B=0 -> Y=0.5 A=0 B=1 -> Y=1.0 A=1 B=1 -> Y=1.5 т.е. 4 уровня яркости на пиксел | |
| | |
чото не вышло - затемнять то оно затемняется, но не пропорционально времени отсвечивания
вот например как выглядит 100 шагов (как было раньше) против 25 шагов цикла подсветки (верхние три линии в слове "READY" опущены вниз и затемнены):
а вот так 100 шагов против 1
чисто для сравнения - средняя горизонталь это 50 шагов (в 2 раза короче, но не в 2 раза темнее!)
и сложения полноцвета и неполноцвета НЕ происходит - яркая точка просто забивает собой неяркую - получается тут только 3 градации яркости есть...
P.S. изменение цвета с красного на жёлтый произошло уже в телефоне - на глаз цвет абсолютно тот же (просто яркость ниже)
P.P.S. похоже на логарифмическую шкалу - можно 3 разных уровня подсвечивать 1 шаг, 10 шагов и 100 шагов (плюс чёрный когда нет подсветки), но выводить не 2 байта в лоб, а по уровням - сначала мигать слабыми пикселами - 1 шаг, потом средними - 10 шагов, потом яркими - 100 шагов:
~A&B -> слабое мигание (когда 0 в первом байте и 1 во втором)
A&~B -> среднее мигание (когда 1 в первом байте и 0 во втором)
A&B -> сильное мигание (когда 1 в обоих байтах)
где A - первый байт, B - второй байт