#include <LiquidCrystal_I2C.h>
int SevenSeg_pin[] = {22, 23, 24, 25, 26, 27, 28, 29};
LiquidCrystal_I2C lcd(0x27, 16, 2);
byte Char0[8]{
B10000,
B10010,
B10101,
B10010,
B10000,
B10000,
B01000,
B00111
};
byte Char1[8]{
B00000,
B00000,
B00000,
B00000,
B00000,
B00011,
B00100,
B01000
};
byte Char2[8]{
B00000,
B00000,
B00000,
B00000,
B00000,
B01110,
B10001,
B00000
};
byte Char3[8]{
B00001,
B00010,
B00100,
B00100,
B01110,
B11011,
B01110,
B01110
};
byte Char4[8]{
B00001,
B10101,
B00001,
B10101,
B00001,
B00001,
B00010,
B11100
};
byte Char5[8]{
B10000,
B01001,
B00110,
B00000,
B00000,
B11000,
B00100,
B00010
};
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
for(int pin = 0; pin < 8; pin++)
{
pinMode(SevenSeg_pin[pin], OUTPUT);
}
lcd.init();
lcd.backlight();
lcd.createChar(0, Char0);
lcd.createChar(1, Char1);
lcd.createChar(2, Char2);
lcd.createChar(3, Char3);
lcd.createChar(4, Char4);
lcd.createChar(5, Char5);
Serial.print("UTS:22.11.5187");
}
void loop() {
// put your main code here, to run repeatedly:
if(Serial.available())
{
String perintah = Serial.readStringUntil('\n');
if (perintah == "begin")
{
PORTA = B10010010;
delay(1000);
PORTA = B11111111;
delay(1000);
PORTA = B11111001;
delay(1000);
PORTA = B11111111;
delay(1000);
PORTA = B10000000;
delay(1000);
PORTA = B11111111;
delay(1000);
PORTA = B11111000;
delay(1000);
PORTA = B11111111;
lcd.setCursor(0, 1);
lcd.write(0);
lcd.setCursor(0, 0);
lcd.write(1);
lcd.setCursor(1, 1);
lcd.write(2);
lcd.setCursor(1, 0);
lcd.write(3);
lcd.setCursor(2, 1);
lcd.write(4);
lcd.setCursor(2, 0);
lcd.write(5);
lcd.setCursor(4, 1);
lcd.print("22.11.5187");
for(int i = 10; i >= 0; i--)
{
lcd.setCursor(4, 0);
lcd.print(i);
delay(1000);
lcd.setCursor(5, 0);
lcd.print(" ");
}
Serial.println(" ");
for (int i = 10; i >= 0; i--) {
Serial.println(i);
delay(1000);
}
}
}
lcd.clear();
}