Дребезг контактов - явление, возникающее в электромеханических устройствах. Связано оно с тем, что контакты при замыкании короткое время многократно отскакивают друг от друга ввиду того, что им требуется время для зарядки. На графике выглядит оно так: Как с этим бороться? Можно выделить два способа: аппаратный и программный. Программный способ подразумевает собой написание функции "АнтиДребезг". Эта функция будет при смене сигнала с 0 на 1 или наоборот будет производить дополнительную проверку через 12 миллисекунд. Если через 12 мс сигнал не изменится, значит смена сигнала произошла не из-за дребезга. Напишем такую функцию. В нашем примере она будет проверять дребезг кнопки. void debounce() { // последнее состояние кнопки lastFlash=digitalRead(ButtonPin) ; delay(12); if (digitalRead(ButtonPin)==lastFlash && lastFlash==1){ //допустим, будем запускать светодиод digitalWrite(led, HIGH); } if( digitalRead(ButtonPin)==lastFlash && lastFlash==0 ){ // если кнопку наоборот отпустили digitalW
