// Библиотека для работы с текстовым дисплеем по шине I²C #include // Создаём объект для работы с дисплеем // В параметрах передаём I²C-адрес дисплея, кол-во строк и символов LiquidCrystal_I2C lcd(0x38, 16, 2); // Создаём символ динозаврика в двоичной системе BIN byte dino[8] = { 0b00000, 0b00111, 0b00111, 0b10110, 0b11111, 0b01010, 0b01010, 0b00000 }; // Создаём символ кактуса в двоичной системе BIN byte cactus[8] = { 0b00100, 0b00101, 0b10101, 0b10101, 0b10111, 0b11100, 0b00100, 0b00000 }; // Создаём символ сердца в двоичной системе BIN byte heart[8] = { 0b00000, 0b01010, 0b11111, 0b11111, 0b11111, 0b01110, 0b00100, 0b00000 }; // Константы для хранения адресов символов из таблицы знакогенератора constexpr byte LCD_ICON_DINO = 0x00; constexpr byte LCD_ICON_CACTUS = 0x01; constexpr byte LCD_ICON_HEART = 0x02; void setup() { // Инициализируем дисплей lcd.init(); // Включаем подсветку lcd.backlight(); // Добавляем собственный символы в ячейки знакогенератора lcd.createChar(LCD_ICON_DINO, dino); lcd.createChar(LCD_ICON_CACTUS, cactus); lcd.createChar(LCD_ICON_HEART, heart); // Выводим на дисплей строки и созданные символы lcd.setCursor(0, 0); lcd.print("I "); lcd.write(LCD_ICON_HEART); lcd.print(" Arduino! "); lcd.setCursor(0, 1); lcd.write(LCD_ICON_DINO); lcd.setCursor(5, 1); lcd.write(LCD_ICON_CACTUS); lcd.setCursor(8, 1); lcd.write(LCD_ICON_CACTUS); lcd.setCursor(13, 1); lcd.print("\x02"); } void loop() { }