Добрый день! Тема топика - это первая спонтанная мысль, которая меня посетила, когда я столкнулся с некой проблемой. Чуть позже конечно выяснилось что это не так. Что у нас есть. Я собрал простенькую схемку, в которой присутствует четыре диода и одна кнопка. Четыре пина в режиме OUTPUT и один пин в INPUT. На INPUT подается сигнал через кнопку, которая запитывается с выхода 5V на плате. И вот какая штука происходит. Все смонтировано на платке. Кругом проводки. Тянусь пальцем к кнопке и тут начинает отрабатывать код. Будто я уже нажал кнопку. Убираю руку и все прекращается. Отключил провод от INPUT - пока все нормально. Начинаю подключать его обратно (провод у меня в руках и никуда больше не подключен) и как только касаюсь контакта опять срабатывает код и светодиоды начинают моргать. Провод торчит из пина, никуда больше не подключен, рука в стороне. Все тихо. Берусь за провод - пошли моргать светодиоды. Я не сильно еще шарю во всем этом и в чем же проблема мне не совсем ясно. Код (C++): bool isButtonDown = false; void setup() { // put your setup code here, to run once: pinMode(4,OUTPUT); pinMode(5,OUTPUT); pinMode(6,OUTPUT); pinMode(7,OUTPUT); pinMode(9,INPUT); } void loop() { // put your main code here, to run repeatedly: bool isButtonDown = digitalRead(9); if (isButtonDown){ digitalWrite(4, HIGH); delay(300); digitalWrite(4, LOW); delay(100); digitalWrite(5, HIGH); delay(300); digitalWrite(5, LOW); delay(100); digitalWrite(6, HIGH); delay(300); digitalWrite(6, LOW); delay(100); digitalWrite(7, HIGH); delay(300); digitalWrite(7, LOW); delay(100); isButtonDown = false; delay(100); } }
поэтому и ловит все наводки. Все элементы управления должны быть подключены "с подтяжкой", чтобы наводки утекали либо в плюсовую линию питания, либо на землю: