Stap 4: Draad het toetsenblok
Volg het bedradingsschema nu en draad van het toetsenbord aan uw breadboard.
Hoe dit gaat werken is zullen we 5V in aan de linkerkant en de rechterkant gaat naar GND. De eerste pin aan de rechterkant in het diagram gaat in de eerste van onze analoge pinnen op de Atmega328p microcontroller. Wanneer er zal geen knoppen ingedrukt het signaal 0V, en als elk van de verschillende knoppen worden ingedrukt de ingang aan op de analoge poort zal variëren tussen de 0V en 5V met een ander bedrag, afhankelijk van welke toets werd ingedrukt. We kozen de weerstand waarden zodat elk pad zou bevatten een weerstand die verschillend van de rest was. De analoge poort op de microcontroller neemt een analoog signaal en opsplitsen in 1024 verschillende kanalen tussen 0V en 5V. Dit betekent dat elk kanaal een breedte 5V/1024 heeft = 0,005 V/kanaal = 5 mV/kanaal. Zodat de analoge poort input spanningen onderscheiden kunt, zolang ze door meer dan 5 verschillen mV. In ons geval hebben we weerstand waarden gekozen zodat elke twee toetsaanslagen een signaal van de spanning die verschillen door meer dan dit stuurt, dus de microcontroller gemakkelijk moet kunnen beslissen welke toets werd ingedrukt. Het grote probleem is dat het hele systeem zeer luidruchtig, is dus we kiezen een aantal spanningen moeten zullen toewijzen aan elke knop drukt-- maar we dat een beetje later krijgen.
Merk op dat we kunnen controle een 14 knop toetsenbord met behulp van slechts een enkele invoerregel op de controller. Dat is een van de nuttige aspecten van analoge ingangen.
Nu onze eerste poging op het beheersen van het toetsenblok zullen hebben een ToetsIndrukken (KeyPress) oorzaak een interrupt, de interrupt-subroutine leest de analoge ingang poort en beslissen welke toets werd ingedrukt, en vervolgens zal het de uitgang van dat nummer aan onze register analyzer subroutine die de waarde van de sleutel wordt weergegeven in binaire op onze 8 LEDs die we in Tutorial 5 opgezet.