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

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

Модератор: immortal

mc_mc
Сообщения: 30
Зарегистрирован: Вс янв 27, 2013 1:09 pm

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

Сообщение mc_mc »

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

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

Сообщение Vadymkyr »

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

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

Сообщение mc_mc »

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
Откуда: Севастополь

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

Сообщение Vadymkyr »

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

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

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

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

Сообщение mc_mc »

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

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

Сообщение Vadymkyr »

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

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

Сообщение PAV »

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

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

Сообщение sashmen »

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

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

Сообщение 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); 
И связанный объект можно даже не устанавливать -- он не используется, если не установлено ни связанное свойство, ни связанный метод.

Не скажу, что этот вариант очень красивый, но рабочий. Возможно, удобней устанавливать в какое-то свойство значение времени и отдельной кнопкой запускать таймер или отменять его.

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

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

Сообщение sashmen »

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 КБ) 13962 просмотра
Сервер на raspberry pi Noolite SRF-10-1000, PT111, PU-411, mtrf-64-usb
Connect
Ответить