Примеры для маленьких

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

mc_mc
Сообщения: 30
Зарегистрирован: Вс янв 27, 2013 1:09 pm
Благодарил (а): 0
Поблагодарили: 0

Re: Примеры для маленьких

Сообщение mc_mc » Пн фев 25, 2013 9:43 pm

Vadymkyr писал(а):вот тут можно прочитать про датчики Что такое 1-Wire?
хочу организовать автоматическое включение света по ИК датчику.
почитайте вот эти примеры:
Бесконтактный выключатель
Датчик препятствий или автоматический выключатель
наверно очередной глупый вопрос, но зачем мне 1-wire?
Допустим у меня есть ардуино (подключено к ПК) и какие то датчики все они подключены напрямую к той же ардуино или надо все через 1-wire?
Пример про ИК почти то, но нужно чтоб зажигался не светодиод а допустим лампа(через какое то реле).
извини что так глупо все озвучиваю.
Vadymkyr
Сообщения: 125
Зарегистрирован: Ср дек 26, 2012 8:33 pm
Откуда: Севастополь
Благодарил (а): 0
Поблагодарили: 1 раз

Re: Примеры для маленьких

Сообщение Vadymkyr » Пн фев 25, 2013 9:59 pm

вы ж не указали, какие вам нужны датчики, я для приvера скинул ссылку на цифровые датчики температуры DS18B20.
про нагрузку можно почитать Как подключить к микроконтроллеру нагрузку?
самый простой способ использовать твердотельное реле такого типа: SSR-25 DA Solid State Relay или 5V 10A 1-Channel Relay Module Board Shield
mc_mc
Сообщения: 30
Зарегистрирован: Вс янв 27, 2013 1:09 pm
Благодарил (а): 0
Поблагодарили: 0

Re: Примеры для маленьких

Сообщение mc_mc » Вт фев 26, 2013 12:36 am

Vadymkyr писал(а):вы ж не указали, какие вам нужны датчики, я для приvера скинул ссылку на цифровые датчики температуры DS18B20.
про нагрузку можно почитать Как подключить к микроконтроллеру нагрузку?
самый простой способ использовать твердотельное реле такого типа: SSR-25 DA Solid State Relay или 5V 10A 1-Channel Relay Module Board Shield
ну для примера я и хотел подключить реле SSR к ардуине, и меня интересовал скетч для управления данным реле и схема подключения
Vadymkyr
Сообщения: 125
Зарегистрирован: Ср дек 26, 2012 8:33 pm
Откуда: Севастополь
Благодарил (а): 0
Поблагодарили: 1 раз

Re: Примеры для маленьких

Сообщение Vadymkyr » Вт фев 26, 2013 12:36 pm

вот схема подключения:
Изображение
вот код для ардуино:

Код: Выделить всё

byte inByte = 0;

void setup() {
  Serial.begin(9600);
  pinMode(13, OUTPUT);
  digitalWrite(13, LOW);
}

void loop() 
{
  if (Serial.available() > 0) 
  {
    inByte = Serial.read();
      if (inByte == 1) 
        digitalWrite(3, HIGH);
      else if (inByte == 0)
         digitalWrite(3, LOW);        
   }
}
код для переключателя

Код: Выделить всё

if ($params['VALUE']) {
exec("mode com1: BAUD=9600 PARITY=N data=8 stop=1 xon=off"); 
$fp =fopen("COM1", "w"); 
fwrite($fp, chr(1));
fclose($fp); 
say("Светодиод включен",5);
} else {
exec("mode com1: BAUD=9600 PARITY=N data=8 stop=1 xon=off"); 
$fp =fopen("COM1", "w"); 
fwrite($fp, chr(0)); 
fclose($fp); ;
say("Светодиод выключен",5);
}
это если по usb подключать
mc_mc
Сообщения: 30
Зарегистрирован: Вс янв 27, 2013 1:09 pm
Благодарил (а): 0
Поблагодарили: 0

Re: Примеры для маленьких

Сообщение mc_mc » Вт фев 26, 2013 1:10 pm

или я что то не понимаю или мы про разные реле думаем.
так как я думал про твердотельное реле, а оно кажется подключается напрямую через резистор или я ошибаюсь?
Vadymkyr
Сообщения: 125
Зарегистрирован: Ср дек 26, 2012 8:33 pm
Откуда: Севастополь
Благодарил (а): 0
Поблагодарили: 1 раз

Re: Примеры для маленьких

Сообщение Vadymkyr » Вт фев 26, 2013 6:52 pm

можно и через резистор 100-500 Ом
PAV
Сообщения: 968
Зарегистрирован: Пт дек 06, 2013 11:30 am
Откуда: Москва
Благодарил (а): 71 раз
Поблагодарили: 95 раз

Re: Примеры для маленьких

Сообщение PAV » Пт дек 20, 2013 5:22 pm

Vadymkyr писал(а):если этот?

Код: Выделить всё

