всю тут нормально, не надо на код сваливать если сам…
Все равно не понял. Отупел сегодня, что-то.
if (digitalRead(button) == LOW && flag == 0) // Кнопка включения вытяжки
{
flag = 1;
time = millis();
}
if (digitalRead(button) == HIGH && flag == 1 && ((millis() - time) > time_fan)) {
flag = 0;
}
Я , конечно, не засекал, но что-то я не вижу никакой задержки между двумя digitalRead ()
[/quote]
Хотя бы условие переставили, чтобьы лишний digitalRead не вызывать: условия по И вычисляются слева направо. Надо digitalRead второй вправо переставить хотя бы
а зачем тут задержка?
проще второй if оформить как else if к первому
задержка может и не нужна, я просто удивился с утра, типа, зачем делать два digitalRead() без задержек между оными
А там никогда не будет “два подряд”.
Из этих двух строчек всегда выполняется только какая-то одна
Как это?
Первое условие , когда вычисляется, вызывается digitalRead()
Второе условие не отделено от первого никаким else, поэтому оно тоже нанчнет вычисляться: будет вызван digitalRead(), затем, будет проверен флаг и только затем - время. Условие будет признано ложным, но read-то будет сделан. Если первым условием поставить flag, а вторым - millis, а третьим - чтения пина, то будет кошерно.
согласен, так будет чуть быстрее
А если разделить логику обработки кнопок и логику таймаутов, то будет дальше легче сопровождать развитие функционала.
В общем перелопатил весь код под другой дисплей 1.8 st7735 128160. Тот был 2,4 st7789 240320. Вот теперь думаю выложить новый код и перелопачивать то что дали попробовать на форуме, или дождаться после завтра и попробовать на том дисплее. Разрешение то у них разное.
Николай, ну при чем тут дисплей???
Вы с логикой включения вентилятора разобрались?
Разве этому проекту нужен дисплей? Отлаживайте на чем есть, но логика работы бездисплейная.
Большое спасибо, ваш код правильно работает.
А по поводу дисплея,
Для меня это проект , в дальнейшем там будет отображаться Количество израсходованной воды за время посещения сан узла возможно с голосовым оповещением, включением классической музыки
, ну и он в конце концов показывает температуру на улице(там у меня есть пиктограммы , здесь я их убрал чтобы не загмограмождать).
В общем хобби с в ногу со временем. ![]()
Не надо укорять домашних в использовании воды в санузле - а то эффект будет обратным, разоритесь унитаз прочищать ![]()
наконец нашли куда использовать дисплеи, про которые спрашивали в 23 году? ![]()
я так понял, что в своем коде не осилили две строки поправить? пришлось брать чужой?
А зря, если не учиться - так и будете бегать по форумам по каждой ошибке,
Ну там не две строчки ![]()
Этот код возьму на вооружение и буду с ним разбираться , В нем всё по полочкам.Всё четко и с коментариями. ![]()
я почти закончил, и определился с ии, искоро не буду мешать учить программировать а не копировать)))
Вот только не надо вот эти вот “по вайфай включать вентилятор и смыв унитаза из Тайланда”. Умоляю! По-человечески прошу!
Вайфай это лишнее.
Просто показомер. ![]()
А как же марсианской миссией управлять? Самому что-ли на Марс переться?
У меня вот вопрос. Проект долгострой, когда бывает время. Конечно же я приду на форум еще с какой-нибудь несостыковкой.
Тему закрывать вопрос решён, или же оставить открытой. Правильно наверное закрыть ведь вопрос решён.
И открыть новую.
До скорых встреч всех благодарю.
![]()

