Форум обсуждения систем  

Вернуться   Форум обсуждения систем "Умный дом", проектов Ардуино, OpenWRT и других DIY устройств > Форум умного дома > Сделай сам

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 10.11.2018, 21:00   #1
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9821
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию

Да там все просто, просто включай и выключай когда нужно.
включен постоянно-100% мощности
вкл 9сек./1сек выкл. - 90%
...
вкл 1сек./9сек выкл. - 10%
Admin вне форума   Ответить с цитированием
Старый 10.11.2018, 21:44   #2
hoiho
Junior Member
 
Регистрация: 07.11.2018
Сообщений: 11
Вес репутации: 0
hoiho is an unknown quantity at this point
По умолчанию

Есть какой нибудь пример кода? Не могу сообразить как именно резать мощность в коде.
hoiho вне форума   Ответить с цитированием
Старый 10.11.2018, 21:53   #3
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9821
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию

Примеров нет, резать нужно по времени.
Admin вне форума   Ответить с цитированием
Старый 10.11.2018, 22:05   #4
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9821
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию

Если Вам регулировать без термодатчика, то может быть проще собрать обычный симисторный диммер?
Admin вне форума   Ответить с цитированием
Старый 11.11.2018, 10:18   #5
hoiho
Junior Member
 
Регистрация: 07.11.2018
Сообщений: 11
Вес репутации: 0
hoiho is an unknown quantity at this point
По умолчанию

Нужен какраз с термодатчиком. Иначе легче бы было просто купить.)
hoiho вне форума   Ответить с цитированием
Старый 11.11.2018, 12:02   #6
hoiho
Junior Member
 
Регистрация: 07.11.2018
Сообщений: 11
Вес репутации: 0
hoiho is an unknown quantity at this point
По умолчанию

Я правильно понимаю, что мне просто надо выдавать значение функции analogWrite?
Примерно так?

void loop()
{
analogWrite(Pin, *значение от 0 до 255*);
}
hoiho вне форума   Ответить с цитированием
Старый 11.11.2018, 20:50   #7
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9821
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию

Для предложного мной способа нужен только цифровой сигнал low-high
Admin вне форума   Ответить с цитированием
Старый 12.11.2018, 17:12   #8
hoiho
Junior Member
 
Регистрация: 07.11.2018
Сообщений: 11
Вес репутации: 0
hoiho is an unknown quantity at this point
По умолчанию

В итоге у меня 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.
hoiho вне форума   Ответить с цитированием
Старый 12.11.2018, 19:32   #9
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9821
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию

ШИМ не будет работать.
Если установлен оптрон с детектором ноля, то у Вас только 1 способ, который я описал выше
Admin вне форума   Ответить с цитированием
Старый 12.11.2018, 19:59   #10
hoiho
Junior Member
 
Регистрация: 07.11.2018
Сообщений: 11
Вес репутации: 0
hoiho is an unknown quantity at this point
По умолчанию

Цитата:
Сообщение от Admin Посмотреть сообщение
ШИМ не будет работать.
Если установлен оптрон с детектором ноля, то у Вас только 1 способ, который я описал выше
Так правильно будет?

Развернуть для просмотра


int dimmer_vol = 0; //Время срабарывания пина
void loop(){
dimmer();
}
int dimmer() {
if (millis() - lasttime > dimmer_vol) {
analogWrite(ledPin, HIGH);
}
[свернуть]
hoiho вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 26 (пользователей: 0 , гостей: 26)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 09:06. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Яндекс.Метрика