Прошу помощи.

Тема в разделе "Arduino & Shields", создана пользователем UDAV2002, 11 ноя 2012.

  1. UDAV2002

    UDAV2002 Нуб

    Собственно в наличии есть:
    1.Ардуино УНО вер3
    2.Тройка Шилд
    3.Пироэлектрический датчик движения
    4.Релейный модуль
    Все комлектующие куплены в Амперке,суть вопроса такова,как всё это грамотно подключить(соединить) и как правильно составить скетч на их совместную работу.
    Заранее спасибо.
     
  2. nailxx

    nailxx Официальный Нерд Администратор

    • Troyka ставится на Uno
    • Датчик в любую тройку цифровых пинов
    • Реле в любую тройку цифровых пинов
    Скетч зависит от того, что именно вы хотите реализовать. Расскажете?
     
  3. Citrus

    Citrus Нерд

    как я понял человек хочет сделать из этого набора Уличный или не уличный фонарь с датчиком движения )
     
  4. nailxx

    nailxx Официальный Нерд Администратор

    Пожалуй. Тогда код, с которого стоит начинать довольно прост:

    Код (Text):

     
    #define RELAY_PIN   4
    #define PIR_PIN     5
     
    void setup()
    {
        pinMode(RELAY_PIN, OUTPUT);
    }
     
    void loop()
    {
        digitalWrite(RELAY_PIN, !digitalRead(PIR_PIN));
        delay(1000);
    }
     
     
  5. nailxx

    nailxx Официальный Нерд Администратор

    Собственно, тогда пробуйте написанный скетч.
     
  6. UDAV2002

    UDAV2002 Нуб

    Спасибо за скетч.Вчера его загрузил,результат таков:
    Реле щёлкает как "метроном"-то есть с определённой частотой,не зависимо от PIR(подключен или нет ,не важно).Попытался настроить сам PIR(но там только Delay Time).В общем пока не получается,в чём проблема пока не могу понять.
    С уважением Владимир.
     
  7. nailxx

    nailxx Официальный Нерд Администратор

    Если оно щёлкает, стало быть датчик движения выдаёт то одно, то другое, что само по себе не плохо. Увеличте значение delay в коде, скажем до 10 000. И после включения девайса обязательно дайте датчику «настояться» где-то полминуты-минуту, не создавая движения.
     
  8. Unixon

    Unixon Оракул Модератор

    Код (Text):

    #define RELAY_PIN   4
    #define PIR_PIN     5
     
    void setup()
    {
     pinMode(RELAY_PIN, OUTPUT);
    }
     
    void loop()
    {
     int x = digitalRead(PIR_PIN);
     digitalWrite(RELAY_PIN, !x);
     if (x) delay(9000);
     delay(1000);
    }
     
     
  9. UDAV2002

    UDAV2002 Нуб

    Дейтсвовал согласно рекомендациям,результат тот же,не работает сборка.Интересно а сам датчик можно как нибудь проверить.
     
  10. nailxx

    nailxx Официальный Нерд Администратор

    Проще всего просто отобразить значения датчика на встроенный светодиод и убрать из схемы всё остальное:

    Код (Text):

    void setup()
    {
        pinMode(13, OUTPUT);
    }
     
    void loop()
    {
        digitalWrite(13, digitalRead(5));
    }
     
    включить, дать настояться и посмотреть как ведёт себя датчик.
     
  11. UDAV2002

    UDAV2002 Нуб

    Спасибо,вроде что то начинает вырисовываться,о кончном результате сообщу позднее.