управление 3 реле с 1 кнопки
Можно ли управлять 3 реле одной кнопкой?
Моя идея такова: есть 3 режима; режим 1 для реле 1, режим 2 для реле 2 и режим 3 для реле 3.
Длинным нажатием вы переключаетесь между режимами (после 3 следует 1), а коротким нажатием вы активируете реле, которое находится в активированном режиме.
Это нужно для моей инвалидной коляски, пожалуйста, помогите мне.
Спасибо, Михаил
Дополнительный вопрос:
Действительно ли реле нуждаются во внешнем источнике питания?
Потому что у меня есть небольшое количество энергии для управления реле.
@Michael Messer, 👍0
Обсуждение2 ответа
Лучший ответ:
Конечно, можно. Однако этот сайт не лучшее место для открытых вопросов, подобных этому. Поскольку у вас есть серьезные потребности в реальном мире, я все равно дам вам несколько советов.
Вам нужно будет разбить его на части и решить каждую из них по очереди.
Сначала создайте код, который распознает длинные и короткие нажатия (без использования delay()
). Возможно, вы захотите отреагировать на отпускание кнопки, так как в этот момент легко определить, была ли она нажата. долгое или короткое нажатие.
Псевдокод может выглядеть примерно так:
void loop()
if button_is_pressed
if !press_in_progress
press_in_progress = true
start = millis()
else
if press_in_progress //Кнопка была отпущена
elapsed = millis() - start
press_in_progress = false
if elapsed > long_press_threshold
long_press_function()
else
short_press_function()
Для управления реле я предлагаю приобрести «цифровые» реле, которые управляются логическими сигналами 5 В. Реле <b>такие</b> работают хорошо. (Связь). Поскольку вам нужно управлять 4 реле, лучшим выбором будет 4-канальная модель, такая как эта. Обратите внимание, что вам понадобится довольно мощный источник питания. Регулируемого источника питания 2A 5V должно быть достаточно как для вашего Arduino, так и для ваших реле, хотя это более верная вещь, если вы используете отдельные источники питания для Arduino и реле (таким образом, напряжение на Arduino не скачет, когда реле запитываются и обесточиваются.
Вам потребуется глобальная переменная для текущего активного реле. Длительное нажатие увеличивает это значение по модулю 4: (от 0 до 3, а затем обратно к 0)
relay_index = (relay_index + 1) % 4;
Вам потребуется массив из 4 логических значений для состояний каждого реле:
bool relay_states[4];
Короткое нажатие изменит состояние текущего реле
relay_states[relay_index] = !relay_states[relay_index];
Обратите внимание, что если вы больше заинтересованы в экономичном решении проблемы с инвалидной коляской, чем в ремонте, то мастерская идеально подойдет для этого. Там много мастеров, которым нравится решать сложные задачи, и они, скорее всего, присоединятся и помогут вам.
Вы разместили ответ на свой вопрос, спрашивая, действительно ли вам нужен внешний источник питания. Не делай этого. Напишите комментарий к моему ответу. Но ответ "очень вероятно". Каждое реле потребляет 50-60 мА. При 60 мА это 240 мА только для реле. Возможно, вам удастся обойтись питанием от источника 5 В на Arduino, но по мере того, как реле включаются и обесточиваются, они вызывают провалы и всплески напряжения от источника, поскольку источник питания пытается приспособиться к изменяющейся нагрузке. . Вы можете попробовать это, и если у вас есть проблемы, такие как перезапуск Arduino, переключитесь на внешний источник питания с более высоким током., @Duncan C
Обратите внимание, что вы **НЕ** должны использовать голые реле. Вам нужны реле, которые управляются логическими сигналами и имеют встроенные транзисторы и диоды обратного хода. (Голые реле почти наверняка сожгут Arduino, используемую для управления ими.), @Duncan C
@MichaelMesser Подумайте о покупке платы драйвера реле, такой как эта: [Совместимый с Arduino 4-канальный релейный модуль 12 В](https://www.jaycar.com.au/arduino-совместимый-4-канал-12v-relay-module/p /XC4440), @sa_leinad
@sa_leinad Я включил в свой ответ ссылку на 5-канальный релейный модуль 5 В., @Duncan C
Могу ли я использовать powerbank в качестве источника питания?, @Michael Messer
@DuncanC, так ты и сделал. Извините, я пропустил это., @sa_leinad
Я бы не рекомендовал использовать powerbank, потому что они потребляют энергию только для поддержания 5V. Вероятно, лучше купить 12-вольтовые реле, подобные показанным sa__leinad, и использовать на стуле 12-вольтовую свинцово-кислотную батарею. Они хранят большое количество ампер-часов и имеют хороший срок годности., @Duncan C
Затем вы можете получить импульсный источник питания 5 В, подключить его к батарее 12 В и подать его выход в разъем USB на вашем Arduino. Таким образом, у вас есть большая емкость и высокоэффективный способ питания вашего Arduino., @Duncan C
Немного сложно использовать аккумулятор от инвалидной коляски, поэтому я хотел бы использовать внешний источник питания 5 В., @Michael Messer
Могу ли я использовать эти реле тоже: https://www.amazon.de/Boladge-4-Kan%C3%A4le-Steuerschalter-Treiber-Raspberry/dp/B0734P228K/ref=asc_df_B0734P228K/?tag=googshopde- 21&linkCode=df0&hva сделал =231932152232&hvpos=1o2&hvnetw=g&hvrand=8055025540693799388&hvpone=&hvptwo=&hvqmt=&hvdev=c&hvdvcmdl=&hvlocint=&hvlocphy=9068490&hvtargid=pla-6137404 20672&psc=1&th=1&psc=1, @Michael Messer
Потому что я из Германии, @Michael Messer
Если у вас достаточно мощный блок питания, он будет работать, но его нужно будет довольно часто заряжать. Свинцово-кислотный аккумулятор на 12 В и импульсный блок питания на 5 В дадут вам НАМНОГО больше времени работы., @Duncan C
@DuncanC, ты не знаешь, где я могу найти кого-нибудь, кто запрограммирует это для меня?, @Michael Messer
Да, это возможно, и для этого есть библиотеки. Проверьте, например, библиотеку ObjecButton, которая поддерживает действие щелчка, нажатия и двойного щелчка. Он хорошо документирован и содержит множество примеров...
И действительно ли реле нуждаются во внешнем источнике питания? Это зависит от того, какие реле вы хотите использовать, какой источник питания доступен на инвалидной коляске, какая нагрузка переключается этими реле и так далее...
Нагрузка, коммутируемая реле, действительно мала. Существуют ли альтернативы реле с той же функцией, но с меньшим энергопотреблением для включения и выключения?, @Michael Messer
Да это так. Для нагрузки постоянного тока используйте транзисторы, для нагрузки переменного тока используйте, например, симисторы или реле SSR. На рынке существует множество модулей Arduino с такими переключающими «элементами»., @JSC
- Кнопка с таймером переключения и функцией сброса времени + светодиод обратной связи
- Странная проблема. Ардуино перестает работать через несколько часов. Мнения, пожалуйста
- Включайте Arduino по таймеру каждые 24 часа.
- Таймер обратного отсчета для управления реле (множество функций в пустом контуре)
- Кнопочное управление несколькими реле
- Таймер Arduino с кнопкой увеличения времени
- Несколько кнопок для управления реле
- Как сделать, чтобы светодиоды загорались один за другим в зависимости от того, как долго кнопка была нажата и удерживалась
вы задали только один вопрос... ответ "да".... это то, что вы действительно хотели спросить?, @jsotola
Что вам нужно контролировать? Если то, что вам нужно контролировать, потребляет постоянный ток, и его потребности в напряжении и токе разумны, вы можете управлять ими, используя MOSFET-транзисторы, а не реле. Вы можете прекрасно питать их от регулятора напряжения Arduino., @Duncan C