Table of Contents
Debouncing on tekniikka, jota käytetään mikro-ohjainohjelmointi varmistaa luotettavan lukemisen painikkeen syötteet. Kun painiketta painetaan tai vapautetaan, se voi tuottaa useita signaaleja johtuu mekaaninen tärinä, aiheuttaa vääriä laukaisimia. Toteutus debouncing auttaa suodattamaan nämä ei-toivotut signaalit ja varmistaa tarkka havaitseminen painikkeen painaa.
Mitä Debouncing on?
Debouncing on prosessi poistaa melua aiheuttama fyysinen kosketus pomppia painiketta. Kun painiketta painetaan, kosketus voi nopeasti liittää ja irrottaa useita kertoja ennen laskeutumista. Ilman debouncing, nämä nopeat signaalit voidaan tulkita väärin useita painamalla.
Debouncing-menetelmät
On olemassa kaksi yhteistä menetelmää toteuttaa debouncing Arduino:
- Ohjelmistojen poisto:[ Sisältyy lisäämällä viiveen tai tarkistamalla painikkeen tilan ajan vahvistaa vakaa signaali.
- Kovalevyn poisto:[ Käyttää elektronisia komponentteja, kuten RC-suodattimia tai Schmittin laukaisimia signaalin silotukseen.
Toteutus ohjelmistojen poisto
Ohjelmistojen poistoa käytetään yleisesti Arduino-projekteissa. Siihen kuuluu painikkeen lukeminen, odottaminen lyhyen ajan ja sen jälkeen sen tarkistaminen, pysyykö tila muuttumattomana. Tämä prosessi vähentää pomppia aiheuttavia vääriä laukaisimia.
Esimerkkikoodi snippet:
cont int-painikePin = 2;
int-painikeState = 0;
allekirjoittamaton pitkä viimeinenDebounceTime = 0;
allekirjoittamaton pitkä debounceDelay = 50;
ilman silmukaa [] []
int reading = digitalRead(nappiPin);
jos (luetaan != painikettaState) {[]
lastDebounceTime = millis(]
[LUOTTAA]
jos ((millis() - lastDebounceTime) > debounceDelay) {
-painikeState = reading;
- Ei.
- Ei.