Попробуй, должно быть 3 яркости по 2 секунды.
PHP код:
int AC_pin = 10; // выход для симистора
int dimtime = 0;
void setup()
{
pinMode(AC_pin, OUTPUT);
attachInterrupt(0, light, RISING); //прерывание по изменению уровня с низкого на высокий
}
void light()
{
delayMicroseconds(dimtime); // отсекаем лишнее
digitalWrite(AC_pin, HIGH); // включить симистор
delayMicroseconds(2000); // короткая пауза, чтобы обеспечить включение симистора
digitalWrite(AC_pin, LOW); // выключение симистора(он выключится когда полупериод достигнет нуля)
int pauza = 7950 - dimtime; // расчет перехода через ноль при отрицательной полуволне
delayMicroseconds(pauza); // ожидаем для управления отрицательной полуволной
digitalWrite(AC_pin, HIGH); // включить симистор
delayMicroseconds(2000); // короткая пауза, чтобы обеспечить включение симистора
digitalWrite(AC_pin, LOW); // выключение симистора(он выключится когда полупериод достигнет нуля)
}
void loop()
{
delay(2000);
dimtime = 2000;
delay(2000);
dimtime = 5000;
delay(2000);
dimtime = 8000;
}