ЖК-дисплей, отображающий странный текст
Я делаю проект, который требует, чтобы ввод с клавиатуры отображался на ЖК-дисплее.
lcd.print()
отображается в правильном виде, но когда я нажимаю символы на клавиатуре, они заменяются странными символами.
Мы будем признательны за любую помощь.
Вот код:
void setup()
{
Serial.begin(9600);
Serial.println("LCD test with PWM contrast adjustment");
pinMode(13,OUTPUT);
analogWrite(6,Contrast);
lcd.begin(16,2);
pinMode(buzzer, OUTPUT);
lcd.print(" Electronic ");
Serial.print(" Electronic ");
lcd.setCursor(0,1);
lcd.print(" Keypad Lock ");
Serial.print(" Keypad Lock ");
delay(2000);
lcd.clear();
lcd.print("Enter Ur Passkey:");
Serial.println("Enter Ur Passkey:");
lcd.setCursor(1,0);
for(int j=0;j<4;j++)
EEPROM.write(j, j+49);
for(int j=0;j<4;j++)
pass[j]=EEPROM.read(j);
}
@Kritika Kapoor, 👍0
Обсуждение2 ответа
Я думаю, вам следует использовать 48 вместо 49.
48 — это символ ASCII, равный 0. Если к нему добавить число от 0 до 9, вы получите символы ASCII от «0» до «9».
(и небольшое примечание: Enter Ur Passkey:
содержит более 16 символов; также более «профессионально» не создавать сленговые тексты, чтобы попытаться подогнать его, почему бы не использовать Enter Пароль:
вместо этого?
придерживайтесь одного типа переменных, чтобы избежать путаницы
Итак, если вы придерживаетесь байтового (uint8_t) типа клавиатуры:
uint8_t keys[4][3] = {
{1,2,3},
{4,5,6},
{7,8,9},
{0xF,0xA,0xB} // F-* B-#
}
затем вы можете сохранить его в EEPROM как байт и прочитать как байт. Это предотвратит путаницу. ваш код, который вы не показываете (здесь каждый может написать один из них быстрее, чем скачать его отсюда) уже переводит числа в числа, а затем вы выращиваете их в символы с более высоким значением
- Печать string and integer LCD
- Ошибка: "'lcd' does not name a type" при использовании библиотеки LiquidCrystal.
- Запись значения на 7-сегментный дисплей max7219
- Как сделать динамическое меню с подменю ( Arduino mega или Arduino Uno)
- Два Arduino управляют ЖК-дисплеем
- Как прочитать расстояние до проходящего объекта?
- Я пытаюсь сделать что то вроде видеоигры с Arduino UNO
- Нужна помощь с программированием ЖК-дисплея для моего проекта
Итак, где в вашем коде вы работаете с клавиатурой? Я не вижу ни одной строки, которая имела бы какое-либо отношение к клавиатуре., @AnT