Добрый день. Собрал схему:

Поблема: при любом значении dimmer питание идет на полную.
Симистор и оптопару менял.
Кто может подсказать?
Спасибо)

Код:
#define ZERO_PIN 2 // пин детектора нуля
#define INT_NUM 0 // соответствующий ему номер прерывания
#define DIMMER_PIN 3 // управляющий пин симистора
#include <GyverTimers.h> // библиотека таймера
#include <GyverNTC.h>
#include <GyverDimmer.h>
GyverNTC therm(2, 9700, 3950);
int dimmer=9300; // переменная диммера
void setup() {
pinMode(ZERO_PIN, INPUT_PULLUP);
pinMode(DIMMER_PIN, OUTPUT);
attachInterrupt(INT_NUM, isr, FALLING); // для самодельной схемы ставь FALLING
//Timer2.enableISR();
Serial.begin(2000000);
}
void loop() {
// задаём значение 500-9300, где 500 максимум мощности, 9300 минимум!!!
// и 500-7600 для 60 Гц в сети
//dimmer = map(1022, 0, 1024, 500, 9300);
//delay(100); // в реальном коде задержек быть не должно
Serial.print("Temperature ");
Serial.print(therm.getTempAverage());
Serial.println(" *C");
}
// прерывание детектора нуля
void isr() {
static int lastDim;
digitalWrite(DIMMER_PIN, LOW); // выключаем симистор
// если значение изменилось, устанавливаем новый период
// если нет, то просто перезапускаем со старым
if (lastDim != dimmer) Timer2.setPeriod(lastDim = dimmer);
else Timer2.restart();
}
// прерывание таймера
ISR(TIMER2_A) {
digitalWrite(DIMMER_PIN, HIGH); // включаем симистор
Timer2.stop(); // останавливаем таймер
}
Симистор и оптопару менял.
Кто может подсказать?
Спасибо)