Ви не увійшли.
Сторінки 1
Вот код:
#include <Keypad.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#define printByte(args) write(args);
int Cursor = 0;
uint8_t heart[8] = {0x0,0xa,0x1f,0x1f,0xe,0x4,0x0};
const byte ROWS = 4;
const byte COLS = 4;
char keys[ROWS][COLS] = {
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
byte rowPins[ROWS] = {9,8,7,6};
byte colPins[COLS] = {5,4,3,2};
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
void setup(){
Serial.begin(9600);
LiquidCrystal_I2C lcd(0x27, 16, 2);
lcd.init(); // инициализация ЖК дисплея
lcd.backlight(); // включение подсветки дисплея
lcd.createChar(3, heart); // создаём символ «сердце» в 3 ячейке памяти
lcd.home();
}
void loop(){
char key = keypad.getKey();
if (key){
Serial.println(key);
if (key == 1){
25 lcd.print(1);
Cursor =+ 1;
27 lcd.setCursor(Cursor, 0);
}else if (key == 2){
29 lcd.print(2);
Cursor =+ 1;
31 lcd.setCursor(Cursor, 0);
}else if (key == 3){
33 lcd.print(3);
Cursor =+ 1;
35 lcd.setCursor(Cursor, 0);
}else if (key == 4){
37 lcd.print(4);
Cursor =+ 1;
39 lcd.setCursor(Cursor, 0);
}
}
}
На 39, 37, 35, 33, 31, 29, 27, 25 не распознает lcd
Неактивний
Попробуйте другие библиотеки, их для LiquidCrystal_I2C как минимум 3. Две в IDE, одна NEWLiquidCrystal_I2C - нужно устанавливать вручную.
А еще нужно знать АДРЕС контроллера на шине I2C, даже несмотря что он один. Смотрите какой адрес у Вашего контроллера и как он устанавливается. Или поищите сканер I2C адресов.
Остання редакція LynX (2018-07-09 14:25:04)
Неактивний
Сторінки 1