На ЖК-дисплее Arduino отображаются только 16 символов в строке 1 и от 41 до 46 символов в строке 2

когда я использую <LiquidCrystal.h библиотека и lcd-write() он показывает только первые 16 символов в первом ряду и начинается с 41-го символа во втором ряду.

Я начал с lcd.begin(16,2),

Вот пример кода.
Результатом этого кода будет:
строка 1: 0123456789112345

строка 2: 4123456789

#include <LiquidCrystal.h>
LiquidCrystal lcd(2,3,4,5,6,7);
void setup() {
// put your setup code here, to run once:
lcd.begin(16, 2);
Serial.begin(9600);
lcd.print("0123456789");
lcd.print("1123456789");
lcd.print("2123456789");
lcd.print("3123456789");
lcd.print("4123456789");
}
void loop() {
}

Это что ожидаемая функциональность?
Есть способ, чтобы я смог отобразить 17-й символ во втором ряду.

0

Решение

Да, это ожидаемое поведение. Библиотека позволяет управлять ЖК-модулями на основе HD44780. Этот ЖК-контроллер может отображать до 40 символов на 2 строки. При использовании меньшего модуля строки по-прежнему хранятся в тех же местах в DDRAM: первая строка начинается в местоположении 0, вторая строка начинается в местоположении 40. Для получения дополнительной информации см. Таблицу данных:

https://www.sparkfun.com/datasheets/LCD/HD44780.pdf

Вы можете использовать всю память и прокручивать ее влево и вправо, поскольку 16-символьный дисплей является окном в DDRAM. Вы можете использовать scrollDisplayLeft и scrollDisplayRight для сдвига дисплея влево и вправо. Эти функции изменяют, какой адрес DDRAM используется для первого символа в крайнем левом углу экрана. Обе строки прокручиваются в унисон.

0

Другие решения

Я не совсем уверен, почему ваш Arduino имеет такое поведение, но вы можете передавать полную строку в вашем случае 16 символов каждый раз, когда вы печатаете и смотрите, как это работает, а также анализировать переменные и передавать их в метод .print.

Другой способ — установить вручную данные в нужной строке, используя setCursor() метод, этот метод помогает вам перемещать и печатать в нужной позиции, он получает два параметра столбца и строки, я дам вам URL с дополнительной информацией.

https://www.arduino.cc/en/Tutorial/LiquidCrystalSetCursor

0

По вопросам рекламы [email protected]