РЕШЕНО Не отключается реле после активации

Тема в разделе "Arduino & Shields", создана пользователем s0meb0dy, 4 апр 2023.

Статус темы:
Закрыта.
  1. s0meb0dy

    s0meb0dy Нерд

    Привет всем.
    Подключаю помпу 5v через реле, проектов подобных в сети много. Когда нет нагрузки, реле щелкает корректно по таймеру. Подключаю светодиод, и он включается и выключается как надо. Но когда подключаю помпу, она по таймеру включается и больше не выключается.
    Прикладываю схему своего подключения, но уже много разных схем перепробовал кроме этой
    https://drive.google.com/file/d/1rHjKgYL_TGnYztsN_xBwWoR9NIObZue9/view?usp=share_link

    Скетч тестовый, просто подаю сигнал на D4 с таймером 1сек и через 1сек убираю

    void setup() {
    pinMode(4,OUTPUT);
    }


    void loop() {
    digitalWrite(4, HIGH);
    delay(1000);
    digitalWrite(4, LOW);
    delay(1000);
    }
     
    Последнее редактирование: 5 апр 2023
  2. parovoZZ

    parovoZZ Гуру

    всё это делается на флагах через switch - case с привлечением блоков сравнения таймера.
    А этот говнокод выкинуть и никогда про него не вспоминать.
     
    Airbus нравится это.
  3. User248

    User248 Гик

    Код по типу, когда простое хочешь сделать сложным. Обычный blink. Проблема не в коде.
     
    Ariadna-on-Line и Airbus нравится это.
  4. KindMan

    KindMan Гуру

    И вы решили выбрать самый убогий?

    Очень похоже на какой нибудь Flprog, в здравом уме такой код сворганить невозможно.
     
    Airbus нравится это.
  5. Airbus

    Airbus Радиохулиган Модератор

    1—Зачем так сложно? Тоже использую тестовый скетч для проверки реле обычный Blink только PIN13 заменен на необходимый. Вам Blink показать?
    2—ЕМНИП у такого реле активный уровень на включение LOW. К чему я это говорю—возможно при подключении помпы у Вас просаживается питание и управляющая часть на Ардуино выключается а реле наоборот включает нагрузку и не выключает ее через одну секунду ибо не работает Ардуино изза просадки питания. Я ясно обьяснил?
     
    s0meb0dy и arkadyf нравится это.
  6. s0meb0dy

    s0meb0dy Нерд

    1. Отвечаю всем сразу)) скетч накидал в блочной среде мблок на языке scratch. мой скетч выглядит так:
    https://drive.google.com/file/d/1X_GSVURF-PnJDZjP3GfpqzgeG5n1NXDr/view?usp=share_link
    я прислал вам то, во что мой скетч интерпритируется. Кто то сказал, проблема тут не в коде, с этим я согласен. Если кто то считает иначе, предложите кусок кода, я проведу тест.
    2. Ты не только ясно объяснил, твое объяснение так же совпадает с моей основной догадкой. Ардуино просаживается и не посылает сигнал на цифровой порт. Возможно, после просадки она перезагружается по кругу и не доходит в скетче до места отключения. Взял для опытов аккум, но ситуация не изменилась. Подскажите схему правильную))или где ее поискать. Я пользовался вариантами алекса гайвера
    3. На одном из ресурсов в faq по реле нашел следующую строчку (похоже на мой случай):
    -При включении или выключении нагрузки скетч не работает:
    Идут помехи – подайте внешнее питание на модуль.
     
    Последнее редактирование: 5 апр 2023
  7. DetSimen

    DetSimen Гуру

    и сплясать еще.
     
    parovoZZ и Feofan нравится это.
  8. s0meb0dy

    s0meb0dy Нерд

    мой аргумент в том, что в коде нет ошибок и рассуждать на эту тему не по вопросу топика. можешь не предлагать своей версии, но если пишешь что код плохой, поясни имеет ли это отношение к делу или просто треп. Если вопрос решится кодом, я сам спляшу
     
  9. ИгорьК

    ИгорьК Гуру

    Начните с того, что вставьте в сообщение код так, чтобы его было возможно читать.

    Решите эту задачу сами, хотя бы.

    P.S. Скетч для вашего вопроса настолько прост, что, на мой взгляд, вы его здесь будете долго добывать (ибо вы выкатили такое чудовище, что нет слов). Посмотрите скетч здесь.
     
    Последнее редактирование: 5 апр 2023
  10. s0meb0dy

    s0meb0dy Нерд

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

    Код (C++):
    void setup() {
    pinMode(4,OUTPUT);
    }

    void loop() {
    digitalWrite(4, HIGH);
    delay(1000);
    digitalWrite(4, LOW);
    delay(1000);
    }
     
    Последнее редактирование: 5 апр 2023
  11. ИгорьК

    ИгорьК Гуру

    Попробуйте повторить здесь такое форматирование:
    Код (C++):
    void setup() {
        pinMode(4,OUTPUT);
        Serial.begin(9600);
        //while (!Serial) {
          //  ;  // wait for serial port to connect. Needed for native USB port only
        //}
    }

    void loop() {
        digitalWrite(4, HIGH);
        Serial.println("Write High");
        delay(1000);
        digitalWrite(4, LOW);
        Serial.println("Write Low");
        delay(1000);
    }
    ... иначе вы как-то беспомощно выглядите.
     
    Airbus нравится это.
  12. Airbus

    Airbus Радиохулиган Модератор

    Реле щелкает? Попробуйте запитать помпу от отдельного источника
     
  13. s0meb0dy

    s0meb0dy Нерд

    Вопрос неожиданно решен.
    Помогла простейшая схема по которой мне кажется я уже подключал, но решил перепроверить еще раз.
    https://drive.google.com/file/d/1DVl38XLflg_mY3JdXQAwKO4ts3eL6zfd/view?usp=share_link
    Напрашивается шутка, что когда первый раз пробовал эту схему, скетч был слишком сложный:D
     
    ИгорьК нравится это.
  14. ИгорьК

    ИгорьК Гуру

    Для начала лучше в сериал посмотреть.
     
    Airbus нравится это.
  15. ИгорьК

    ИгорьК Гуру

    Заходите, если что, За одно код на форум научитесь вставлять :)
     
    Feofan и Airbus нравится это.
  16. Airbus

    Airbus Радиохулиган Модератор

    Как?
     
  17. s0meb0dy

    s0meb0dy Нерд

    подключил по этой схеме
    использовал простейший код
    Код (C++):
    void setup() {
    pinMode(4,OUTPUT);
    }

    void loop() {
    digitalWrite(4, HIGH);
    delay(1000);
    digitalWrite(4, LOW);
    delay(1000);
    }
    с чем раньше были сложности так и не понял. буду дальше пытаться поливать алоэ))
     
    ИгорьК нравится это.
Статус темы:
Закрыта.