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

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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 22.03.2018, 07:22   #841
KVL80
Junior Member
 
Регистрация: 16.03.2018
Сообщений: 8
Вес репутации: 0
KVL80 is an unknown quantity at this point
По умолчанию

Цитата:
Сообщение от Admin Посмотреть сообщение
А библиотека CyberLib установлена?
Использую вот этот скетч
PHP код:
#include <cyberpins.h> //быстрое управление пинами 
#include <TimerOne.h> //использует Timer1 
volatile uint8_t ticDimmer1Dimmer2Dimmer3
char unitID_in[10]; 
char command_in[10]; 
char data_in[100]; 
  

void setup()  

  
Serial.begin(9600);  
  
D4_Out//Настраиваем порт на выход Dimmer1 
  
D5_Out//Настраиваем порт на выход Dimmer2 
  
D6_Out//Настраиваем порт на выход Dimmer3 
  
D4_LOWD5_LOWD6_LOW//установить на выходах низкий уровень сигнала 
  
D2_In//настраиваем порт на вход для отслеживания прохождения сигнала через ноль   
    
  
attachInterrupt(0detect_upFALLING);  // настроить срабатывание прерывания int0 на pin 2  

  
Timer1.initialize(40);              // Интервал срабатывания таймера в мкс  
  
Timer1.attachInterrupt(halfcycle);   //будет вызыватся каждый раз при отсчете заданого времени 
  
Timer1.stop(); 

