Думаю так должно выглядеть.
Часть кода, было так
А должно быть такPHP код:{
int dimtime = (78*dim); // вычислим время отсечки
delayMicroseconds(dimtime); // отсекаем лишнее
digitalWrite(AC_pin, HIGH); // включить симистор
delayMicroseconds(20); // короткая пауза, чтобы обеспечить включение симистора
digitalWrite(AC_pin, LOW); // выключение симистора(он выключится когда полупериод достигнет нуля)
}
Только значение 9980 нужно уменьшить, но я не знаю сколько времени буду длиться 2 команды digitalWrite(AC_pin, HIGH) и digitalWrite(AC_pin, LOW).PHP код:{
int dimtime = (78*dim); // вычислим время отсечки
delayMicroseconds(dimtime); // отсекаем лишнее
digitalWrite(AC_pin, HIGH); // включить симистор
delayMicroseconds(20); // короткая пауза, чтобы обеспечить включение симистора
digitalWrite(AC_pin, LOW); // выключение симистора(он выключится когда полупериод достигнет нуля)
int pauza = 9980 - dimtime; // расчет перехода через ноль при отрицательной полуволне
delayMicroseconds(pauza); // ожидаем для управления отрицательной полуволной
digitalWrite(AC_pin, HIGH); // включить симистор
delayMicroseconds(20); // короткая пауза, чтобы обеспечить включение симистора
digitalWrite(AC_pin, LOW); // выключение симистора(он выключится когда полупериод достигнет нуля)
}




Ответить с цитированием