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

Вернуться   Форум обсуждения оборудования "Умный дом" > Форум умного дома > Сделай сам

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 15.12.2017, 02:03   #821
wmv84
Junior Member
 
Регистрация: 15.12.2017
Сообщений: 2
Вес репутации: 0
wmv84 is an unknown quantity at this point
По умолчанию

Здравствуйте! Есть желание сделать двухканальную гирлянду на ардуино на основе двух диммеров. Схему спаял, код залил, все работает. Но можно ли заставить ардуино выдавать на 4 пин цифровой сигнал для управления вторым диммером с несколько отличным наполнением скетча. Или брать вторую Нано и заливать в нее свой скетч и привязывать свой диммер?
int AC_LOAD = 3;
int dimming = 128; // Dimming level (0-128) 0 = ON, 128 = OFF

void setup()
{
pinMode(AC_LOAD, OUTPUT);// Set AC Load pin as output
attachInterrupt(0, zero_crosss_int, RISING); // Choose the zero cross interrupt # from the table above
}
// the interrupt function must take no parameters and return nothing
void zero_crosss_int() // function to be fired at the zero crossing to dim the light
{
// Firing angle calculation : 1 full 50Hz wave =1/50=20ms
// Every zerocrossing thus: (50Hz)-> 10ms (1/2 Cycle) For 60Hz => 8.33ms
// 10ms=10000us
// (10000us - 10us) / 128 = 75 (Approx) For 60Hz =>65
int dimtime = (75*dimming); // For 60Hz =>65
delayMicroseconds(dimtime); // Off cycle
digitalWrite(AC_LOAD, HIGH); // triac firing
delayMicroseconds(10); // triac On propogation delay (for 60Hz use 8.33)
digitalWrite(AC_LOAD, LOW); // triac Off
}

void loop() {

for (int i=30; i <= 100; i++){
dimming=i;
delay(3);
}
for (int i=5; i <= 100; i++){
dimming=i;
delay(10);
}
for (int i=30; i <= 100; i++){
dimming=i;
delay(3);
}
for (int i=5; i <= 100; i++){
dimming=i;
delay(10);
}
for (int i=100; i >= 10; i--){
dimming=i;
delay(20);
}
for (int i=20; i <= 100; i++){
dimming=i;
delay(30);
}
for (int i=5; i <= 100; i++){
dimming=i;
delay(10);}
for (int i=2; i <= 100; i++){
dimming=i;
delay(1);}
for (int i=2; i <= 100; i++){
dimming=i;
delay(2);}
for (int i=5; i <= 100; i++){
dimming=i;
delay(3);}
for (int i=15; i <= 100; i++){
dimming=i;
delay(4);}
for (int i=25; i <= 100; i++){
dimming=i;
delay(5);}
for (int i=45; i <= 100; i++){
dimming=i;
delay(15);}
}
wmv84 вне форума   Ответить с цитированием
Старый 15.12.2017, 13:44   #822
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,053
Вес репутации: 9251
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
По умолчанию

В шапке пример для работы с 3-мя диммерами
Admin на форуме   Ответить с цитированием
Старый 23.12.2017, 01:20   #823
wmv84
Junior Member
 
Регистрация: 15.12.2017
Сообщений: 2
Вес репутации: 0
wmv84 is an unknown quantity at this point
Thumbs up

Цитата:
Сообщение от Admin Посмотреть сообщение
В шапке пример для работы с 3-мя диммерами
Разобрался! Вы Золото
wmv84 вне форума   Ответить с цитированием
Ответ


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

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

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

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

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


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


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