Выкладываю заново.
Блок полностью переделан, и теперь их целых две версии..(при участии Dryundel)
Использовалась библиотека https://github.com/fabianoriccardi/dimmable-light
в некоторых случаях на ESP присутствует мерцание,в этом случае
вы сами можете попробовать (закомментировать) или (раскомментировать)
#define FILTER_INT_PERIOD в начале thyristor.cpp файла. (по умолчанию раскомментировано)
Итак о самих блоках.
В блоке Dimmable Light FULL можно выбрать до 5 выходов для диммирования и ZERO pin.
В блоке Dimmable Light выбираем ZERO pin (один раз) и один выход диммера, необходим еще выход ,
вытаскиваем еще один блок и так далее, ограничение 8 диммеров максимум.
Блоки работают для ARDUINO и для ESP.
Изначально при компиляции для ARDUINO требовалось установить библиотеку ArduinoSTL и понизить версию Arduino AVR до 1.8.2
Теперь доработанная библиотека Dimmable Light for Arduino (да просто удалено лишнее) встроена в сами блоки (автоматом установиться при компиляции) и установка ArduinoSTL не требуется.
Отсюда вывод, просто вытаскиваем блок, меняем пины и загружаем в МК, лишних телодвижений делать не придется, ну если вы не тот самый счастливчик и что то пойдет не так.
Предупреждение - если оригинальная библиотека Dimmable Light for Arduino была установлена ранее , ее следует удалить.
ВЕРСИЯ FLPROG при создании блоков 7.5.2
БИБЛИОТЕКА на всякий случай.
САМ ПРОЕКТ ПРИМЕР С ДВУМЯ ВЕРСИЯМИ БЛОКОВ
О фазовом регулировании и схемы можно посмотреть тут --- Фазовое регулирование. Ликбез.
______________________________________________________АКТУАЛЬНЫЕ ВЕРСИИ БЛОКОВ______________________________________________________
-------- не обновлялся
-------- обновлен 12.02.23 --- экономим процессорное время,замена int на byte
-------- обновлен 13.02.23 --- встроена библиотека Dimmable Light for Arduino в сам блок. исправлено остаточное напряжение при 0.