#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2); // set the LCD address to 0x27 for a 16 chars and 2 line display
#include <RTClib.h>
RTC_DS1307 RTC;
int switch_status = 1; //スイッチの状態。最初はLOWが入力されている
const int BUTTON_SEL = 7; //定数BUTTONを設定
void setup() {
Serial.begin( 9600 );
RTC.begin();
// RTC.adjust(DateTime(2023, 1, 30, 1,1, 0));
lcd.init(); // initialize the lcd
lcd.backlight();
lcd.setCursor(0,0);
lcd.print("Digital Counter");
pinMode( 13, OUTPUT);
digitalWrite( 13, LOW); //基盤のLED
pinMode( BUTTON_SEL, INPUT_PULLUP); //BUTTON_SEL ピンを入力に設定
}
void loop() {
// put your main code here, to run repeatedly:
if (digitalRead( BUTTON_SEL) == HIGH){
digitalWrite(13, HIGH); //基盤のLED
Serial.println( digitalRead(BUTTON_SEL) );
}
else{
digitalWrite(13, LOW);
Serial.println( digitalRead(BUTTON_SEL) );
lcd.setCursor(0, 0);
lcd.print(" ");
}
if (RTC.isrunning()) {
lcd.setCursor(0, 0);
DateTime now = RTC.now();
lcd.print(now.year(), DEC);
lcd.print('/');
lcd.print(now.month(), DEC);
lcd.print('/');
lcd.print(now.day(), DEC);
lcd.print(" ");
lcd.setCursor(0, 1);
if ( now.hour() <= 9){ // 10以下0付け
lcd.print('0');
}
lcd.print(now.hour(), DEC);
lcd.print(':');
if ( now.minute() <= 9){ // 10以下0付け
lcd.print('0');
}
lcd.print(now.minute(), DEC);
lcd.print(':');
if ( now.second() <= 9){ // 10以下0付け
lcd.print('0');
}
lcd.print(now.second());
lcd.print(" ");
}else{
lcd.print("RTC not find ");
}
delay(10);
}