Stap 16: knoppen
De knoppen die ik kocht waren ontworpen voor PCB montage, dus terwijl ze passen op het breadboard met een beetje aanmoediging, moeten ze hebben draden gesoldeerd op voor de laatste board.
Knoppen met vier leidt wellicht ietwat vreemd, sommige interessante manieren van het maken van verbindingen. Pinnen zal diagonaal, verbinden, zodat een input bovenaan links u een uitvoer rechtsonder krijgt. Pinnen aan dezelfde kant zal te verbinden. Pinnen tegenover elkaar zal geen verbinding maken, echter.
Draad van een van de verbindingen van de knop in de PC3-pin (25). Gebruik een andere draad op de knop verbinden met grond. Dit zal onze shoot-knop.
Het principe achter deze schakelopties is eenvoudig, met een interne pull up weerstand ingeschakeld, de pin is ingesteld op logische 1 - er is een interne verbinding met VCC via een weerstand. Deze verbinding gaat ook naar de pin zelf. Wanneer de schakelaar is geduwd, de elektriciteit wordt het pad van de minste weerstand en gaat via de weerstand en in grond - de microcontroller ziet logische nul en zegt "er is iets gebeurd".
Als je niet gebruik van een externe weerstand aangesloten op VCC aan de pin gaat, het is heel belangrijk dat je niet gewoon de knop aansluiten. Verlaat u de pin "drijvende", noch aangesloten op VCC of grond en dat kan leiden tot veel problemen met valse logic-signalen.
Dat is alles wat die u moet doen als u wilt instellen van het circuit. De code 'Externe Test' is vrij eenvoudig.
Het is precies dezelfde als voorheen, behalve wij wat meer functies toe te voegen en voeg de input, pull-ups inschakelen wanneer we doen. Wanneer we de poort ingesteld als input, draait met behulp van het DDR-register, het register poort dan magisch in een pull-up enabler. We schrijven 1 in de vereiste bit (voor PC3) en dat wordt gedaan.
Vervolgens hebben we een functie voor het opsporen van knop input, met inbegrip van debouncing (google voor meer info) de relevante pinnen om te controleren was het een ware knooppers.
Het is de moeite waard erop te wijzen dat deze codes verschrikkelijk inefficiënt voor energieverbruik zijn. Het zou veel beter zijn om te slapen van de processor wanneer er niets gebeurt (ik wilde om dit te doen, maar ik heb niet de tijd om te herschrijven van de code te compenseren).
Het gecompileerde programma uploaden naar de microcontroller en uitproberen van uw afstandsbediening!
Volgende die we gonna toevoegen in het LCD-scherm.