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

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

Модератор:immortal

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

Сообщение mc_mc » Пт фев 22, 2013 11:33 am

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

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

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

ethernet shield есть? Или вы хотите через USB?
mc_mc
Сообщения:30
Зарегистрирован:Вс янв 27, 2013 1:09 pm
Благодарил (а): 0
Поблагодарили: 0

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

Сообщение mc_mc » Пт фев 22, 2013 12:56 pm

через юсб
paf
Сообщения:56
Зарегистрирован:Ср янв 09, 2013 7:39 pm
Благодарил (а): 0
Поблагодарили: 2 раза

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

Сообщение paf » Пт фев 22, 2013 1:36 pm

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

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

Сообщение Vadymkyr » Пт фев 22, 2013 3:43 pm

вот код для Arduino
если послать 1, то светодиод на 13 пине включится, если 0 - выключится.

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

byte inByte = 0;

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

void loop() {
  if (Serial.available() > 0) 
  {
    inByte = Serial.read();
      switch (inByte) 
    {
        case 1:
            digitalWrite(13, HIGH);
        break;  
         case 0:
            digitalWrite(13, LOW);
        break; 
       }
   }
}  
или так

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

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(13, HIGH);
      else if (inByte == 0)
         digitalWrite(13, 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);
}

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

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

Сообщение mc_mc » Пт фев 22, 2013 3:57 pm

Vadymkyr писал(а):вот код для Arduino

код для переключателя

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


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);
}

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

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

Сообщение Vadymkyr » Пт фев 22, 2013 5:48 pm

Панель управления -> Меню управления -> Управление -> Добавить (дочерний пункт) -> Тип выключатель -> Сохранить.
Потом в поле вставить этот код
paf
Сообщения:56
Зарегистрирован:Ср янв 09, 2013 7:39 pm
Благодарил (а): 0
Поблагодарили: 2 раза

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

Сообщение paf » Пт фев 22, 2013 7:41 pm

Имеется ввиду панель управления MajorDoMo.
А такой скетчик можно использовать? Подглядел на Arduino.ru.

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

int Pin = 13;
int nBytes,i;
byte pwdOK;
char str[9];
char Password[]="qwerty";

void setup()
{
Serial.begin(9600);
pinMode(Pin, OUTPUT);
}
void loop(){
// есть что-то на входе?
if (nBytes=Serial.available()) {
// читаем введенные символы
  for(i=0; i < nBytes; i++) 
  str[i]=Serial.read();
  str[i]=0;
// проверяем ввод на соответствие паролю
  pwdOK=1;
  for(i=0; i <= nBytes; i++) 
  if(str[i]!=Password[i]) pwdOK=0;

  if (pwdOK) 
  	 {
     Serial.println("Ok!");
        for(i=0; i < nBytes; i++) 
  { 
	digitalWrite(Pin, HIGH);
       	Serial.print(str[i]);/* ветка, выполняемая, если введен правильный пароль */
  }
  }  
   
  
  else 
  {
  digitalWrite(Pin, LOW);
  Serial.println();
  Serial.println("Err");/* ветка, выполняемая, если введен неправильный пароль */}
}
delay(3000);
}
Спасибо за примеры!
С уважением, Петр.
Vadymkyr
Сообщения:125
Зарегистрирован:Ср дек 26, 2012 8:33 pm
Откуда:Севастополь
Благодарил (а): 0
Поблагодарили: 1 раз

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

Сообщение Vadymkyr » Пт фев 22, 2013 8:06 pm

почему же нет, смотря для каких целей:)
mc_mc
Сообщения:30
Зарегистрирован:Вс янв 27, 2013 1:09 pm
Благодарил (а): 0
Поблагодарили: 0

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

Сообщение mc_mc » Пт фев 22, 2013 9:40 pm

спасибо получилось
Ответить