Intel® Edison Hands-on dag 4: Touch Switch (5 / 5 steg)
Steg 5: Kodgranskning
Inställd på sensorn touch input och reläet
att mata
pinMode (touchPin, ingång);
pinMode (relayPin, produktionen);
använda digitalWrite() för att läsa statligt av touch sensor:
int läsa = digitalRead(touchPin);
När du trycker på knappen, kan de vara studsa sönder en eller flera gånger innan du gör stadig kontakt på kort tid. Precis som illustration bilden ovan.
Utan debouncing, kan trycka på knappen en gång visas i koden som flera pressar. Använder funktionen millis() att hålla reda på tiden när du trycker på knappen.
om tillståndet i touch sensor ändras, stämpel tid via millis() funktion:
om (läsa! = lastTouchState) {
lastDebounceTime = millis();
}
Millis() returnerar antalet millisekunder sedan Arduino styrelsen började köra nuvarande program.
Vänta 50 ms för att bekräfta ändringen verkligen händer. Om det verkligen händer, ändra tillståndet för reläet. I
om ((millis()-lastDebounceTime) > debounceDelay) {
om (läsa! = touchState) {
touchState = behandlingen.
om (touchState == hög) {
relayState =! relayState;
}
}
}