Подключение концевика к ардуино

Тема в разделе "Arduino & Shields", создана пользователем Zodiak, 14 мар 2017.

  1. Zodiak

    Zodiak Нуб

    Здравстсвуйте

    Подскажите, каким образом подключить обычный концевик на ардуинку.

    пытаюсь создать проект под автономный парник... задача, что бы при достижении определенной температуры , открывалась дверь в парнике. Для ограничения открытия и закрытия двери хочу использовать концевики, на общий контакт концевика будет подаваться сигнал с ардуинки, но обратно он при закрытой двери доходить не должен. После поднятия температуры выше назначенной и при условии, что сигнал с концевика не приходить, дверь должна открываться, до тех пор, пока не сработает концевик и с него придет сигнал на ардуинку.

    Ниже мой код, но что-то не работает. Подскажите кто разбирается, а то не особо секу в этом




    ///ДАТЧИК ТЕМПЕРАТУРЫ(ОТКРЫТИЕ ДВЕРИ)


    if (analogRead(DatT)>35&&(conc_o)==LOW)//условие:если темперетура больше 35 С то...
    {
    digitalWrite(rele_z,LOW);//реле закрытие двери не активно
    digitalWrite(conc,HIGH);//сигнал на концевик двери включена
    digitalWrite(rele_o,HIGH);//включается реле открытие двери
    }
    else
    {
    digitalWrite(rele_o,LOW);//реле открытия двери не активно
    }
    if (analogRead(DatT)<25&&(conc_z)==LOW)//условие:если темперетура меньше 25 С то...
    {
    digitalWrite(rele_o,LOW);//реле открытия двери не активно
    digitalWrite(conc,HIGH);//сигнал на концевик двери включен
    digitalWrite(rele_z,HIGH);//включается реле закрытия двери
    }
    else
    {
    digitalWrite(rele_z,LOW);//реле закрытия двери
    }
     
  2. rkit

    rkit Гуру

    Подключаете реле открытия двери через нормально замкнутый контакт концевика. Всё. С ардуино тут заниматься не надо. Но если интересно, то ищите пример подключения кнопки. Их навалом.
     
    serg_admin нравится это.
  3. Zodiak

    Zodiak Нуб

    имеете ввиду так сделать
    if (analogRead(DatT)>35&&(conc_o)==HIGH)//условие:если темперетура больше 35 С то... ???
     
  4. rkit

    rkit Гуру

    Нет, не имею.
     
  5. Zodiak

    Zodiak Нуб

    о чем тогда ответ
     
  6. rkit

    rkit Гуру

    О том, как правильно подключить концевик в данном случае, и где искать информацию для ознакомления.
     
  7. Zodiak

    Zodiak Нуб

    вот и я говорю, ответ не о чем
     
  8. rkit

    rkit Гуру

    А что вас не устраивает?
     
  9. serg_admin

    serg_admin Гик

    Это возможно правильно.
    Код (C++):
    if (analogRead(DatT)<25&&(conc_z)==LOW)
    И этото возможно то же.
    Зависит где второй конец концевика.

    Нужна схема и описание проблемы.
    Согласен с таким подходом. Работать будет надежно. По сути вы подключаете концевик последовательно с контактами реле, и двигатель ни когда не включится если концевик разомкнут. Если непонятно пишите кто-нибудь наверняка схему набросает.
     
  10. mcureenab

    mcureenab Гуру

    У вас analogRead(DatT) таки прям градусы выдает, а не уе?
     
  11. Tomasina

    Tomasina Сушитель лампочек Модератор

    где код?
     
  12. Zodiak

    Zodiak Нуб


    градусы, градусы
     
  13. Zodiak

    Zodiak Нуб

    ну так если контакт с концевика разорвет цепь с реле, как он потом закроет дверь, если цепь будет разорвана...
     
  14. mcureenab

    mcureenab Гуру

    По коду не вижу проблем.
    А что конкретно происходит?
     
  15. Zodiak

    Zodiak Нуб

    Не срабатывает условие... температура показывает больше 35 градусов, с концевика сигнал не приходит...А реле не включается.
     
  16. mcureenab

    mcureenab Гуру

    А вы значение conc_o, conc_z вообще считываете?
     
  17. serg_admin

    serg_admin Гик

    Там два реле. И два концевика
     
  18. Zodiak

    Zodiak Нуб

    не совсем понял
     
  19. mcureenab

    mcureenab Гуру

    Код (C++):
    conc_o = digitalRead(????

    conc_z = digitalRead(????
     
  20. Zodiak

    Zodiak Нуб

    ну если так, но получается ардуина на реле будет постоянно выдавать 5v на реле, даже после срабатывания концевика... если только не поставить концевик в разрыв питания реле