Hur komma åt 5 knappar genom 1 Arduino ingång (3 / 8 steg)

Steg 3: Teorin - flera knappar på en PIN-kod



Så hur lägger du flera knappar på en PIN-kod?

Du fuska! Hemligheten till detta är att använda en analog ingång stift, inte digital.

Du kan läsa om hur analogt ingången fungerar genom att gå igenom självstudierna Arduino. I huvudsak är vad du behöver veta dock att när det är 0V på det analoga stiftet, analogRead() returnerar värdet 0 och om det är 5V, analogRead kommer att returnera ett värde av 1023. För någon spänning mellan 0V och 5V returnerar analogRead flera proportion till spänningen.

Vi kan faktiskt inte ändra den spänning som levereras till pin (inte lätt i alla fall och jag är lat, så lätt är viktigt), men om du kommer ihåg från Ohms lag, V = IR. Nuvarande (I) är fasta vilket innebär att vi bara behöver lägga till ett motstånd mellan matningsspänningen och den analoga pin för att ändra spänningen.

För er som var bli upphetsad om alla matematik som behövs för att beräkna spänningar, kommer jag att behöva göra dig besviken... Jag är lat, så jag inte behöver matematik.

Låt oss få lite mer praktiskt, och jag ska visa dig varför vi bryr oss inte om matematik. Vi vet att den analoga pin läser spänningar och vi vet att vi kan ändra dessa spänningar genom att lägga till ett motstånd mellan det och matningsspänningen. Vi vet också att vi har gått så långt eftersom vi vill kunna läsa växlar, så vi ska nog slänga några växlar i alltför.

Nu, för dem som är intresserade av, för att utforma detta, du börjar med vad du vet. Jag vet hur man ansluter en enda brytare till en enda ingång. Jag ville 5 knappar, så jag dubbla det 5 gånger. Jag sedan förenklat det genom att ha en enda dra ner resister ansluten till alla knappar, och sedan helt enkelt lägga motstånd mellan knapparna och matningsspänningen och hopbundna alla ingångar.

Om du ansluter varje knapp till matningsspänningen genom ett annat värde motstånd, beroende på vilken knappen trycks, värdet som returneras av analogRead skulle vara annorlunda, och du kan använda en massa om uttalanden att se vilken knapp trycktes. Anledningen vi behöver matematik är att vi bara ansluta den upp allt, tryck på knapparna och skriva ut de returnerade värdena till den seriella porten.

Se Steg
Relaterade Ämnen

Åtkomst till 5 knappar genom 1 Arduino pin - Revisited

jag gjorde den ursprungliga Instructible som detta är baserad på över ett år sedan (du kan se det här för att se några av teorin kring hur det fungerar:). För att göra en lång historia kort, jag flyttade till ett annat land några veckor efter det och...

Hur komma åt medieinnehållet var som helst genom att vara värd dina egna moln!

JAG HAR UPPDATERAT DENNA GUIDE ***Vänligen se den nya versionen av handboken här.Har du någonsin drömt om att komma åt dina media från någonstans i världen? Denna tutorial ska show dig hur man värd för din egen moln hemma som gör att du kan komma åt...

Goodbye Moshi eller hur du kör din laserskrivare på Arduino

Uppdatering 19/04/2016:MarlinKimbra är här!Detta är en av de bästa firmwares baserat på Marlin jag sett på länge, ingen funktion saknas.Men för vårt syfte här är det bara om att vara uppdaterade och få bättre resultat.Kontrollera det sista steget i d...

Komma igång med BTE13-010 - Arduino Mini clone

Detta är en enkel guide som lär dig hur du kommer igång med detta billigt Arduino mini clone, som täcker alla steg man bör göra för att få det att fungera. I princip är de 4...Lödning PIN huvuden *Binda den uppInstallera rätt drivrutiner **Provning.....

Hur du gör din egen professionella arduino sheld

i detta instructable jag kommer att visa dig hur du gör din egen professionella letar arduino shield. Jag kommer att använda eagle.cad, arduino software & viewplot i proses att utforma arduino shield.Första steget i att göra en arduino shield fundera...

Hur du använder Inkscape för Arduino etiketter och projekt

Ett år sedan kom jag över en artikel i nötter och volt Magazine om att göra professionella snygga paneler för projekt. Artikeln är på rad och förklarar det mycket bättre än jag kan, med mycket mer detaljerat. Jag uppmanar er att läsa del två utmärkta...

