ЖК-дисплей печатает странные символы, когда я помещаю оператор печати в настройку после операторов pinMode.
#include "LiquidCrystal.h"
const int rs = 7, en = 6, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7)
void setup() {
Serial.begin(9600);
lcd.begin(16, 2);
pinMode(22, INPUT_PULLUP); // Геркон - Ряд1
pinMode(24, INPUT_PULLUP); // Геркон - Ряд2
pinMode(26, INPUT_PULLUP); // Геркон - Ряд3
pinMode(28, INPUT_PULLUP); // Геркон - Row4
pinMode(32, OUTPUT);
digitalWrite(32, HIGH);
lcd.setCursor(0, 0);
lcd.print("hello");
}
Когда я запускаю приведенный выше код, на ЖК-дисплее появляются странные символы. Я удалил все соединения с контактами, определенными в pinMode, и оставил только соединения ЖК-дисплея, но сохранил операторы pinMode и digitalWrite в коде, но по-прежнему получаю странные символы. Но когда я удаляю операторы pinMode и digitalWrite из своего кода, ЖК-дисплей работает нормально. Может ли кто-нибудь мне помочь?
Изменить:
Произошла еще одна странная вещь: я удалил все операторы pinMode и digitalWrite, в моей настройке() были только Serial.begin() и lcd.begin(), а у меня были только соединения с ЖК-дисплеем. Теперь я поместил этот код для печати в функцию под названием lcdprintMove(), и были и другие функции, которые выполняли другие задачи, когда я запускал его. Я получал странные символы на ЖК-дисплее, но когда я удалил все другие функции, ЖК-дисплей печатается нормально. Из этого я смог сделать вывод, что эта проблема не может быть связана с поставкой, а должна быть чем-то другим. Но я до сих пор не могу этого понять.
Проблема решена
Сегодня я прокомментировал все утверждения digitalWrite и загрузил программу, и она заработала! Итак, я собираюсь подключить ЖК-дисплей к отдельному Arduino и обмениваться данными последовательно. Кто-то предложил решение: заземлить колпачок и усилить питание контакта 5 В. Можете ли вы объяснить это более подробно?
Принципиальная схема Примечание: Rs подключен к контакту 7, а E к контакту 6
@Roshan, 👍2
Обсуждение1 ответ
Конденсатор между 5 В и GND эффективно действует как небольшая батарея. Когда возникает внезапная потребность в относительно большом токе, система может получить эту дополнительную небольшую величину от конденсатора и не испытывать падения напряжения.
- Кнопка двойного состояния Nextion
- mcufriend 2.4 tft мега 2560
- ЖК-дисплей 16x2, показывающий блоки под текстом
- Печать содержимого файла SD - карты на ЖК-дисплее
- Использование модуля JYETech 2.4 Inch LCD Display Screen Module с Arduino?
- lcd.clear не работает с Serial.begin(9600) на Arduino Mega 2560
- ST7920 и u8g2 используют только часть дисплея 128x64.
- Как сделать динамическое меню с подменю ( Arduino mega или Arduino Uno)
Как подключен ваш ЖК-дисплей? Покажите пожалуйста схему., @JRobert
Что подключено к контакту 32?, @Majenko
все контакты, определенные в pinMode, подключены к герконам., @Roshan
К чему подключены герконы? Попробуйте отключить их, затем снова запустите программу в обоих направлениях. Если на этот раз все будет работать лучше, ток, потребляемый одной или несколькими цепями герконовых переключателей в сочетании с током ЖК-дисплея, может превысить емкость драйверов выводов и снизить напряжение так, что ЖК-дисплей не сможет реагировать должным образом., @JRobert
На самом деле я только что попробовал это, я удалил все и оставил только соединения ЖК-дисплея, но сохранил операторы pinMode и digitalWrite там, но все равно получаю странные символы. но когда у меня есть только операторы lcd в setup(), все работает нормально. Я не могу понять, что происходит., @Roshan
Я заметил такое поведение, когда ЖК-дисплей не может потреблять достаточный ток. Вы уверены, что у вас достаточно питания? Вы всегда можете добавить разъем на землю и контакты +5 В в качестве буфера. Когда я замечал это раньше, обычно это происходило тогда, когда я перемещал сервопривод одновременно с записью на ЖК-дисплей. ЖК-дисплеи кажутся весьма чувствительными в этом отношении., @Beachhouse
Какой конденсатор мне следует использовать? Также, чтобы уточнить, говоря «выводы +5 В в качестве буфера», вы имели в виду, что я должен буферизовать вывод +5 В для большей мощности, используя буферные микросхемы, такие как ULN2003A?, @Roshan
* «Я удалил все и оставил только подключения ЖК-дисплея, но сохранил операторы pinMode и digitalWrite, но по-прежнему получаю странные символы». * Отредактируйте свой вопрос, добавив эту важную информацию. Вопрос должен стоять сам по себе, без необходимости читать комментарии. Без этой информации ваша принципиальная схема кажется неполной. После добавления этой информации я готов проголосовать за возобновление этого открытия., @per1234
Питание +5 В ЖК-модуля подается непосредственно от источника питания или от одного из контактов +5 В Arduino? В последнем случае попробуйте подать питание напрямую., @JRobert
это от контактов 5В ардуино, @Roshan