Всем привет! Я новичок. Делаю часы(Проект не закончен) и у меня не работает оператор if. Подскажите что делать…
#include <AnalogKey.h>
#include <GyverButton.h>
#include <Wire.h> // библиотека для управления устройствами по I2C
#include <LCD_1602_RUS.h> // подключаем библиотеку LCD_1602_RUS
#include <DS3231.h>
#include <DHT.h> // библиотека для dht11
#include <DHT_U.h> // библиотека для dht11
#define pin_backlight 6 // пин подсветки дисплея
#define pin_photo A6 //пин фоторезистра
DS3231 rtc(SDA, SCL); // Инициализация DS3231
LCD_1602_RUS LCD(0x27,16,2); // присваиваем имя LCD для дисплея
DHT dht(5, DHT11); // сообщаем к какому порту подключен DHT11
GButton butt1(4, HIGH_PULL, NORM_OPEN);
Time t;
String Hor, Min, Sec, Date, Mon, Year, day, yes_no_bykvi;
int Dow; // дни недели
char HH = 18; // Часы будильника
char MM = 42; // Минуты будильника
bool data_open = 1; // Дата открыть
bool may_menu_da_net = 1;
bool yes_no_cifri = 0; // да нет
void setup()
{
pinMode(pin_backlight, OUTPUT);
pinMode(3, OUTPUT);
Serial.begin(9600);
rtc.begin(); // Инициализировать rtc
LCD.init(); // инициализация LCD дисплея
LCD.backlight(); // включение подсветки дисплея
LCD.clear();
dht.begin(); // запускаем датчик DHT11
butt1.setTimeout(1000);
t = rtc.getTime();
Date = t.date;
Mon = t.mon;
Year = t.year;
Hor = t.hour;
Min = t.min;
Sec = t.sec;
Dow = t.dow;
// Установка времени
//rtc.setDOW(SUNDAY); // Установить день-недели
//rtc.setTime(19, 25, 0); // Установить время 16:29:00 (формат 24 часа)
//rtc.setDate(28, 1, 2024); // Установить дату 11 декабря 2020 года
}
void loop()
{
// Время и дата
float h = dht.readHumidity();
float temp = dht.readTemperature();
if (data_open == 1) {
LCD.setCursor(0,0);
LCD.print(String(Hor));
LCD.setCursor(2,0);
LCD.print(":");
LCD.setCursor(3,0);
LCD.print(Min);
LCD.setCursor(6,0);
LCD.print(day);
LCD.setCursor(10,0);
LCD.print(Date);
LCD.setCursor(12,0);
LCD.print("/");
LCD.setCursor(13,0);
LCD.print(Mon);
LCD.setCursor(1,1);
LCD.print(temp);
LCD.print("°C");
LCD.setCursor(9,1);
LCD.print(h);
LCD.print("%");
delay(1);}
// Присваимаем переменным значения
// Вывод дней недели
switch(Dow){
case 7:
day = "Вс,";
break;
case 1:
day = "Пн,";
break;
case 2:
day = "Вт,";
break;
case 3:
day = "Ср,";
break;
case 4:
day = "Чт,";
break;
case 5:
day = "Пт,";
break;
case 6:
day = "Сб,";
break;
default:
day = "Ош,";
break;}
int val = analogRead(pin_photo);
int backlight_power = map(val, 0, 1023, 0, 255);
analogWrite(pin_backlight, backlight_power);
butt1.tick();
if (butt1.isPress() && may_menu_da_net == 1){
data_open = 0;
may_menu_da_net = 0;
LCD.clear();
LCD.setCursor(4,0);
LCD.print("БУДИЛЬНИК");}
if (butt1.isPress()){Serial.println("этот if не работает!!!");}
}