Köra massor av knappar (1 / 4 steg)

Steg 1: Tänka det

Så, låt oss tänka detta igenom.

Om man tittar på den handledning som anges ovan, kan du se att den dyre-styrka lösningen är att vi behöver en driver pin, ett avlopp genom en 10 KOhm motstånd och en ingångsstift för varje knapp. Den makt pin och avlopp kan delas mellan alla knappar, men i den krets som visat det, vi kan inte komma runt det faktum att vi behöver en separat ingångsstift för varje enskild knapp. Om vår ansökan kräver 10 knappar, behöver vi 10 Arduino stift. AJ.

Så jag gav detta en tanke, men slog det mig att detta var liknande till ett problem som jag i ett annat projekt jag hade arbetat med, nämligen att ta itu med flera LED display siffror, något vi ser överallt från mikrovågsugnar till väckarklockor. Så snälla ha tålamod med mig medan jag avvika in LED landet för ett ögonblick.

I de flesta kretsar som omfattar flera LED siffror, är varje siffra inte aktiverat med konstant ström. Snarare registeransvarige ställer in segmentet-mönstret för ett visst mål siffra (säga, mönstret som gör upp hur många "5"), och detta mönster till alla siffror i displayen samtidigt. Det sedan sätter upp mönstret för nästa siffra, utgångar, etc., cykling genom alla siffror och upprepa för evigt.

Men, du får fråga, hur är det möjligt, att se olika nummer på varje siffra? Detta är möjligt eftersom registeransvarige använder transistorer för att slå på target siffran och stäng av alla andra innan utskrift av mönstret.

Till exempel, låt oss säga att vi har en 4 siffrig LED display (varje siffra som heter A, B, C och D), och vi vill visa numren "5678" på den här skärmen. Här är vad som händer:

  1. registeransvarige vänder A och vänder siffror B, C och D av
  2. det utgångar mönstret för nummer "5" och alla siffror
  3. Det visar B och A, C, D av
  4. utgångar mönster för nummer "6"
  5. C och A, B, D av
  6. utgångar "7"
  7. blir D på och A, B, C off
  8. utgångar "8"
  9. upprepa från steg 1

Detta gör att elektroniken inblandade att vara mycket enklare och billigare. Och det fungerar bara eftersom registeransvarige och transistorerna kan sätta siffror på och bort så otroligt snabbt att varje enskilt segment på varje siffra egentligen inte har tid att blekna innan det uppdateras igen. Denna process kallas "multiplexing" eller "blinkande", och det tillåter dig att köra, teoretiskt, valfritt antal LED siffror. (I verkligheten, men det finns en gräns: när du lägger till fler och fler siffror, kommer du att märka att de börjar flimra, eftersom registeransvarige inte kan uppdatera dem tillräckligt snabbt. Slutligen, blir detta flimmer så dålig att du inte längre kan känna igen siffrorna.)

OK, tillbaka till knappen mark.

Jag såg ett samband mellan LED multiplexing ovan och problemet flera knappar: Tänk om vi kunde multiplex knapparna på något sätt? I stället för multiplexing utdata, skulle vi multiplex input: Detta innebär att vi skulle stänga av alla utom en knapp, upptäcka att knappen upp/ned-läge, lagra den och sedan göra samma sak för knappen Nästa etc., cykling genom alla knappar mycket, mycket snabbt. Eftersom endast en knapp är verksam vid varje givet ögonblick, och registeransvarige vet vilken en den er, kan vi använda det samma, enda ingångsstiftet för valfritt antal knappar.

Låter bra, men behålla: vi måste fortfarande aktivera varje knapp, en i taget. Så, har inte vi bara vände problemet runt, sedan nu vi behöver X utgångsstift för X knappar?

Ja, är detta där vi tar in SKIFT register. Skiftregister är en IC som får ett mönster av 8 bitar efter varandra (dvs, seriellt), och, när befallt, kommer att driva det mönstret till 8 utgångsstift samtidigt (dvs parallellt). Bara söka Instructables efter "skiftregister" och du hittar många tutorials. Skift register är snabb, lätt att använda, mycket billig och oerhört kraftfull. Men vi behöver fortfarande att kommandot skiftregister, och det tar 3 Arduino stift att göra så. Men är det underbara att du kan ansluta flera SKIFT register tillsammans i en kedja, och fortfarande köra hela kedjan med samma 3 Arduino stiften!

OK, så där gör allt detta får oss? Om vi kan lista ut hur man multiplex knappen ingångarna, kan vi använda en ingångsstift, och om vi kan utnyttja SKIFT register, vi behöver bara 3 utgångsstift. Hallå! Vi har tagit problemet ner till som kräver endast 4 stift totala att köra ett (teoretiskt) obegränsade antal knappar. Brytpunkten är 4: behöver du 4 eller mindre knappar, bara dyre-styrka det: Använd 4 input stift, eftersom denna strategi är onödigt komplicerade och inte vinna du något. Om du däremot behöver 5 eller, särskilt många fler, vinner du om du använder följande krets och kod.

Se Steg
Relaterade Ämnen

DIY knappar med Tecre knappen maskin

Full information: Ja, jag designar och säljer min egen linje av knappar på sidan.När jag drog ut min knappen maskin och började skapa lager för årets alla hjärtans dag rush, jag mindes hur bara några år sedan jag inte insåg knappar kan göras i bekväm...

Doomsday Steampunk maskin

