![]() |
|
|
#911 |
|
Junior Member
Регистрация: 07.11.2018
Сообщений: 11
Вес репутации: 0 ![]() |
Нужен какраз с термодатчиком. Иначе легче бы было просто купить.)
|
|
|
|
|
|
#912 |
|
Junior Member
Регистрация: 07.11.2018
Сообщений: 11
Вес репутации: 0 ![]() |
Я правильно понимаю, что мне просто надо выдавать значение функции analogWrite?
Примерно так? void loop() { analogWrite(Pin, *значение от 0 до 255*); } |
|
|
|
|
|
#913 |
|
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9824 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Для предложного мной способа нужен только цифровой сигнал low-high
|
|
|
|
|
|
#914 |
|
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. |
|
|
|
|
|
#915 |
|
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9824 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
ШИМ не будет работать.
Если установлен оптрон с детектором ноля, то у Вас только 1 способ, который я описал выше |
|
|
|
|
|
#916 | |
|
Junior Member
Регистрация: 07.11.2018
Сообщений: 11
Вес репутации: 0 ![]() |
Цитата:
Развернуть для просмотраint dimmer_vol = 0; //Время срабарывания пина void loop(){ dimmer(); } int dimmer() { if (millis() - lasttime > dimmer_vol) { analogWrite(ledPin, HIGH); } [свернуть] |
|
|
|
|
|
|
#917 |
|
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9824 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
При чем тут analogWrite(ledPin, HIGH)?
|
|
|
|
|
|
#918 |
|
Junior Member
Регистрация: 07.11.2018
Сообщений: 11
Вес репутации: 0 ![]() |
|
|
|
|
|
|
#919 | |
|
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9824 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Можно взять библиотеку PID и пример для реле
PIDЦитата:
[свернуть] |
|
|
|
|
|
|
#920 |
|
Junior Member
Регистрация: 07.11.2018
Сообщений: 11
Вес репутации: 0 ![]() |
На самом деле, похоже, у меня нет правильного понимания принципа работы данного способа. Я пытаюсь резать полупериод, а надо пропускать полупериоды.
Правильно будет, если за отрезок 100% я возьму 0.5 секунды? или нужно больше? И самое главное: может легче использовать диммер без детектора нуля, но с каким либо сетевым фильтром или стабилизатором? Последний раз редактировалось hoiho; 14.11.2018 в 10:10. |
|
|
|
![]() |
| Здесь присутствуют: 15 (пользователей: 0 , гостей: 15) | |
|
|