#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
// Массивы для создания кастомных сегментов больших цифр
byte bar1[8] = {B11111, B11111, B00000, B00000, B00000, B00000, B00000, B00000};
byte bar2[8] = {B11111, B11111, B00000, B00000, B00000, B11111, B11111, B11111};
byte bar3[8] = {B00000, B00000, B00000, B00000, B00000, B11111, B11111, B11111};
byte bar4[8] = {B11111, B11111, B11111, B11111, B11111, B11111, B11111, B11111};
byte bar5[8] = {B00000, B00000, B00000, B00000, B00000, B00000, B11111, B11111};
byte bar6[8] = {B11111, B11111, B11111, B00000, B00000, B00000, B00000, B00000};
byte bar7[8] = {B00000, B00000, B00000, B00000, B00000, B00000, B00000, B00000};
byte bar8[8] = {B11111, B11111, B11111, B11111, B11111, B00000, B00000, B00000};
// Функция отрисовки большой цифры 6
void drawSix(int x) {
lcd.setCursor(x, 0); lcd.write(4); lcd.write(2); lcd.write(2);
lcd.setCursor(x, 1); lcd.write(4); lcd.write(3); lcd.write(4);
}
// Функция отрисовки большой цифры 7
void drawSeven(int x) {
lcd.setCursor(x, 0); lcd.write(1); lcd.write(1); lcd.write(4);
lcd.setCursor(x, 1); lcd.write(7); lcd.write(7); lcd.write(4);
}
void setup() {
lcd.init();
lcd.backlight();
// Загружаем кастомные символы в память дисплея (максимум 8 штук)
lcd.createChar(1, bar1);
lcd.createChar(2, bar2);
lcd.createChar(3, bar3);
lcd.createChar(4, bar4);
lcd.createChar(5, bar5);
lcd.createChar(6, bar6);
lcd.createChar(7, bar7);
lcd.createChar(8, bar8);
lcd.clear();
// Рисуем цифру 6, начиная с 5-го столбца
drawSix(5);
// Рисуем цифру 7, начиная с 9-го столбца (оставляем пропуск между ними)
drawSeven(9);
}
void loop() {
// В loop ничего не нужно, так как число статичное
}