Hur att reparera ditt grafikkort genom att baka det!

Du kanske inte behöver köpa ett nytt grafikkort som kan vara dyrt och bara lägger till miljö avfall! Hur fixar din video grafikkort genom att baka det! Mitt grafikkort är ett Nvidia 8800 Geoforce GT. snirkliga linjerna dök upp på min dator! Ta bort g...

Hur du använder mBlock programvara kontroll Arduino UNO styrelse - potentiometer med LED-ljus

Jag börja använda mBlock programvara sedan jag fick min mBot robot kit. mBlock är en grafisk programmering programvara som är utformad utifrån Scratch 2.0 och compaible med Arduino UNO, mega 2560, leonardo och etc, hårdvara och kommer att stödjas i f...

Hur man gör felsökning med Arduino Zero

I denna video titta vi på hur man gör felsökning med Arduino noll. Arduino noll har en mycket stor kapacitet och funktioner. En av de stora dragen är det har en inbyggd maskinvara felsökare. I denna video kommer vi titta på hur du använder felsökaren...

Hur man gör och använder arduino som en Internet-leverantör för en ATtiny 45/85

i detta instructable jag visar dig hur du kan göra din egen Atting programmering sköld för arduino och sedan använda arduino som programmerare.Vanligtvis om du inte har en sköld kan du göra en skärbräda version för att programmera ATtiny. (Steg 1)Men...

Hur man automatiskt identifiera och ansluta till Arduino i Visual Studio med Visual Basic

Hur att automatiskt upptäcka vilken port arduino eller geekduino är ansluten till använder visual basic och ansluta automatiskt till det! (senare kommer jag att lägga hur Auto upptäcka när det är unplugged!).Obs: knappen är inte nödvändigt men det i...

Hur man tjänar pengar genom att blogga | Make Money Blogging | Upptäck hur idag!

Hur man tjänar pengar genom att blogga | Tjäna pengar blogga | Upptäck hur idag!http://www.totalshortcut.com/CP1?ID=bimem&AD=Länken som jag nämnde i videon som du ska klicka på, fyll i din bästa e-postadress och få igång är den ovanför denna text som...

Hur man styr Servo motorer med en Arduino

Detta miniatyr projekt kommer att visa dig hur man styr en servomotor med en Arduino, men först måste du veta vad en servomotor faktiskt är!Servomotorer är speciella typer av motorer som inte snurra runt i en cirkel, men flytta till en viss plats och...

Hur man kör Sensorkablar genom USB-kablar

Du kanske har märkt att Phidgets Sensorkablar (och andra typer av elektriska kablar) inte alltid kommer i en praktisk rund form, som du ibland behöver. En relativt enkel lösning är att greppa en lång USB-kabel och löda sensor kabel kablar på USB-kabl...

Mellanliggande Arduino: Ingångar och utgångar

Fortsätter från min Intro till Arduino inlägg, går detta Instructable över vissa något mer avancerade ämnen med Arduino, särskilt om att styra och hantera många ingångar och utgångar. Nästa klass omfattar hur du ansluter den Arduino ingångar och utgå...

Hur man stoppar reaccurring irriterande telefonsamtal (bill samlare ingår)

i några enkla steg, jag skall gå igenom processen att stoppa dessa otäcka bill samlare och/eller någon du inte bara vill prata med längre. (Fungerar endast på mobiltelefoner med minneskortplatser chip eller möjlighet att gå på Internet eller text mes...

Hur du ändrar alla knappar, utlösare, och Joysticks på en Xbox 360 trådlös handkontroll

detta instructable kommer att lära dig hur du gör din egen anpassade Xbox 360 controller. Detta projekt kan vara lite svårt och frustrerande ibland, men om du håller med det, din controller kommer vara bäst på blocket.Steg 1: Samla material Material:...

Hur man gör unattackable säkert arduino IoT enhet

Thesedays det finns en hel del Sakernas Internet.Men de flesta av dessa IoT utsätts under nätverksattacker som som DDOS.Därför många experter av IoT varna oss om säkerhetsproblemet med IoT som gillar som en länken nedan.http://electronicdesign.com/Co...

Hur man använder en SKIFT Register - Arduino handledning

I denna tutorial får du lära dig att använda ett skift register (eller följetong till paralled controller). Det SKIFT registret kommer att ge till din Arduino en ytterligare 8 digitala utgångar, med endast 3 pins på brädanI den här guiden kommer du ö...