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

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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 05.12.2013, 00:07   #1
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9820
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
По умолчанию CyberWrt модуль "Dimmer"

Для примера работы с ползунками в CyberWrt выложили модуль "Dimmer"
Для работы с Arduino Nano потребуется установить модуль "Драйвер FTDI"
и прошить ардуинку кодом приведенном ниже
В примере реализовано 10-и ступенчатое управление, но ничто не мешает
подправить код и сделать регулировку от 0 до 255

Название: dimm.png
Просмотров: 8617

Размер: 2.3 Кб
PHP код:
#include <CyberLib.h> //Библиотека от Cyber-Place.ru
volatile uint8_t ticDimmer1=255;
uint8_t data;

void setup() 

  
D4_OutD3_Out;//Настраиваем порты на выход
  
D4_LowD3_High;//установить на выходах низкий уровень сигнала
  
D2_In//настраиваем порт на вход для отслеживания прохождения сигнала через ноль  
  
attachInterrupt(0detect_upLOW);  // настроить срабатывание прерывания interrupt0 на pin 2 на низкий уровень
  
StartTimer1(halfcycle40); //время для одного разряда ШИМ
  
StopTimer1(); //остановить таймер
  
UART_Init(57600); //инициализация порта
}
//********************обработчики прерываний*******************************
void halfcycle()  //прерывания таймера

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

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

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

//*************************************************************************
void loop() 
{
Start
  
if (UART_ReadByte(data))
 {
   if(
data>47 && data<59)
    {
      
data=225-(data-48)*25;
      
Dimmer1=data;
    }
 } 
End
На видео можно посмотреть как работает модуль "Dimmer"
Управление осуществляется из браузера с планшета

Admin вне форума   Ответить с цитированием
Старый 05.12.2013, 00:50   #2
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9820
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: CyberWrt модуль "Dimmer"

Если Вам нужно управлять ШИМ-ом, для изменения яркости светодиода или оборотов электромотора постоянного тока, то Вам для этого достаточно только поменять код в Ардуино
Пины для этого можно использовать только 3, 5, 6, 9, 10, 11

PHP код:
#define ledPin 10
void setup()
{
  
pinMode(ledPinOUTPUT);
  
Serial.begin(57600);
}

void loop()
{
  if (
Serial.available())
  {
    
byte inByte Serial.read();
    if(
inByte>47 && inByte<59)
    {
      
inByte=(inByte-48)*28;
      
analogWrite(ledPininByte);
    }
  }

Admin вне форума   Ответить с цитированием
Старый 05.12.2013, 01:26   #3
azh122
Junior Member
 
Регистрация: 23.05.2013
Сообщений: 24
Вес репутации: 0
azh122 is an unknown quantity at this point
По умолчанию Re: CyberWrt модуль "Dimmer"

я наверное торможу, но как то идею не пойму.
Есть многообощающий SmartНомe. Мне казалось что это должно все это работать примерно так: есть дуины, которые собирают инфо со все возможных датчиков, управляют светом и пр. А роутер - просто веб интерфейс, для удаленного и не только доступа. Другими словам источник данных не только роутер, но и дуины. А тут получается что только роутер рулит - обратной связи то нет. Для робота это нормально, но для смартхома - ну ни в какие ворота. Может модули button и dimmer в робот перекинуть? Или я чего то не понимаю?
azh122 вне форума   Ответить с цитированием
Старый 05.12.2013, 01:57   #4
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9820
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: CyberWrt модуль "Dimmer"

Это же только пример работы кнопок и ползунков
Более серьезные модули будут со временем, но не так быстро как хотелось бы.
Все идет поэтапно, от минимума к максимуму. Обратную связь реализуем тоже.
Взяв за основу эти модули Вы сами сможете сделать любое количество кнопок и ползунков.
Так же в написании модулей, любой желающий может принять участие
Инструкцию как это сделать скоро выложу.
Admin вне форума   Ответить с цитированием
Старый 03.01.2014, 11:37   #5
Djambul
Junior Member
 
Регистрация: 01.01.2014
Сообщений: 8
Вес репутации: 0
Djambul is an unknown quantity at this point
По умолчанию Re: CyberWrt модуль "Dimmer"

Очень бы хотелось принять участие в написании модулей. А по сему... буду очень ждать инструкций.
Djambul вне форума   Ответить с цитированием
Старый 03.01.2014, 11:44   #6
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9820
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: CyberWrt модуль "Dimmer"

Инструкция по созданию модулей
Исли что то будет не понятно спрашивайте
Admin вне форума   Ответить с цитированием
Старый 30.05.2014, 15:29   #7
Sirocco
Senior Member
 
Регистрация: 12.10.2012
Адрес: Moscow-Voronezg
Сообщений: 272
Вес репутации: 0
Sirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant future
По умолчанию Re: CyberWrt модуль "Dimmer"

НЕ работает. Ардуино просто молчит. Драйверы установил. Скетч просто ШИМ залил. На пин10 нет сигнала. В USB роутера вставлен CP2102 его Rx,Tx, Vcc и GND подключены к ардуино (этим адептером и прошиваю ардуинку). Скорость драйвера в роутере как и в скетче поставил 57600.
Как проверить без роутера? Что в serial port послать на ардуино?
Sirocco вне форума   Ответить с цитированием
Старый 30.05.2014, 16:08   #8
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9820
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: CyberWrt модуль "Dimmer"

А скетч Ваш можно посмотреть?
Скетч из шапки Вам не подойдет, так как он использует обратную связь от детектора ноля
Admin вне форума   Ответить с цитированием
Старый 30.05.2014, 17:01   #9
Sirocco
Senior Member
 
Регистрация: 12.10.2012
Адрес: Moscow-Voronezg
Сообщений: 272
Вес репутации: 0
Sirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant future
По умолчанию Re: CyberWrt модуль "Dimmer"

Скетч точь в точь из второго сообщения. Всё заработало, не знаю даже, в чём проблема была.
Пока вижу два недостатка:
- Нет обратной связи. Для управления есть до безобразия простой планшет, комп, мобила и айпад. Если менять положение движка на одном устройстве, оно не меняется на других.
- Пока двигаю мышкой ползунок, яркость не меняется и значения в цифрах тоже, значение яркости устанавливается только по отпусканию кнопки мыши, что не удобно. Хотелось бы в реальном времени.

В остальном всё отлично.
Sirocco вне форума   Ответить с цитированием
Старый 30.05.2014, 17:06   #10
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9820
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: CyberWrt модуль "Dimmer"

Это был простейший пример. Можно при желании дописать под себя и с обратной связью
Admin вне форума   Ответить с цитированием
Ответ


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

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

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

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

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


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


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