Dimmer Dim 5f351684-eee2-4153-9f33-32b71622bc0d cb801bd3-d822-4aac-80f7-092a9913e79e 42ff8b9d-f6b2-4f68-be90-a2a0bd01f8fb Dimmer Dimmer = Dim; //Задержка для более плавного эффекта мерцания // delay(100); 87 //*********************Настраиваем порты на выход********************** pinMode (3, OUTPUT); digitalWrite(3, LOW); // гасим оответствующий пин Dimmer = 10; //выставим яркость соответствующего диммера в 0 attachInterrupt(0, detect_up, LOW); // настроить срабатывание прерывания interrupt0 на pin 2 на низкий уровень Timer1.initialize(40); // Интервал срабатывания таймера в мкс Timer1.attachInterrupt(halfcycle); //будет вызыватся каждый раз при отсчете заданого времени Timer1.stop(); Serial.begin(115200); //инициализация порта randomSeed(analogRead(0)); //псевдогенератор случайных чисел будет использовать шумы на аналог пин 0 656 #include <TimerOne.h> tic ; volatile uint8_t data ; uint8_t количество диммеров минус 1 Dimmer ; int tic--; //счетчик if (Dimmer > tic ) digitalWrite(3, HIGH); //управляем выходом (откроем семистор) 113 void halfcycle tic = 200; //обнулить счетчик Timer1.resume(); //запустить таймер attachInterrupt(0, detect_down, HIGH); //перепрограммировать прерывание на другой обработчик 180 void detect_up Timer1.stop(); //остановить таймер digitalWrite(3, LOW); tic = 200; //обнулить счетчик attachInterrupt(0, detect_up, LOW); //перепрограммировать прерывание на другой обработчик 192 void detect_down