#include <LiquidCrystal_I2C.h>
#include <EncButton.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
EncButton<EB_TICK, 3> btn(INPUT_PULLUP);
byte myX[] = {0x00, 0x00, 0x11, 0x0A, 0x04, 0x0A, 0x11, 0x00};
byte bell[] = {0x04, 0x0E, 0x0E, 0x0E, 0x1F, 0x00, 0x04, 0x00};
byte myV[] = {
B10001,
B10001,
B10001,
B10001,
B01010,
B01010,
B01010,
B00100
};
byte myA[] = {
B00100,
B00100,
B01010,
B01010,
B10001,
B11111,
B10001,
B10001
};
byte myD[] = {
B11100,
B10010,
B10001,
B10001,
B10001,
B10001,
B10010,
B11100
};
byte myI[] = {
B01110,
B00100,
B00100,
B00100,
B00100,
B00100,
B00100,
B01110
};
byte myM[] = {
B10001,
B11011,
B10101,
B10101,
B10001,
B10001,
B10001,
B10001
};
void setup()
{
lcd.init();
lcd.backlight();
lcd.setCursor(1, 0);
lcd.print("Hello, world !");
lcd.setCursor(4, 1);
lcd.print("Yahoo !");
delay(1000);
lcd.clear();
lcd.write(126);
lcd.print("Temp: ");
lcd.print(25.6);
lcd.print(223);
delay(1000);
lcd.clear();
lcd.createChar(0, myX);
lcd.home();
lcd.write(0);
delay(1000);
lcd.clear();
lcd.createChar(0, bell);
lcd.home();
lcd.write(0);
delay(1000);
lcd.clear();
lcd.setCursor(2, 0);
lcd.print("Press button");
lcd.setCursor(4, 1);
lcd.print("20 times");
lcd.home();
delay(1000);
}
void loop() {
btn.tick();
if (btn.isClick())
{
static int count = 0;
count++;
if (count <= 20)
{
lcd.home();
lcd.clear();
lcd.print("Counter: ");
lcd.print(count);
}
else
if (count <= 21)
{
lcd.home();
lcd.clear();
lcd.setCursor(5, 0);
lcd.print("Vadim");
lcd.createChar(0, myV);
lcd.createChar(1, myA);
lcd.createChar(2, myD);
lcd.createChar(3, myI);
lcd.createChar(4, myM);
lcd.setCursor(5, 1);
lcd.write(0);
lcd.write(1);
lcd.write(2);
lcd.write(3);
lcd.write(4);
count = 0;
}
}
}
uno:A5.2
uno:A4.2
uno:AREF
uno:GND.1
uno:13
uno:12
uno:11
uno:10
uno:9
uno:8
uno:7
uno:6
uno:5
uno:4
uno:3
uno:2
uno:1
uno:0
uno:IOREF
uno:RESET
uno:3.3V
uno:5V
uno:GND.2
uno:GND.3
uno:VIN
uno:A0
uno:A1
uno:A2
uno:A3
uno:A4
uno:A5
lcd1:GND
lcd1:VCC
lcd1:SDA
lcd1:SCL
btn1:1.l
btn1:2.l
btn1:1.r
btn1:2.r
Кнопка
r1:1
r1:2