Denna min första Instructable. Jag blev inspirerad av A-35 Doomsday enhet av ewout. Jag är verkligen njuter Steampunk tema projekt som jag ser här och tänkte jag skulle skapa min egen Steampunk inspirerade doomsday enhet. Min första idé var en väder...

Utforma arkitektoniska modeller för laserskärning i Inkscape

Kan utforma enkla arkitektoniska modeller i Inkscape och använda mönster att laser cut och tillverka enkla modeller. Inkscape kan vara ganska svårt att lära. Det finns massor av knappar och några knepiga gränssnitt oroa. Men om vi tar det långsamma,...

Tillbaka till arkaden av JDRamos

Jag presentera mitt arcade projekt.Ett projekt jag började redan 2013 när Födelsedagspresenter min far erbjöd mig en gammal arkad kabinett, köpte från en leverantör som fortfarande installerar och hanterar dem på kaféer. Det var en gammal arkad med p...

Låt oss göra en spelenhet!

Jag älskar flyger spel, men det känns som det finns aldrig tillräckligt knappar på min joystick.Detta instructable visar dig hur man bygger en egen switch panel på nolltid.Det fungerar med varje spel och dator som stöder en joystick. Jag också uppmun...

Motorcykel turnera tips

Det finns ingenting i världen ganska som packar ihop alla dina prylar och ställa på den öppna vägen.Jag har turnerat på motorcyklar i 38 år och jag är ingen expert moto-journalist, jag lyckades lära sig några saker den hårda vägen under mina många år...

Arduino-drivna A-10 stick grepp remote w/Emergency Party knappen!

jag kom över Plama2002's "Emergency Party Button" bygga ett tag tillbaka och ville ha något liknande för min bar. Jag hade också en gammal USAF B-8 stick grepp från en A-10A som jag plockade upp i mitt tidigare liv. Jag tänkte att istället för a...

Elit farliga anpassade knappsatsen

Jag har spelat den premien Beta av Elite farliga. Det är en bra spel även det dess nuvarande form, men som de flesta spel om dess typ. det finns massor av knappar att komma ihåg. Något du kommer att använda hela tiden, andra inte så mycket. För att h...

Knappen lampa

detta projekt är lätt att göra och är så söt när du är klar.Steg 1: Välj en nyans En vanlig slät tyg som fungerar bäst, här hade platta sidor snarare än att vara cirkuläraSteg 2: Massor av knappar Du behöver en hel del olika stora knappar, platta kna...

Time Out för åter purposing

Efter den sista läraren insåg jag jag sprang farligt låg på långa bitar av skrot läder för Kali. Om du inte har sett min sista par Instructables, bygger jag en rullator baserat på gudinnan Kali. Dags att gå ner till sparsamhet butik!Om du gillar tank...

Ghettoblaster MP3 spelare installation

detta visar omvandlingen eller mer av en installation av en 4 gig Creative Zen MP3 personliga media player i en vintage National Panasonic RX-5030 boombox ghettoblaster.Jag har med den färdiga produkten på min hTack till de användare som gått före mi...

Harmotron

Harmotron är ett instrument som ser till att alla anteckningar du spelar är harmonisk.Det gör detta genom att låta dig spela ackord med vänster hand. Beroende på vad ackord är spelade att vara melodin knapparna med ändra deras Obs. Dessa skulle spela...

Sockerbit MIDI Controller

Detta projekt är en bärbar, Arduino-powered, grid-baserad MIDI-controller som startar upp till olika apps att göra massor av saker med ljud. Den har 16 bakgrundsbelysta knappar, används som både in- och utgångar för att ge registeransvarige lite visu...

Knappen, knappen, som har fått en knapp?

Skulle du spendera timmar limning knappar till en stol om det inte var för en Gorilla lim tävling? Ja kanske. Jag började faktiskt detta projekt sent en natt och några dagar senare fick reda på lim tävlingen så detta är min post. Jag använde Gorilla...

Låter leksak

Hej!Jag skapade detta ljud skapa leksak för en final i en nybörjares Digital elektronik leksak. Det också ändrar ljusa färger beroende på hur du luta den och vibrerar när du spelar en ton. Jag använde kartong, varmt lim, papper och koppar tejp för hö...

Knappen Tree Wall Art

få ut din knapp burk! Här är en intressant utsmyckning projekt som jag såg på Pinterest. Det skulle också se bra med olika nyanser av endast gröna knappar. Jag har skjutit min extra knappar i en burk i flera år och hade ganska en samling! Det tar ett...

Dekorera en väska med färgglada knappar

Lägg till din egen unika touch genom ljusnar en vanlig letar du handväska med knappar.Steg 1: Handväska Mina kriterier för valet av väska var följande;enkelt svart - färgerna bör från knapparna, vit fungerar också,enkel stil - alltför många dinglande...

Flytta knappar på din xbox controller

medan du spelar plikten på xbox live, märkte jag somliga ducka min kulor på nära håll av hukande och kommer benägna medan bränning och hålla sina mål på mig.Om du är bekant med kontroller för call of duty, skulle detta innebära deras högra tumme höll...

Gratis Laser skär knappar - helt anpassningsbara!

Irriterad på alla dessa designers slathering deras namn över allt? Sätta ditt eget namn på knappar!Det hela började när jag förlorat några dåligt sydda knappar och ville få något lite mer awesome. Inte bara kommer du att se hur du kan göra knappar fö...