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

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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 02.11.2014, 17:01   #1
1ardu
Junior Member
 
Регистрация: 02.11.2014
Сообщений: 11
Вес репутации: 0
1ardu is an unknown quantity at this point
По умолчанию Re: Многоканальный Dimmer, работающий в фоновом режиме

Радости как у Матроскина -"Заработалааа!" )) Admin Спасибо большое .

применительно к моей задаче -использование ( D2_In ) выглядит как немного болеее сглаженные переходы и чеснее выход на полное горение . =Это правильная работа D2 ?
=Растянуть / сгладить смену режимов канала чем правильно ? ( слишком быстро )
=Исходя из чего выбирается значение в "StartTimer1(halfcycle, 40); //время для одного разряда ШИМ" ?
= в таком скетче возможно регулировать верхнюю и нижнюю границу величины свечения ?
// ведь тут менять 50 и 200 ? так ? - Dimmer1=random(50, 200);
1ardu вне форума   Ответить с цитированием
Старый 02.11.2014, 17:49   #2
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9824
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
По умолчанию Re: Многоканальный Dimmer, работающий в фоновом режиме

Я же написал выше что нужно изменять
Немного опишу подробнее:
Для изменения динамики мерцания нужно изменить диапазон задержек delay(random(10, 100)); первый параметр это минимальная задержка начинается от 10, второй это максимальная задержка от 10 до любого значения которое Вам понравится, ставьте хоть 1000

Для изменения диапазона яркости мерцания нужно изменить диапазон яркости DimmerХ=random(50, 200);
первый параметр это минимальная яркость, можно изменять от 0 до 200, второй параметр это максимальная яркость от 0 до 200. Параметры для каждой лампочки можно задавать индивидуально

Видео будет?
Admin вне форума   Ответить с цитированием
Старый 02.11.2014, 18:49   #3
1ardu
Junior Member
 
Регистрация: 02.11.2014
Сообщений: 11
Вес репутации: 0
1ardu is an unknown quantity at this point
По умолчанию Re: Многоканальный Dimmer, работающий в фоновом режиме

Цитата:
Сообщение от Admin Посмотреть сообщение
Я же написал ранее
Немного опишу подробнее:
Для изменения динамики мерцания нужно изменить диапазон задержек delay(random(10, 100)); первый параметр минимум (10), второй миннимум 10 и макс. любой который Вам понравится, ставте хоть 1000
== сижу в поиске значения...
Для изменения диапазона яркости мерцания нужно изменить диапазон яркости DimmerХ=random(50, 200);
второй параметр это минимальная яркость равняется 200 , первый параметр можно измезнять от 0 до 190
== с этим пока играюсь ,подбираю добиваюсь сходства ( свеча рядом ))

Видео будет?
== да сделаю , (понять как его приложить ?)
1ardu вне форума   Ответить с цитированием
Старый 16.11.2014, 00:01   #4
1ardu
Junior Member
 
Регистрация: 02.11.2014
Сообщений: 11
Вес репутации: 0
1ardu is an unknown quantity at this point
По умолчанию Re: Многоканальный Dimmer, работающий в фоновом режиме

[QUOTE=Admin;17692]Я же написал выше что нужно изменять
Немного опишу подробнее:
Для изменения динамики мерцания нужно изменить диапазон задержек delay(random(10, 100)); первый параметр это минимальная задержка начинается от 10, второй это максимальная задержка от 10 до любого значения которое Вам понравится, ставьте хоть 1000

- Вечер добрый , продолжаю после перерыва пытаться ..)

_ Все изменения яркости происходят СТУПЕНЧАТО _ пробовал убирать режим RANDOM , ставил DELAY 3000 . Результата не дало .. Нужно плавное изменение , это возможно ?
1ardu вне форума   Ответить с цитированием
Старый 02.11.2014, 18:57   #5
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9824
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
По умолчанию Re: Многоканальный Dimmer, работающий в фоновом режиме

На Youtube

