![]() |
|
![]() |
#1 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,617
Вес репутации: 9822 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Да там все просто, просто включай и выключай когда нужно.
включен постоянно-100% мощности вкл 9сек./1сек выкл. - 90% ... вкл 1сек./9сек выкл. - 10% |
![]() |
![]() |
![]() |
#2 |
Junior Member
Регистрация: 07.11.2018
Сообщений: 11
Вес репутации: 0 ![]() |
![]()
Есть какой нибудь пример кода? Не могу сообразить как именно резать мощность в коде.
|
![]() |
![]() |
![]() |
#3 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,617
Вес репутации: 9822 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Примеров нет, резать нужно по времени.
|
![]() |
![]() |
![]() |
#4 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,617
Вес репутации: 9822 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Если Вам регулировать без термодатчика, то может быть проще собрать обычный симисторный диммер?
|
![]() |
![]() |
![]() |
#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,617
Вес репутации: 9822 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Для предложного мной способа нужен только цифровой сигнал 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,617
Вес репутации: 9822 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
ШИМ не будет работать.
Если установлен оптрон с детектором ноля, то у Вас только 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); } [свернуть] |
|
![]() |
![]() |
![]() |
Здесь присутствуют: 101 (пользователей: 0 , гостей: 101) | |
|
|