exec("mode com1: BAUD=9600 PARITY=N data=8 stop=1 xon=off"); 
$fp =fopen("COM1", "w"); 
fwrite($fp, chr(1));
fclose($fp); 
то нас там интересует только mode com1: BAUD=9600, где com1 - номер сом порта, к которому подключен ардуино, BAUD=9600 - скорость

Код: Выделить всё

fopen("COM1", "w"); 
открываем порт 1 для записи,

Код: Выделить всё

fwrite($fp, chr(1));
записываем 1.
Подскажите, а как передать в ком порт, например, такую строчку пятерка, значение brightness, знак окончания строки\ - 5 $brightness \n ??
sashmen
Сообщения: 27
Зарегистрирован: Ср ноя 05, 2014 11:21 pm
Благодарил (а): 19 раз
Поблагодарили: 3 раза

Re: Примеры для маленьких

Сообщение sashmen » Вт дек 09, 2014 1:19 am

Добрый день. Не могу разобраться с типом: выбор времени.
Делаю все как на скрине, срабатывает только когда выставляю время (выставил время команда ушла, когда подходит нужное время ничего не происходит). Тыкните носом как правильно сделать?
Вложения
timebox1.PNG
timebox1.PNG (1.93 КБ) 13181 просмотр
timebox.PNG
timebox.PNG (34.88 КБ) 13181 просмотр
Сервер на raspberry pi Noolite SRF-10-1000, PT111, PU-411, mtrf-64-usb
Connect
Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 76 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Примеры для маленьких

Сообщение sergejey » Вт дек 09, 2014 10:48 am

sashmen писал(а):Добрый день. Не могу разобраться с типом: выбор времени.
Делаю все как на скрине, срабатывает только когда выставляю время (выставил время команда ушла, когда подходит нужное время ничего не происходит). Тыкните носом как правильно сделать?
Поле типа "выбор времени" не работает как таймер -- оно позволяет выставить время и сохранить его куда-нибудь (в свойство объекта). В вашем случае как раз получается, что после выбора времени отрабатывает код, который поставлен просто на каждое изменение значения данного поля. Если вам нужно сразу установить таймер и запустить какое-то действие, то можно сделать, заменив код следующим образом:

Код: Выделить всё

list($hh,$mm)=explode(':',$params['VALUE']);
$url='http://192.168.0.106:8082/command?30=ON';
setTimetOut('myTimer1',"getURL('$url',0);",$hh*60*60+$mm*60); 
И связанный объект можно даже не устанавливать -- он не используется, если не установлено ни связанное свойство, ни связанный метод.

Не скажу, что этот вариант очень красивый, но рабочий. Возможно, удобней устанавливать в какое-то свойство значение времени и отдельной кнопкой запускать таймер или отменять его.
За это сообщение автора sergejey поблагодарил:
sashmen (Вт дек 09, 2014 6:55 pm)
Рейтинг: 1.16%

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
sashmen
Сообщения: 27
Зарегистрирован: Ср ноя 05, 2014 11:21 pm
Благодарил (а): 19 раз
Поблагодарили: 3 раза

Re: Примеры для маленьких

Сообщение sashmen » Вт дек 09, 2014 6:52 pm

sergejey писал(а):
sashmen писал(а):Добрый день. Не могу разобраться с типом: выбор времени.
Делаю все как на скрине, срабатывает только когда выставляю время (выставил время команда ушла, когда подходит нужное время ничего не происходит). Тыкните носом как правильно сделать?
Поле типа "выбор времени" не работает как таймер -- оно позволяет выставить время и сохранить его куда-нибудь (в свойство объекта). В вашем случае как раз получается, что после выбора времени отрабатывает код, который поставлен просто на каждое изменение значения данного поля. Если вам нужно сразу установить таймер и запустить какое-то действие, то можно сделать, заменив код следующим образом:

Код: Выделить всё

list($hh,$mm)=explode(':',$params['VALUE']);
$url='http://192.168.0.106:8082/command?30=ON';
setTimetOut('myTimer1',"getURL('$url',0);",$hh*60*60+$mm*60);
И связанный объект можно даже не устанавливать -- он не используется, если не установлено ни связанное свойство, ни связанный метод.

Не скажу, что этот вариант очень красивый, но рабочий. Возможно, удобней устанавливать в какое-то свойство значение времени и отдельной кнопкой запускать таймер или отменять его.
Что-то не работает. :cry:
Хочу чтобы свет в 8-30 вкл., а 20-00 выкл. нужно для аквариума.
Что-бы время можно было в живую корректировать при необходимости.
Расскажите как это правильно и красиво организовать, думаю многим новичкам будет интересно.
И можно по подробней про код что для чего и зачем. Заранее премного благодарен.
Вложения
timebox2.PNG
timebox2.PNG (3.95 КБ) 13134 просмотра
Сервер на raspberry pi Noolite SRF-10-1000, PT111, PU-411, mtrf-64-usb
Connect
Ответить