//********************обработчики прерываний******************************* 
void halfcycle()  //прерывания таймера 
{  
  
tic++;  //счетчик   
  
if(Dimmer1 tic D4_HIGH//управляем выходом 
  
if(Dimmer2 tic D5_HIGH;  //управляем выходом 
  
if(Dimmer3 tic D6_HIGH;  //управляем выходом  


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

void  detect_down()  // обработка внешнего прерывания. Сработает по заднему фронту синусоиды 
{    
 
Timer1.stop(); //остановить таймер 
 
D4_LOWD5_LOWD6_LOW//логический ноль на выходы 
 
tic=0;       //обнулить счетчик 
 
attachInterrupt(0detect_upFALLING); //перепрограммировать прерывание на другой обработчик 
}  
//************************************************************************* 
void loop()  

   
  
int i=0
  
char buffer[100]; 
  
//если есть данные - читаем 
  
if(Serial.available()){ 
     
delay(100); 
       
     
//загоняем прочитанное в буфер 
     
while( Serial.available() && i99) { 
        
buffer[i++] = Serial.read(); 
     } 
     
//закрываем массив 
     
buffer[i++]='\0'
  } 
  
//если буфер наполнен 
  
if(i>0){   
      
    
//разбираем его на части отделенные запятой 
   // sscanf(buffer, "%[^'h']h%[^'h']%s", &unitID_in, &command_in, &data_in); 
    
sscanf(buffer"%s%s%d",&unitID_in,&command_in, &data_in); 

      
  } 
    
//Исполнительная часть 
//Проверяем какому устройству пришли данные     
// Выполнение команды устройством 001 
     
if ((String)unitID_in == "001"){ 
      if ((String)
command_in == "0"){Dimmer1=0;} 
      if ((String)
command_in == "1"){Dimmer1=1;} 
      if ((String)
command_in == "2"){Dimmer1=2;} 
      if ((String)
command_in == "3"){Dimmer1=3;} 
      if ((String)
command_in == "4"){Dimmer1=4;} 
      if ((String)
command_in == "5"){Dimmer1=5;} 
      if ((String)
command_in == "6"){Dimmer1=6;} 
      if ((String)
command_in == "7"){Dimmer1=7;} 
      if ((String)
command_in == "8"){Dimmer1=8;} 
      if ((String)
command_in == "9"){Dimmer1=9;}    
      if ((String)
command_in == "10"){Dimmer1=10;} 
      if ((String)
command_in == "11"){Dimmer1=11;} 
      if ((String)
command_in == "12"){Dimmer1=12;} 
      if ((String)
command_in == "13"){Dimmer1=13;} 
      if ((String)
command_in == "14"){Dimmer1=14;} 
      if ((String)
command_in == "15"){Dimmer1=15;} 
      if ((String)
command_in == "16"){Dimmer1=16;} 
      if ((String)
command_in == "17"){Dimmer1=17;} 
      if ((String)
command_in == "18"){Dimmer1=18;}  
      if ((String)
command_in == "19"){Dimmer1=19;} 
      if ((String)
command_in == "20"){Dimmer1=20;} 
      if ((String)
command_in == "21"){Dimmer1=21;} 
      if ((String)
command_in == "22"){Dimmer1=22;} 
      if ((String)
command_in == "23"){Dimmer1=23;} 
      if ((String)
command_in == "24"){Dimmer1=24;} 
      if ((String)
command_in == "25"){Dimmer1=25;} 
      if ((String)
command_in == "26"){Dimmer1=26;} 
      if ((String)
command_in == "27"){Dimmer1=27;}  
      if ((String)
command_in == "28"){Dimmer1=28;} 
      if ((String)
command_in == "29"){Dimmer1=29;} 
      if ((String)
command_in == "30"){Dimmer1=30;} 
      if ((String)
command_in == "31"){Dimmer1=31;} 
      if ((String)
command_in == "32"){Dimmer1=32;} 
      if ((String)
command_in == "33"){Dimmer1=33;} 
      if ((String)
command_in == "34"){Dimmer1=34;} 
      if ((String)
command_in == "35"){Dimmer1=35;} 
      if ((String)
command_in == "36"){Dimmer1=36;}  
      if ((String)
command_in == "37"){Dimmer1=37;} 
      if ((String)
command_in == "38"){Dimmer1=38;} 
      if ((String)
command_in == "39"){Dimmer1=39;} 
      if ((String)
command_in == "40"){Dimmer1=40;} 
      if ((String)
command_in == "41"){Dimmer1=41;} 
      if ((String)
command_in == "42"){Dimmer1=42;} 
      if ((String)
command_in == "43"){Dimmer1=43;} 
      if ((String)
command_in == "44"){Dimmer1=44;} 
      if ((String)
command_in == "45"){Dimmer1=45;} 
      if ((String)
command_in == "46"){Dimmer1=46;} 
      if ((String)
command_in == "47"){Dimmer1=47;} 
      if ((String)
command_in == "48"){Dimmer1=48;} 
      if ((String)
command_in == "49"){Dimmer1=49;} 
      if ((String)
command_in == "50"){Dimmer1=50;} 
      if ((String)
command_in == "51"){Dimmer1=51;} 
      if ((String)
command_in == "52"){Dimmer1=52;} 
      if ((String)
command_in == "53"){Dimmer1=53;} 
      if ((String)
command_in == "54"){Dimmer1=54;} 
      if ((String)
command_in == "55"){Dimmer1=55;}  
      if ((String)
command_in == "56"){Dimmer1=56;} 
      if ((String)
command_in == "57"){Dimmer1=57;} 
      if ((String)
command_in == "58"){Dimmer1=58;} 
      if ((String)
command_in == "59"){Dimmer1=59;} 
      if ((String)
command_in == "60"){Dimmer1=60;} 
      if ((String)
command_in == "61"){Dimmer1=61;} 
      if ((String)
command_in == "62"){Dimmer1=62;} 
      if ((String)
command_in == "63"){Dimmer1=63;} 
      if ((String)
command_in == "64"){Dimmer1=64;} 
      if ((String)
command_in == "65"){Dimmer1=65;}  
      if ((String)
command_in == "66"){Dimmer1=66;} 
      if ((String)
command_in == "67"){Dimmer1=67;} 
      if ((String)
command_in == "68"){Dimmer1=68;} 
      if ((String)
command_in == "69"){Dimmer1=69;} 
      if ((String)
command_in == "70"){Dimmer1=70;} 
      if ((String)
command_in == "71"){Dimmer1=71;} 
      if ((String)
command_in == "72"){Dimmer1=72;} 
      if ((String)
command_in == "73"){Dimmer1=73;} 
      if ((String)
command_in == "74"){Dimmer1=74;} 
      if ((String)
command_in == "75"){Dimmer1=75;}  
      if ((String)
command_in == "76"){Dimmer1=76;} 
      if ((String)
command_in == "77"){Dimmer1=77;} 
      if ((String)
command_in == "78"){Dimmer1=78;} 
      if ((String)
command_in == "79"){Dimmer1=79;} 
      if ((String)
command_in == "80"){Dimmer1=80;} 
      if ((String)
command_in == "81"){Dimmer1=81;} 
      if ((String)
command_in == "82"){Dimmer1=82;} 
      if ((String)
command_in == "83"){Dimmer1=83;} 
      if ((String)
command_in == "84"){Dimmer1=84;} 
      if ((String)
command_in == "85"){Dimmer1=85;}  
      if ((String)
command_in == "86"){Dimmer1=86;} 
      if ((String)
command_in == "87"){Dimmer1=87;} 
      if ((String)
command_in == "88"){Dimmer1=88;} 
      if ((String)
command_in == "89"){Dimmer1=89;} 
      if ((String)
command_in == "90"){Dimmer1=90;} 
      if ((String)
command_in == "91"){Dimmer1=91;} 
      if ((String)
command_in == "92"){Dimmer1=92;} 
      if ((String)
command_in == "93"){Dimmer1=93;} 
      if ((String)
command_in == "94"){Dimmer1=94;} 
      if ((String)
command_in == "95"){Dimmer1=95;}  
      if ((String)
command_in == "96"){Dimmer1=96;} 
      if ((String)
command_in == "97"){Dimmer1=97;} 
      if ((String)
command_in == "98"){Dimmer1=98;} 
      if ((String)
command_in == "99"){Dimmer1=99;} 
      if ((String)
command_in == "100"){Dimmer1=100;} 
      } 
     
   
Dimmer2=50//200=мин. 0=макс 255=выкл 
   
Dimmer3=90//200=мин. 0=макс 255=выкл 

KVL80 вне форума   Ответить с цитированием
Старый 22.03.2018, 07:52   #842
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823
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
По умолчанию

В этом скетче две другие библиотеки
#include <cyberpins.h>
#include <TimerOne.h>

Лучше начните с этого скетча
Admin вне форума   Ответить с цитированием
Старый 27.04.2018, 03:59   #843
yden
Junior Member
 
Регистрация: 27.04.2018
Сообщений: 4
Вес репутации: 0
yden is an unknown quantity at this point
По умолчанию

Здравствуйте.
Подскажите пожалуйста, как подключить (код) этот девайс:

благодарю
Изображения
 
yden вне форума   Ответить с цитированием
Старый 27.04.2018, 07:44   #844
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823
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 вне форума   Ответить с цитированием
Старый 27.04.2018, 11:46   #845
yden
Junior Member
 
Регистрация: 27.04.2018
Сообщений: 4
Вес репутации: 0
yden is an unknown quantity at this point
По умолчанию

Цитата:
Сообщение от Admin Посмотреть сообщение
Схема есть?
Нет.
Однако она на мосфете.
yden вне форума   Ответить с цитированием
Старый 27.04.2018, 11:52   #846
sunny
Senior Member
 
Аватар для sunny
 
Регистрация: 22.10.2015
Адрес: Там где сосны и песок
Сообщений: 1,534
Вес репутации: 1601
sunny is a name known to allsunny is a name known to allsunny is a name known to allsunny is a name known to allsunny is a name known to allsunny is a name known to all
По умолчанию

Цитата:
Однако она на мосфете.
Это не о чем не говорит
AC - подключение переменого напряжения 220V.
Load - к нагрузке.
4 пина там подписаны(англ.) - на фото не разборчиво.
На плате есть адрес производителя.
Забейте название платы - datasheet - посмотрите что выйдет.
Тех.поддержка производителя опять же:
https://www.robotdyn.ru/
__________________
Читаю ваши мысли по аватару ...

Последний раз редактировалось sunny; 27.04.2018 в 11:55.
sunny вне форума   Ответить с цитированием
Старый 27.04.2018, 13:19   #847
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823
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
По умолчанию

Я думаю с такой простенькой платы за 10 мин. можно схему нарисовать
Admin вне форума   Ответить с цитированием
Старый 28.04.2018, 04:28   #848
yden
Junior Member
 
Регистрация: 27.04.2018
Сообщений: 4
Вес репутации: 0
yden is an unknown quantity at this point
По умолчанию

Цитата:
Сообщение от sunny Посмотреть сообщение
Это не о чем не говорит
AC - подключение переменого напряжения 220V.
Load - к нагрузке.
4 пина там подписаны(англ.) - на фото не разборчиво.
На плате есть адрес производителя.
Забейте название платы - datasheet - посмотрите что выйдет.
Тех.поддержка производителя опять же:
https://www.robotdyn.ru/
Извините, тупанул.
Миниатюры
Нажмите на изображение для увеличения
Название: PINOUT==0G-00005677==Mod-Dimmer-5A-1L.jpg
Просмотров: 97
Размер:	482.7 Кб
ID:	4985   DIM==0G-00005677==Mod-Dimmer-5A-1L.pdf   Нажмите на изображение для увеличения
Название: dimmer2.JPG
Просмотров: 101
Размер:	49.7 Кб
ID:	4987  

Последний раз редактировалось yden; 28.04.2018 в 04:32.
yden вне форума   Ответить с цитированием
Старый 28.04.2018, 07:52   #849
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823
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
По умолчанию

Zero-c - D2
Dimmer - D4
Gnd - Gnd
3.3 - 5v

Остальные пины sunny расписал
Admin вне форума   Ответить с цитированием
Старый 28.04.2018, 09:05   #850
yden
Junior Member
 
Регистрация: 27.04.2018
Сообщений: 4
Вес репутации: 0
yden is an unknown quantity at this point
По умолчанию

Цитата:
Сообщение от Admin Посмотреть сообщение
Zero-c - D2
Dimmer - D4
Gnd - Gnd
3.3 - 5v

Остальные пины sunny расписал
У меня с кодом напряженка. Хотелось бы 2-3 диммера к одной ардуинке цеплять.
yden вне форума   Ответить с цитированием
Ответ


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

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

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

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


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


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