Ошибка: "'lcd' does not name a type" при использовании библиотеки LiquidCrystal.
Я следую онлайн-руководству/курсу по Arduino и пытаюсь создать простой движущийся символ на ЖК-экране, но по какой-то причине получаю следующую ошибку: "ошибка: 'lcd' не указывает тип". Я использую симулятор Tinkercad, потому что USB-порты моего ПК недавно вышли из строя. Вот мой код:
#include <LiquidCrystal.h>
byte character[8] {
B01111,
B01111,
B01111,
B00110,
B01111,
B01111,
B01001,
} ;
LiquidCrystal lcd(12, 11, 2, 3, 4, 5);
lcd.createChar(0, character); // ошибка в этой строке
const int Lbtnpin = 6;
const int Rbtnpin = 7;
int Lbtnprev = HIGH;
int Rbtnprev = HIGH;
int pos = 0;
void setup(){
lcd.begin(16, 2);
lcd.clear();
pinMode(6, INPUT_PULLUP);
pinMode(7, INPUT_PULLUP);
}
void loop(){
lcd.clear();
int Lbtnstate;
Lbtnstate = digitalRead(6);
int Rbtnstate;
Rbtnstate = digitalRead(7);
if ((Lbtnprev == HIGH) && (Lbtnstate == LOW) && (pos > 0)) {
pos--;
}
if ((Rbtnprev == HIGH) && (Rbtnstate == LOW) && (pos < 16)) {
pos++;
}
lcd.setCursor(pos, 1);
lcd.write(byte(0));
Lbtnprev = Lbtnstate;
Rbtnprev = Rbtnstate;
}
@MeowMilk, 👍-1
1 ответ
Лучший ответ:
▲ 1
Вы не можете вызывать методы вне функции.
Переместите lcd.createChar(0, символ);
в setup
.
,
@Kwasmich
Смотрите также:
- Печать string and integer LCD
- Ошибка: invalid application of 'sizeof' to incomplete type 'int []' при попытке вычислить размер массива в библиотеке
- Глобальные переменные занимают много места в динамической памяти.
- Запись значения на 7-сегментный дисплей max7219
- Программирование Arduino Uno R3 для срабатывания реле каждые 24 часа
- Как сделать динамическое меню с подменю ( Arduino mega или Arduino Uno)
- Попытка сохранить файлы .wav с новым именем в каждом цикле.
- Как управлять двумя шаговыми двигателями и использовать ультразвуковой датчик вместе?