Кнопка двери гаража с функцией задержки
Я работаю над художественным проектом, в котором используется устройство для открывания гаражных ворот. Я очень новичок в Arduino и электронике. У меня есть стартовый набор с кучей аксессуаров.
У устройства открывания гаражных ворот есть 2 винта (клеммы?), предназначенные для подключения кнопки. Если я коснусь провода между ними, открывалка запустится. Я подключил кнопку к своей макетной плате и проложил провода к клеммам открывателя, чтобы посмотреть, будет ли работать простой переключатель, и он работает.
Я хочу:
- нажмите кнопку, и Arduino подключит клеммы открывателя, после чего он запустится
- затем кнопка игнорируется (с задержкой) в течение заданного времени (5 секунд в данном примере)
- по истечении заданного времени кнопка работает как обычно (как на шаге 1)
Я просмотрел несколько руководств по кнопкам и думаю, что забежал вперед.
- Я могу включить светодиод с помощью переключателя на макетной плате и использовать
delay(5000)
, чтобы игнорировать любые другие нажатия кнопок. Я попытался подключить провода, которые шли к светодиоду, к 2 клеммам на устройстве открывания гаражных ворот, и это не сработало - В коде я устанавливаю контакт 5 как ВЫХОД, а контакт 6 — как ВХОД. Я использовал кнопку, чтобы отправить HIGH на контакт 5, чтобы увидеть, будет ли этот сигнал работать при подключении к 2 клеммам на открывателе. Я немного проверил это в коде, прочитав состояние контакта 6, и, похоже, это сработало. Однако это не сработало, когда я подключил 5-й контакт к одному терминалу, а 6-й — к другому.
Я попытался найти простой пример, но поиск по устройствам для открывания гаражных ворот и Arduino приводит к слишком большому количеству руководств о том, как делать очень модные беспроводные устройства. Я просто хочу игнорировать нажатие кнопки в течение 5 секунд после того, как она была нажата один раз.
Я ищу простой пример, который позволяет моей кнопке сообщать Arduino о том, что нужно установить это соединение на устройстве открывания гаражных ворот. Думаю, я ищу, чтобы мой Arduino действовал как переключатель вместо моего (физического) переключателя?
В мой комплект Arduino входит макетная плата, провода, переключатели, Uno R3 и множество других вещей, до которых я еще не добрался. Заранее извиняюсь, если не придумаю что-то сверхпростое, что решило бы мою проблему. Я новичок в этом.
Спасибо за ваше время!
Отредактировано для правописания. Разобрался с моими попытками. Я собираюсь прочитать о том, что такое реле.
@jj., 👍1
Обсуждение1 ответ
Я нашел решение — мне просто нужно было использовать реле.
Я не знал, что такое реле, и мне было трудно в этом разобраться. Я включил несколько заметок для тех, кто найдет этот пост в будущем.
- Я не могу определить, потребовалось ли прочтение 3–4 статей о реле, чтобы все усвоилось, или одна статья была лучшей. Во всяком случае, для меня это помогло больше всего: https://www .instructables.com/id/How-Electronic-Switches-Work-For-Noobs-Relays-and/
- Мое реле выглядело иначе, чем в большинстве руководств. Я понял это, подключив пару зажимов типа «крокодил» к 9-вольтовой батарее и прислушавшись к щелчку магнитного переключателя. Затем я использовал свой вольтметр, чтобы определить, какие провода работают с реле.
Настройка реле:
- Я подключил ~5В к одному проводу реле, а 5В к другому
- Общий (средний) провод подключается к одной клемме устройства открывания гаражных ворот.
- Вывод N/C (нормально замкнутый) подключается к другой клемме устройства открывания гаражных ворот.
Настройка кнопки:
- Настройка кнопки была такой же, как и во всех других руководствах по работе с кнопками.
- Когда кнопка нажата (НИЗКИЙ), я запускаю и останавливаю реле, чтобы вызвать «нажатие кнопки» для открывания двери гаража (запуск)
- Затем я запускаю
delay
на заданное количество времени - Все нажатия кнопок игнорируются до окончания
delay
.
Теперь я могу перейти к самому проекту. Спасибо!
- Определение того, была ли нажата и отпущена кнопка
- Хорошая кнопка debouncing/Библиотека StateChange
- Остановить мигание светодиодов
- Интеграция 2 кнопок для включения и выключения светодиода.
- Код Arduino для управления 4 светодиодами с 4 кнопок
- Нужен ли подтягивающий/понижающий резистор для цепи светодиода кнопки?
- Как прервать функцию цикла и перезапустить ее?
- Как перезапустить счетчик в программе с помощью кнопки в настройке LDR Tripwire
зачем вам дебаунс кнопки? ... я уверен, что кнопка открывания гаражных ворот не дребезжит, @jsotola
если вы хотите, чтобы открывалка работала только между двумя пределами, просто установите дополнительные концевые выключатели на этих двух пределах, соединив их параллельно. и подключите кнопку последовательно с выключателями., @Jasen
Просто деталь: проверьте напряжение, и если оно высокое, вы должны использовать реле., @Peter
Пожалуйста, поделитесь некоторыми подробностями, такими как схемы подключения (схема), тип переключателя или блок-схема и ожидаемое поведение открывателя двери (например, какое минимальное время вы хотите, чтобы он работал, поведение переключателя во время его работы, как переключатель должен включить его и т. д.), @Sumit Panse