Прошу совета, проблема с кнопкой
- Войдите на сайт для отправки комментариев
Пт, 26/04/2013 - 20:07
Здравствуйте! Возникла такая проблема: Arduino Uno R3,элементарный скетч с кнопкой на А0 и выводом на D7. Все работает. Вставляю в R3 Ethernet shield на W5100 и уже в него кнопку. Срабатывает только первое нажатие.В чем может быть проблема? Да, кнопка через 10к на земле, подается +5, пайка проверена, ни ляпов ни непропаев нет.
int flag=0; void setup() { pinMode(7, OUTPUT); } void loop() { if(digitalRead(14)==HIGH&&flag==0)//если кнопка нажата // и перемення flag равна 0 , то ... { digitalWrite(7,!digitalRead(7)); flag=1; //это нужно для того что бы с каждым нажатием кнопки //происходило только одно действие // плюс защита от "дребезга" 100% } if(digitalRead(14)==LOW&&flag==1)//если кнопка НЕ нажата //и переменная flag равна - 1 ,то ... { flag=0;//обнуляем переменную flag } }
Я бы попытался найти в документации - на какие пины "садится" шилд w5100, и на сколько он просаживает питание ардуины.
Он садится на 10,11,12,13. Насчет питания, думаете имеет смысл запитать его отдельно?
Он садится на 10,11,12,13. Насчет питания, думаете имеет смысл запитать его отдельно?
У меня - все вместе запитано, но кнопок пока нет. Питание может проседать и несильно, но достаточно для того, чтобы вход не опознал напряжение как "единицу".
Попробуйте так:
Библиотека Bounce.h
Только я не понял на каком пине у Вас кнопка?
"элементарный скетч с кнопкой на А0"
а в коде
Разве на UNO есть 14 пин? Хм..
Когда пишешь digital 14 имеется ввиду analog 0. И вопрос значально был о том, что перестает работать при подключении Ethernet Shield, без него все работает...
На W5100 analog 0 и 1 подтянуты к +5. Они используються для SD
На W5100 analog 0 и 1 подтянуты к +5. Они используються для SD