А что такое !beep. (не компилируется)
#define kc_pin 5 //концевик двери
#define cool_pin 3 //вентиляторы конденсатора
#define zoo_pin 6 //зуммер
#define lamp_pin 7 //лампочка сигнализации
#define rel_pin 4
volatile bool beep = false;
uint32_t old_millis;
void setup() {
Спасибо. Работает но криво. Сейчас настрою все и отпишусь.
при такой записи это называется “концевик замкнут”, а не разомкнут.
@Максим , вы так и будете подбирать строчки в коде методом тыка? Может сначала разберетесь хотя бы в том, как прочитать значение с пина?
if (digitalRead(kc_pin) == HIGH) { // концевик разомкнут
я эту строчку так написал
Разве?
(схемы, конечно, нет, но при стандартном подключении кнопки должно быть именно так)
пардон, я сам запутался
теперь я запутался. концевик подключен к пину 5 и к земле. В коде я указал подтяжку. Это вроде как правильно. Моя строчка верна?
Верна

теперь я запутался. концевик подключен к пину 5 и к земле. В коде я указал подтяжку. Это вроде как правильно. Моя строчка верна?
Вот чтобы не возникало таких вопросов нужно прямо в первом сообщении публиковать схему.
я тебе две строчки написал, пробуешь одну, инверсное - пробуешь другую, записи что в коде что у тебя равноценны, ничего не должно изменяться
Спасибо тебе большое. Все работает только по какой то причине вместо вентилятора срабатывает лампа. Как буд то пины перепутаны. коммутирую через двойное реле с Али. возможно подписанные управляющие выходы перепутаны. а так все супер. Да и еще один момент. Если честно я почти не въехал в скетч. Если у кого будет возможность по подробней написать пояснения очень буду рад.

if (millis() - old_millis > 60000) { digitalWrite(zoo_pin, HIGH); }
Вот например почему эти строчки именно тут стоят а не где нибудь в другом месте
ты иди по коду и пиши комментарии, как понимаешь, когда дойдёшь до этих строк, может что прояснится
Реле могут коммутироваться инверсным сигналом, для включения сигнал LOW, напиши скетч только для одного реле и проверь
сейчас попробую