Åtkomst till 5 knappar genom 1 Arduino pin - Revisited (2 / 7 steg)
Steg 2: Teorin - en snabb resumé
Det vanliga sättet att läsa en knapp är att ansluta den till en digital ingångsstift och 5V. När du trycker på knappen, ingångsstiftet är ansluten till 5V och du kan läsa en logisk hög på stiftet.
För den Arduino analoga pins läsa du ett värde mellan 0 och 1023 baserat på den spänning du har på stiftet. Om det finns 0V, du läser en 0, och om det är 5V, du läst 1023. Varje spänning i mellan kommer tillbaka ett proportionellt värde baserat på den faktiska spänningen.
Från detta följer det att det är möjligt att ansluta flera knappar till analoga pin om du kan få dem att ansluta en annan spänning till den analoga stiftet.
Som det visar sig, är detta mycket enkelt. Du behöver bara ställa in en annan spänningsavdelare för varje knapp. Jag ska visa dig hur.
Om du tittar på banan, fungerar R1 som en pulldown motstånd när knapparna är öppna, men när (till exempel) knappen S4 stängs de aktuella flödena från 5V, genom R5, knappen genom R1 och marken. IO PIN-koden kommer att mäta spänningen mellan S4 (eller R5) och R1 - AKA en spänningsavdelare består av R1 och R5. Genom att använda Ohms lag, beräknar vi att vi ska läsa om 2.75V på IO PIN-koden eller om 562.
PS: Om något av detta är oklart, du borde verkligen läsa den tidigare Instructable - jag går in mycket mer i detalj. Också ta en titt på länken ovan till Wikipedias sida på spänningsavdelare.