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

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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 13.09.2014, 10:00   #401
AppleJAM
Junior Member
 
Регистрация: 11.09.2014
Сообщений: 8
Вес репутации: 0
AppleJAM is an unknown quantity at this point
По умолчанию Re: Многоканальный Dimmer, работающий в фоновом режиме

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

День добрый всем , прошу подсказать поскольку я еще только в начале пользования Ардуино .
- Пытаюсь с помощью Диммера из шапки и carduino v7 собрать ус-во имитирующее эффект пламени (нужно только это).
- Диммеров 4шт , только лампы накаливания. Попытки применить за основу скечи для Led из интернета не дают желаемого(( , на лампах нет таких изменений как есть на Led (лампы жестко меняют режимы , нет как бы затуханий и преднакала ) Написать свой пока не получается . Может кто подскажет что можно взять за основу и где глянуть как ?

Заранее спасибо!
1ardu вне форума   Ответить с цитированием
Старый 02.11.2014, 14:01   #403
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
По умолчанию Re: Многоканальный Dimmer, работающий в фоновом режиме

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

если еще бы знать как это должно выглядеть ..... вот к примеру с чего начал:
- но куда и как это модифицировать не могу пока понять ,
// LED Fire Effect

int ledPin1 = 10;
int ledPin2 = 9;
int ledPin3 = 11;

void setup()
{
pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
pinMode(ledPin3, OUTPUT);
}

void loop() {
analogWrite(ledPin1, random(120)+135);
analogWrite(ledPin2, random(120)+135);
analogWrite(ledPin3, random(120)+135);
delay(random(100));
}

Последний раз редактировалось 1ardu; 02.11.2014 в 14:32.
1ardu вне форума   Ответить с цитированием
Старый 02.11.2014, 15:33   #405
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
По умолчанию Re: Многоканальный Dimmer, работающий в фоновом режиме

Вы пробовали вот такой вариант?
Для изменения динамики мерцания нужно изменить диапазон задержек delay(random(10, 100));
Для изменения диапазона яркости мерцания нужно изменить диапазон яркости DimmerХ=random(50, 200);
PHP код:
#include <CyberLib.h> //Библиотека от Cyber-Place.ru
volatile uint8_t ticDimmer1Dimmer2Dimmer3;
uint8_t data;

void setup() 

  
D4_OutD5_OutD6_Out//Настраиваем порты на выход
  
D4_LowD5_LowD6_Low//установить на выходах низкий уровень сигнала
  
D2_In//настраиваем порт на вход для отслеживания прохождения сигнала через ноль  
  
//CHANGE – прерывание вызывается при любом изменении значения на входе; 
//RISING – вызов прерывания при изменении уровня напряжения с низкого (Low) на высокий(HIGH) 
//FALLING – вызов прерывания при изменении уровня напряжения с высокого (HIGH) на низкий (Low) 
    
attachInterrupt(0detect_upLOW);  // настроить срабатывание прерывания interrupt0 на pin 2 на низкий уровень
    
StartTimer1(halfcycle40); //время для одного разряда ШИМ
    
StopTimer1(); //остановить таймер
    
UART_Init(115200); //инициализация порта
}
//********************обработчики прерываний*******************************
void halfcycle()  //прерывания таймера

  
tic++;  //счетчик  
  
if(Dimmer1 tic D4_High//управляем выходом
  
if(Dimmer2 tic D5_High;  //управляем выходом
  
if(Dimmer3 tic D6_High;  //управляем выходом 
}

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

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

//*************************************************************************
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, 17:01   #406
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   #407
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
По умолчанию Re: Многоканальный Dimmer, работающий в фоновом режиме

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

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

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

1ardu вне форума   Ответить с цитированием
Ответ


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

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

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

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


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


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