Begrip en uitvoering Afwijzing in Arduino-knopinvoer
Ontbinden is een techniek die wordt gebruikt in microcontroller programmering om betrouwbare lezing van knop ingangen te garanderen. Wanneer een knop wordt ingedrukt of vrijgegeven, kan het meerdere signalen te genereren als gevolg van mechanische trillingen, waardoor valse triggers. Implementeren debouncing helpt om deze ongewenste signalen filteren en zorgt voor een nauwkeurige detectie van knop persen.
Wat is Debouncing?
Ontbinden is het proces van het elimineren van lawaai veroorzaakt door het fysieke contact stuiteren van een knop. Wanneer een knop wordt ingedrukt, kan het contact snel verbinden en meerdere keren verbreken voordat het wordt opgelost. Zonder debouncing, kunnen deze snelle signalen worden verkeerd geïnterpreteerd als meerdere persen.
Methoden van detrojka
Er zijn twee gemeenschappelijke methoden om debouncing in Arduino te implementeren:
- Software Debouncing: Het is nodig om een vertraging toe te voegen of de status van de knop te controleren om een stabiel signaal te bevestigen.
- Hardware Debouncing: Gebruikt elektronische componenten zoals RC filters of Schmitt triggers om het signaal glad te strijken.
Uitvoering van software Debounking
Software debouncing wordt vaak gebruikt in Arduino projecten. Het gaat om het lezen van de knop staat, wachten voor een korte periode, en vervolgens controleren of de staat ongewijzigd blijft. Dit proces vermindert valse triggers veroorzaakt door stuiteren.
Voorbeeld code knipsel:
const int-knopPin = 2;
int-knopState = 0;
onondertekende lange laatsteDebounceTime = 0;
onondertekende lange debounceDelay = 50;
hole loop() {[
int-lezing = digitalLeesden(buttonPin);
indien (lezen != knopState) {
laatste DebounceTime = millis();
}
if ((millis() - lastDebounceTime) > debounceDelay) {[
knopState = reading;
}
}