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

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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 22.03.2018, 07:22   #11
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 вне форума   Ответить с цитированием
 


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

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

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

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


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


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