Stap 5: Het toetsenblok draad aan uw analyzer
De foto's tonen hoe we willen het toetsenblok draad tot de microcontroller, zodat we de output op onze analyzer-display zien kunt. In wezen draad we gewoon de uitgang van het toetsenblok PortC pin 0, op de ATmega328P ook wel ADC0 genoemd.
Er is echter een paar extra dingen. We gaan ook een knop draad tot PD2. Dat wil zeggen het nemen van een draad vanaf uw 5V rail een knop en naar de andere kant van de knop naar PD2 en tot slot, we willen de AREF pin verbreken onze 5V spoor en in plaats daarvan laat het verbroken. We kunnen invoegen een 0.1 microfarad condensator ontkoppeling als we wilden. Dit is een keramische condensator met een 104 geschreven. De eerste twee cijfers zijn het aantal en het laatste cijfer is de macht van 10 vermenigvuldigen we het door een antwoord te krijgen in picofarads (pico betekent 10 ^ -12), dus 104 10 x 10 betekent ^ 4 picofarads, die is hetzelfde als 100 nanofarads (nano betekent 10 ^ -9), die is hetzelfde als 0,1 microfarads (micro betekent 10 ^ -6). Anyway, dit alles stablize de AREF pin wanneer kunnen we het gebruiken als onze referentie-pin.
Wij willen ook een 1 Mohm weerstand tussen PD2 en grond. We gaan PD2 instellen als een uitgang pins op 0V en we zullen worden triggering op een positieve rand op die pin. Wij willen dat de rand te verdwijnen onmiddellijk wanneer we de loslaat zodat we deze weerstand "pull down" wordt ingevoegd.
De reden dat we willen dat de knop is omdat wij onze analoog-digitaalomzetter off van INT0 pin op de chip, die ook PD2 trigger wilt gebruiken. Uiteindelijk zouden we als de druk op de toets aan beide leiden de ADC tot en ook de ingang om te worden omgezet bieden zonder een aparte knop, maar vanwege de manier waarop de timing werken we beginnen zullen met het hebben van een aparte knop om trigger de ADC en zodra we ijzer alle bugs uit en zijn ervan overtuigd dat alles functioneert goed, dan zullen wij het aanpakken van het lawaai en timing-problemen die komen met triggering van dezelfde knop druk op die we willen lezen.
Dus, voor nu, de manier waarop die het werkt is wij zal een toets ingedrukt en druk op de knop te activeren van de ADC, en vervolgens loslaten en hopelijk de binaire waarde van de knop die we geduwd zal verschijnen op de analyzer.
Dus laten we sommige code schrijven die dat bereiken zal.