![]() |
|
|
|
|
#1 |
|
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9825 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Да там все просто, просто включай и выключай когда нужно.
включен постоянно-100% мощности вкл 9сек./1сек выкл. - 90% ... вкл 1сек./9сек выкл. - 10% |
|
|
|
|
|
#2 |
|
Junior Member
Регистрация: 07.11.2018
Сообщений: 11
Вес репутации: 0 ![]() |
Есть какой нибудь пример кода? Не могу сообразить как именно резать мощность в коде.
|
|
|
|
|
|
#3 |
|
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9825 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Примеров нет, резать нужно по времени.
|
|
|
|
|
|
#4 |
|
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9825 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Если Вам регулировать без термодатчика, то может быть проще собрать обычный симисторный диммер?
|
|
|
|
|
|
#5 |
|
Junior Member
Регистрация: 07.11.2018
Сообщений: 11
Вес репутации: 0 ![]() |
Нужен какраз с термодатчиком. Иначе легче бы было просто купить.)
|
|
|
|
|
|
#6 |
|
Junior Member
Регистрация: 07.11.2018
Сообщений: 11
Вес репутации: 0 ![]() |
Я правильно понимаю, что мне просто надо выдавать значение функции analogWrite?
Примерно так? void loop() { analogWrite(Pin, *значение от 0 до 255*); } |
|
|
|
|
|
#7 |
|
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9825 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Для предложного мной способа нужен только цифровой сигнал low-high
|
|
|
|
|
|
#8 |
|
Junior Member
Регистрация: 07.11.2018
Сообщений: 11
Вес репутации: 0 ![]() |
В итоге у меня 2 варианта получилось:
1) Выдает ШИМ, и вроде бы подходит, но тестер выводит что то не понятное(то 108 вольт то 220 при значении 255) Развернуть для просмотраvoid loop() { analogWrite(Pin, *значение от 0 до 255*); } [свернуть] 2) попробовал Ваш способ: Развернуть для просмотраint dimmer_vol = 0; //Время срабарывания пина void loop(){ dimmer(); } int dimmer() { if (millis() - lasttime > dimmer_vol) { analogWrite(ledPin, HIGH); } [свернуть] Но не понимаю, правильно ли он работает... осцилографа у меня нет. Последний раз редактировалось hoiho; 12.11.2018 в 17:17. |
|
|
|
|
|
#9 |
|
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9825 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
ШИМ не будет работать.
Если установлен оптрон с детектором ноля, то у Вас только 1 способ, который я описал выше |
|
|
|
|
|
#10 | |
|
Junior Member
Регистрация: 07.11.2018
Сообщений: 11
Вес репутации: 0 ![]() |
Цитата:
Развернуть для просмотраint dimmer_vol = 0; //Время срабарывания пина void loop(){ dimmer(); } int dimmer() { if (millis() - lasttime > dimmer_vol) { analogWrite(ledPin, HIGH); } [свернуть] |
|
|
|
|
![]() |
| Здесь присутствуют: 7 (пользователей: 0 , гостей: 7) | |
|
|