Привет всем. Подключаю помпу 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); }
всё это делается на флагах через switch - case с привлечением блоков сравнения таймера. А этот говнокод выкинуть и никогда про него не вспоминать.
И вы решили выбрать самый убогий? Очень похоже на какой нибудь Flprog, в здравом уме такой код сворганить невозможно.
1—Зачем так сложно? Тоже использую тестовый скетч для проверки реле обычный Blink только PIN13 заменен на необходимый. Вам Blink показать? 2—ЕМНИП у такого реле активный уровень на включение LOW. К чему я это говорю—возможно при подключении помпы у Вас просаживается питание и управляющая часть на Ардуино выключается а реле наоборот включает нагрузку и не выключает ее через одну секунду ибо не работает Ардуино изза просадки питания. Я ясно обьяснил?
1. Отвечаю всем сразу)) скетч накидал в блочной среде мблок на языке scratch. мой скетч выглядит так: https://drive.google.com/file/d/1X_GSVURF-PnJDZjP3GfpqzgeG5n1NXDr/view?usp=share_link я прислал вам то, во что мой скетч интерпритируется. Кто то сказал, проблема тут не в коде, с этим я согласен. Если кто то считает иначе, предложите кусок кода, я проведу тест. 2. Ты не только ясно объяснил, твое объяснение так же совпадает с моей основной догадкой. Ардуино просаживается и не посылает сигнал на цифровой порт. Возможно, после просадки она перезагружается по кругу и не доходит в скетче до места отключения. Взял для опытов аккум, но ситуация не изменилась. Подскажите схему правильную))или где ее поискать. Я пользовался вариантами алекса гайвера 3. На одном из ресурсов в faq по реле нашел следующую строчку (похоже на мой случай): -При включении или выключении нагрузки скетч не работает: Идут помехи – подайте внешнее питание на модуль.
мой аргумент в том, что в коде нет ошибок и рассуждать на эту тему не по вопросу топика. можешь не предлагать своей версии, но если пишешь что код плохой, поясни имеет ли это отношение к делу или просто треп. Если вопрос решится кодом, я сам спляшу
Начните с того, что вставьте в сообщение код так, чтобы его было возможно читать. Решите эту задачу сами, хотя бы. P.S. Скетч для вашего вопроса настолько прост, что, на мой взгляд, вы его здесь будете долго добывать (ибо вы выкатили такое чудовище, что нет слов). Посмотрите скетч здесь.
Согласен. вот новый вариант скетча. По смыслу и содержанию аналогичен прошлой версии, но теперь без излишеств Код (C++): void setup() { pinMode(4,OUTPUT); } void loop() { digitalWrite(4, HIGH); delay(1000); digitalWrite(4, LOW); delay(1000); }
Попробуйте повторить здесь такое форматирование: Код (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); } ... иначе вы как-то беспомощно выглядите.
Вопрос неожиданно решен. Помогла простейшая схема по которой мне кажется я уже подключал, но решил перепроверить еще раз. https://drive.google.com/file/d/1DVl38XLflg_mY3JdXQAwKO4ts3eL6zfd/view?usp=share_link Напрашивается шутка, что когда первый раз пробовал эту схему, скетч был слишком сложный
подключил по этой схеме использовал простейший код Код (C++): void setup() { pinMode(4,OUTPUT); } void loop() { digitalWrite(4, HIGH); delay(1000); digitalWrite(4, LOW); delay(1000); } с чем раньше были сложности так и не понял. буду дальше пытаться поливать алоэ))