Помогите дописать прогу

Тема в разделе "Arduino & Shields", создана пользователем Dr_virus, 21 мар 2015.

  1. Dr_virus

    Dr_virus Нуб

    Господа, имеется сдвоенное реле, есть программа для управление реле с пульта ИК, все работает, но нужно чтобы можно было управлять и вторым реле на этом модуле, помогите дописать нужное)))) ниже скетч для одного реле, как сделать чтобы можно было управлять и вторым?)))


    #include <IRremote.h>

    int RECV_PIN = 3; //пин подключения IR приёмника
    int RELAY_PIN = 7; //пин подключения реле

    IRrecv irrecv(RECV_PIN);
    decode_results results;
    bool LampState = false;

    void setup()
    {
    pinMode(RELAY_PIN,OUTPUT);
    digitalWrite(RELAY_PIN,LOW);
    irrecv.enableIRIn(); // Включаем ресивер
    }

    void loop()
    {
    if (irrecv.decode(&results))
    {
    if (results.value == 16713975) //Код кнопки
    {
    LampState = !LampState;
    if (LampState)
    {
    digitalWrite(RELAY_PIN,HIGH);
    }
    else
    {
    digitalWrite(RELAY_PIN,LOW);
    }
    }
    irrecv.resume(); // Получаем следующее значение
    }
    }
     
  2. vvr

    vvr Инженерище

    Код (Text):
    #include <IRremote.h>

    int RECV_PIN = 3;        //пин подключения IR приёмника
    int RELAY_PIN1 = 7;    //пин подключения реле 1
    int RELAY_PIN2 = 8;   //пин подключения реле 2

    IRrecv irrecv(RECV_PIN);
    decode_results results;
    bool LampState1 = false;
    bool LampState2 = false;

    void setup()
    {
      pinMode(RELAY_PIN1,OUTPUT);
      digitalWrite(RELAY_PIN1,LOW);
      pinMode(RELAY_PIN2,OUTPUT);
      digitalWrite(RELAY_PIN2,LOW);
      irrecv.enableIRIn();                             // Включаем ресивер
    }

    void loop()
    {
      if (irrecv.decode(&results))
      {
        if (results.value == 16713975)             //Код кнопки для 1 реле
        {
          LampState1 = !LampState1;
          if (LampState1)
          {
            digitalWrite(RELAY_PIN1,HIGH);
          }
          else
          {
            digitalWrite(RELAY_PIN1,LOW);
          }
        }
        if (results.value == ...........)                //Код кнопки для 2 реле
        {
          LampState2 = !LampState2;
          if (LampState2)
          {
            digitalWrite(RELAY_PIN2,HIGH);
          }
          else
          {
            digitalWrite(RELAY_PIN2,LOW);
          }
        }
        irrecv.resume();        // Получаем следующее значение
      }
    }
     
     
    Dr_virus нравится это.
  3. Dr_virus

    Dr_virus Нуб

    Большое спасибо, все работает)))))
     
  4. vvr

    vvr Инженерище

    успехов :)
     
  5. Dr_virus

    Dr_virus Нуб

    спасибо, стараюсь, правда ик модуль так и не удается победить с этими нулями дурацкими((((
     
  6. vvr

    vvr Инженерище

    какими нулями?
     
  7. Dr_virus

    Dr_virus Нуб

    при нажатии кнопок на пульте если направлять прям точно в ИК приемник и с расстояние метра 1,5 то вроде норм, а если чуть в сторону буквально на 10 см или отойти подальше то вместо кода читает 0 при нажатии на кнопку...
     
  8. M0ln1a

    M0ln1a Гик

    А можно вопрос, в чем заключается проект? Может тоже попробую выполнить...
     
  9. vvr

    vvr Инженерище

    может попробовать пультец поменять
     
  10. Dr_virus

    Dr_virus Нуб

    менял 3 штуки точно так же один пульт был в комплекте с ик модулем такой мелкий http://ru.aliexpress.com/item/Hot-S...-Wholesale/1666603771.html?recommendVersion=1
    пробовал пульт от фоторамки и от ТВ, результат один, очень плохое считывание кода кнопок, чуть в сторону и все нули(((
    Проектом это назвать сложно)))) делаю включение с пульта своей катушки Тесла, она собрана на лампе ГУ-81М там смысл в том, что нужно сначала включить накал лампы, а через 15-20 сек основной трансформатор, вот решил это автоматизировать, двойное реле ардуино нано, ик приемник с пультом, но вот пульт что и ИК что то подводят(((
     
  11. vvr

    vvr Инженерище

    а поменять ir диод?
    я нашёл бу диод и с пультом noname у меня всё заработало.
     
  12. M0ln1a

    M0ln1a Гик

    Понятно, хорошая идея!
     
  13. Dr_virus

    Dr_virus Нуб

    можно попробовать поменять, пожалуй куплю на недельке.

    Поменял нашел у себя та же фигня, но заметил вот что, сам этот ик модуль представляет из себя платку с самим ИК диодом, одним резистром и светодиодом который мигает когда нажимаешь кнопку на пульте, т.е. в момент приема комманды( кстатти забавно но мигает он всегда даже когда принимаетя ноль) ну так вот, впаивание вместо родного ик диода нового ничего не дало, все так же, но я потом попробовал просто подключить ик диод напрямую без этой минимальной обвязки с одним резистром и светодиодом, нули перестали ловится, но вместо них ловится ошибочный код, точно так же как и нули, но теперь код, RC цепочку тоже лепил керамику + электролит, не помогло)))
     
    Последнее редактирование: 21 мар 2015