Stap 8: Fout 2
Ik steek het in, en de SpotBot werken. Ik run een cyclus. Aan het eind piept het nog steeds. De knop is laag gehouden, maar de darn thing stopt niet. Wat geeft?
Nou, er is een ding genaamd debouncing. Wanneer u op een switch, kan de werkelijke toestand meerdere malen veranderen voordat het regelt. Dit is te wijten aan de fysische eigenschappen van de schakelaar. Digitale schakelschema vereist vaak debouncing om te voorkomen dat een enkele schakelaar ingang wordt gelezen als verschillende persen. Een gemeenschappelijke methode voor software debouncing is een kleine vertraging toevoegen nadat een verandering van staat is gedetecteerd, dan te wachten op de knop worden vrijgegeven voordat u handelt. Op een manier is dit vergelijkbaar met de manier waarop die een muisknop werkt. Nadat u het op, moet je vrijgeven voordat het registreert als een klik.
De LED blijft branden, zodat de knop ingedrukt wordt gehouden en nooit uitgeeft. Ahh, terug naar de tekentafel.