#include <LiquidCrystal.h>
// Задайте пины, к которым подключен LCD
LiquidCrystal lcd(12, 11, 10, 9, 8, 7);
// Определите байты для пользовательских символов
byte heart[8] = {
0b00000,
0b01010,
0b11111,
0b11111,
0b01110,
0b00100,
0b00000,
0b00000
};
byte smile[8] = {
0b00000,
0b00000,
0b01010,
0b00000,
0b10001,
0b01110,
0b00000,
0b00000
};
byte man1[8] = { // Человечек с руками в стороны
0b00100,
0b10101,
0b01110,
0b00100,
0b01110,
0b00100,
0b00000,
0b00100
};
byte man2[8] = { // Человечек с руками вдоль тела
0b00100,
0b00100,
0b01110,
0b00100,
0b01110,
0b01110,
0b00000,
0b00100
};
void setup() {
// Инициализируйте LCD с размерами 16 столбцов и 2 строки
lcd.begin(16, 2);
// Загрузите пользовательские символы в CGRAM LCD
lcd.createChar(0, heart);
lcd.createChar(1, smile);
lcd.createChar(2, man1);
lcd.createChar(3, man2);
// Очистите LCD экран
lcd.clear();
// Выведите текст с сердечком и смайликом
lcd.setCursor(0, 1);
lcd.print("I");
lcd.write(byte(0)); // Сердечко
lcd.setCursor(3, 1);
lcd.print("Arduino");
// Выведите анимацию человечка во второй строке
lcd.setCursor(0, 0);
lcd.print("Wave: ");
}
void loop() {
// Анимация человечка
lcd.setCursor(6, 0);
lcd.write(byte(2)); // man1, руки в стороны
delay(300);
lcd.setCursor(6,0);
lcd.write(byte(3)); // man2, руки вниз
delay(300);
}