Можете ли вы активировать весь пиксель на ЖК-дисплее?

lcd

Я работаю над проектом, в котором я пытаюсь отображать уровень заполненного резервуара с помощью ультразвука, а затем отображать его на ЖК-дисплее 16x2. Я пытаюсь сделать это через все пиксели ЖК-дисплея, чтобы, когда уровень резервуара полон, активировались первые 5 пикселей (как это происходит, когда вы изначально подключаете ЖК-дисплей без какого-либо кода для него, все пиксели поворачиваются на, давая белые прямоугольники 16x2, как показано на рисунке ниже). Есть ли способ активировать весь пиксель на ЖК-дисплее?

, 👍2

Обсуждение

Вы можете определить свои собственные символы для отображения. Это то что ты хочешь?, @Majenko

@Majenko Нет. Моя проблема заключается в том, чтобы не отображать символы. Однако я хочу отобразить белые прямоугольники, как показано на рисунке. Есть ли код для активации всего пикселя прямоугольника?, @Zelreedy

Вы можете определить **своих** персонажей. Создайте персонажа, у которого есть все пиксели, которые вы хотите установить., @Majenko

@ Маженко О, понятно. Я предположил, что есть более простой способ, так как он просто активирует весь прямоугольный пиксель. Спасибо за вашу помощь!, @Zelreedy

Проверьте техническое описание вашего дисплея. Это должно дать вам предопределенные символы. Один из них может быть сплошным блоком., @Majenko

на этом изображении показаны все пиксели в первой активированной строке... промежуточных пикселей нет, @jsotola


2 ответа


3

ЖК-дисплей состоит из 32 символов, каждый из которых имеет размер 5x7 пикселей с промежутком в 1 пиксель между символами.

Нельзя ничего помещать в промежутки между символами, так как там просто ничего нет.

Но вы можете определить свои собственные символы, чтобы они помещались в прямоугольники размером 5x7 пикселей.

Некоторые варианты HD44780 имеют символ 255 в виде сплошного блока, но не все (это зависит от языка ПЗУ). Если у вас есть файл с этим символом, вы можете просто распечатать его с помощью lcd.print("\xff") или lcd.write(255). Если это не так, вместо этого будет напечатано ÿ. В этом случае вам придется определить свой собственный символ.

Одним из преимуществ определения собственных символов является то, что вы можете делать частичные блоки, чтобы получить более высокое разрешение. Вот пример:

Вы можете найти этот пример и соответствующий код здесь.

,

0

ЖК-дисплеи, подобные тому, что вы видите, отображают символы. Это все, что они делают. Вы не можете адресовать пиксели на дисплее.

И в качестве пояснения, вы говорите о блоках символов размером 5 на 7 пикселей на дисплее, как если бы символ был пикселем. Это не. Блок символов состоит из 5 x 7 пикселей.

Некоторые версии могут иметь предопределенный символ сплошного блока, как сказал Майенко в своем ответе. Вы можете напечатать столько сплошных блоков, сколько захотите.

Вы также можете определить один пользовательский символ, который будет отображать сплошной блок, и напечатать их столько, сколько хотите.

В качестве третьего варианта (опять же из превосходного ответа Маженко) вы можете определить 5 различных пользовательских символов, каждый из которых имеет разное количество заполненных столбцов пикселей. Затем вы можете написать код, который отображает сплошные блоки для всех, кроме последнего символа, а затем один из 5 частично заполненных пользовательских символов и получить более точное разрешение смоделированной гистограммы.

При всем при этом помните, что ЖК-дисплей может отображать только блоки размером 5x7 с пустым пространством между ними. ЖК-дисплей построен без каких-либо пикселей между символами, поэтому всегда будут пробелы.

Вы можете использовать и другие пиксельные дисплеи. (Я видел OLED-дисплеи, на которых можно управлять каждым символом по отдельности.)

,