Как запретить вход-выход на пин (подробнее в описании) ?

BigMeister
Offline
Зарегистрирован: 11.02.2018

Есть одна тактовая кнопка и ардуино. После отработки только ОДНОГО нажатия нужно "закрыть" доступ на пин, 

чтобы избежать повторных нажатий. 

Пробовал в конце цикла прописывать digitalWrite(pin, LOW), но нажатия все равно обрабатываются.

Можно ли заставить ардуино их просто игнорировать или запретить отработку вообще ?

nik182
Offline
Зарегистрирован: 04.05.2015

Кто мешает завести флаг и проверять его состояние вместе с кнопкой? После нажатия кнопки присвоить флагу противоположное значение и пока вы сами флаг не поменяете, программа не будет проверять кнопку = игнорировать.  

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Так что Вам нужно: закрыть кнопку, чтобы на нее физически нельзя было нажать? (это можно сделать сервой) или сделать, чтобы Ардуина не реагировала на кнопку? (нужно просто перестать ее опрашивать)

arduino328
Offline
Зарегистрирован: 01.09.2016

BigMeister пишет:

Можно ли заставить ардуино их просто игнорировать или запретить отработку вообще ?

Уговаривать, пугать, угрожать пробовал? :)

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

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

BigMeister пишет:

Есть одна тактовая кнопка и ардуино. После отработки только ОДНОГО нажатия нужно "закрыть" доступ на пин, 

Ставьте между кнопкой пином реле, и после первого нажатия разрывайте цепь нахрен!

inspiritus
Offline
Зарегистрирован: 17.12.2012

Посадите кнопку на пин прерывания и ловите фронт или срез. Как поймали делайте деаттач. Вот и буде т Вам отлов одного события. 

BigMeister
Offline
Зарегистрирован: 11.02.2018

насчет флажков не доперь, спасибо)

BigMeister
Offline
Зарегистрирован: 11.02.2018

можно небольшой пример кода ?

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

BigMeister пишет:

можно небольшой пример кода ?

Надо было добавить ", пока не началось". :)))

b707
Offline
Зарегистрирован: 26.05.2017

BigMeister пишет:

можно небольшой пример кода ?

Зачем там пример? Неужели это так сложно понять? - Сделайте в программе переменную, разрешающую опрос кнопки, если переменная ==1.  Когда программа начинает работать, переменная =1, когда вам надо запретить кнопку - ставьте переменную в ноль. Всякий раз, когда в программе опрашивается эта кнопка - сначала проверяйте переменную - разрешено или нет.

Что не ясно?

BigMeister
Offline
Зарегистрирован: 11.02.2018

Разобрался. Спасибо за наводку;)

Вопрос закрыт.