Еще можно добавить задержки между лампами
PHP код:
void loop() 
{
Start
   Dimmer1
=random(0200);
   
delay(random(10100));
   
Dimmer2=random(0200);
   
delay(random(10100));
   
Dimmer3=random(0200);
   
delay(random(10100));
End
Admin вне форума   Ответить с цитированием
Старый 02.11.2014, 19:34   #6
1ardu
Junior Member
 
Регистрация: 02.11.2014
Сообщений: 11
Вес репутации: 0
1ardu is an unknown quantity at this point
По умолчанию Re: Многоканальный Dimmer, работающий в фоновом режиме

1ardu вне форума   Ответить с цитированием
Старый 02.11.2014, 19:50   #7
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9824
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
По умолчанию Re: Многоканальный Dimmer, работающий в фоновом режиме

Если бы я не знал правду, то подумал бы что это реально от свечки на заднем фоне свечение
Admin вне форума   Ответить с цитированием
Старый 02.11.2014, 20:11   #8
1ardu
Junior Member
 
Регистрация: 02.11.2014
Сообщений: 11
Вес репутации: 0
1ardu is an unknown quantity at this point
По умолчанию Re: Многоканальный Dimmer, работающий в фоновом режиме

Думаю что по ситуации можно будет от одного канала (свеча ) до всех (маленькое пламя) использовать .
Вот что хочется еще реализовать но я не знаю еще как это делается -
- переход механической кнопкой или тумблерами между "пакетами" настроек . Иногда надо поактивней горение ,а иногда это шепот свечи )
- общее диммирование каналов или если можно по отдельности ??..( разные случаи -разная потребность яркостей )

Это видео с этим скетчем:

#include <CyberLib.h> //Библиотека от Cyber-Place.ru
volatile uint8_t tic, Dimmer1, Dimmer2, Dimmer3, Dimmer4;
uint8_t data;

void setup()
{
D4_Out; D5_Out; D6_Out; D7_Out; //Настраиваем порты на выход
D4_Low; D5_Low; D6_Low; D7_Low; //установить на выходах низкий уровень сигнала
D2_In; //настраиваем порт на вход для отслеживания прохождения сигнала через ноль

//CHANGE – прерывание вызывается при любом изменении значения на входе;
//RISING – вызов прерывания при изменении уровня напряжения с низкого (Low) на высокий(HIGH)
//FALLING – вызов прерывания при изменении уровня напряжения с высокого (HIGH) на низкий (Low)
attachInterrupt(0, detect_up, LOW); // настроить срабатывание прерывания interrupt0 на pin 2 на низкий уровень
StartTimer1(halfcycle, 40); //время для одного разряда ШИМ
StopTimer1(); //остановить таймер
UART_Init(115200); //инициализация порта
}
//********************обработчик и прерываний******************** ***********
void halfcycle() //прерывания таймера
{
tic++; //счетчик
if(Dimmer1 < tic ) D4_High; //управляем выходом
if(Dimmer2 < tic ) D5_High; //управляем выходом
if(Dimmer3 < tic ) D6_High; //управляем выходом
if(Dimmer4 < tic ) D7_High; //управляем выходом
}

void detect_up() // обработка внешнего прерывания. Сработает по переднему фронту
{
tic=0; //обнулить счетчик
ResumeTimer1(); //запустить таймер
attachInterrupt(0, detect_down, HIGH); //перепрограммировать прерывание на другой обработчик
}

void detect_down() // обработка внешнего прерывания. Сработает по заднему фронту
{
StopTimer1(); //остановить таймер
D4_Low; D5_Low; D6_Low; D7_Low; //логический ноль на выходы
tic=0; //обнулить счетчик
attachInterrupt(0, detect_up, LOW); //перепрограммировать прерывание на другой обработчик
}
//**************************************** *********************************
void loop()
{Start
Dimmer1=random(155, 175);
delay(random(10, 300));
Dimmer2=random(155, 175);
delay(random(10, 300));
Dimmer3=random(155, 175);
delay(random(10, 300));
Dimmer4=random(155, 175);
delay(random(10, 300));
End}
1ardu вне форума   Ответить с цитированием
Старый 02.11.2014, 20:20   #9
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9824
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
По умолчанию Re: Многоканальный Dimmer, работающий в фоновом режиме

Цитата:
- переход механической кнопкой или тумблерами между "пакетами" настроек . Иногда надо поактивней горение ,а иногда это шепот свечи )
- общее диммирование каналов или если можно по отдельности ??..( разные случаи -разная потребность яркостей )
Можно загружать разные профили из массива, но для Вас наверно будет проще вынести свечение в разные функции по нажатию кнопок через switch вызывать эти функции
Admin вне форума   Ответить с цитированием
Старый 02.11.2014, 20:47   #10
1ardu
Junior Member
 
Регистрация: 02.11.2014
Сообщений: 11
Вес репутации: 0
1ardu is an unknown quantity at this point
По умолчанию Re: Многоканальный Dimmer, работающий в фоновом режиме

Цитата:
Сообщение от Admin Посмотреть сообщение
Можно загружать разные профили из массива, но для Вас наверно будет проще вынести свечение в разные функции по нажатию кнопок через switch вызывать эти функции
--А есть пример чтоб понять что и как прописать для задействования мех. кнопок ? к примеру для выбора того или иного пакета " void loop() ''
- что предпочтительней в этой ситуации кнопка или тумблер ?
1ardu вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 6 (пользователей: 0 , гостей: 6)
 
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

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

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

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


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


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