// підключення робочих бібліотек
#include "RTClib.h"
#include "LiquidCrystal_I2C.h"
int year;
int month;
int day;
int hour;
int minute;
int second;
int knop = 3;
int flug_knop;
int flug = 0;
int analog1;
int analog2;
int val1;
int val2;
RTC_DS1307 rtc; // визначення годинника
LiquidCrystal_I2C lcd(0x27, 16, 2); // задання параметрів дисплею
void setup() {
Serial.begin(9600);
pinMode(knop, INPUT); // визначення кнопки
// перевірка на помилку годинника
if (! rtc.begin()) {
Serial.println("Помилка роботи годинника!");
Serial.flush();
abort();
}
lcd.init(); // увімкнути дисплей
lcd.backlight(); // увімкнути підсвітку
}
void loop() {
flug_knop = digitalRead(knop); // зчитати сигнал
// передавати дані часу на змінні
DateTime now = rtc.now();
year = now.year();
month = now.month();
day = now.day();
hour = now.hour();
minute = now.minute();
second = now.second();
// вивести дату та час на дисплей
lcd.setCursor(0, 0);
lcd.print(day);
lcd.print("/");
lcd.print(month);
lcd.print("/");
lcd.print(year);
lcd.setCursor(0, 1);
lcd.print(hour);
lcd.print(":");
lcd.print(minute);
lcd.print(":");
lcd.print(second);
//зчитування рівня сигналу та його перетворення на напругу
int analog1 = analogRead(A0);
int analog2 = analogRead(A1);
float val1 = 5.0 / 1024.0 * analog1;
float val2 = 5.0 / 1024.0 * analog2;
// вивести значення напруги на дисплей на 3 сек при натиску кнопки
if (flug_knop == 1 && flug == 0) {
flug == 1;
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(val1);
lcd.setCursor(0, 1);
lcd.print(val2);
delay(3000);
}
if (flug_knop == 0 && flug == 1) {
flug == 0;
lcd.clear();
}
}