Rijden van tientallen knoppen (1 / 4 stap)

Stap 1: Het Thinking Through

Dus, laten we denken dit door.

Als je kijkt naar de tutorial hierboven gegeven, ziet u dat de brute kracht oplossing is voor elke knop moeten we één macht pin, één afvoer door middel van een 10 KOhm weerstand en één invoer pin. De pin van de macht en afvoer kunnen worden gedeeld met alle knoppen, maar in het circuit komt er te staan, wij niet krijgen rond het feit dat we een afzonderlijke invoer pin nodig voor elke individuele knop. Als onze toepassing 10 knoppen vereist, moeten we 10 Arduino pinnen. Ouch.

Als ik gaf de zaak nadenken, echter het bij me opgekomen dat dit vergelijkbaar met een probleem in een ander project dat ik had gewerkt was, namelijk het aanpakken van meerdere LED display cijfers, iets we overal uit magnetrons aan wekkers zien. Zo gelieve te hebben geduld met me terwijl ik dwaal af in LED-land voor een moment.

In de meeste circuits die bestaan uit meerdere LED cijfers, is elk cijfer niet geactiveerd met een constante stroom. Integendeel, de controller ingesteld van het segment-patroon voor een bepaald doel-cijfer (bijvoorbeeld het patroon waardoor het aantal "5"), en uitgangen tegelijk dat patroon aan alle cijfers in het display. Vervolgens stelt het patroon voor het volgende cijfer, uitgangen, enz., fietsen door alle cijfers en voor altijd herhalen.

Maar, je kunt je afvragen, hoe is het mogelijk, dan, om te zien van verschillende nummers op elk cijfer? Dit is mogelijk omdat de controller maakt gebruik van transistoren het cijfer doel inschakelen en uitschakelen alle anderen vóór het uitvoeren van het patroon.

Bijvoorbeeld, laten we zeggen we hebben een 4-cijferige LED display (elk cijfer genoemd van A, B, C en D), en we willen de nummers "5678" Toon op dit scherm. Hier is wat er gebeurt:

  1. de controller A ingeschakeld en draait cijfers B, C en D af
  2. het output het patroon voor het nummer "5" aan alle cijfers
  3. het blijkt op B en A, C, D af
  4. uitgangen patroon voor nummer "6"
  5. draait op C en A, B, D af
  6. uitgangen "7"
  7. draait op D en A, B, C van
  8. uitgangen "8"
  9. herhalingen uit stap 1

Hierdoor kan de elektronica betrokken veel eenvoudiger en goedkoper. En het werkt alleen omdat de controller en de transistors annuleertekenzwenking cijfers op en af zo ongelooflijk snel dat elk afzonderlijk segment op elk cijfer tijd eigenlijk niet hoeft te verdwijnen voordat het wordt vernieuwd weer. Dit proces staat bekend als "multiplexing" of "knipperen", en u kunt rijden, theoretisch, een willekeurig aantal cijfers van de LED. (In werkelijkheid is er echter een limiet: als u meer en meer cijfers toevoegt, zult u opmerken dat zij beginnen te flikkeren, omdat de controller kan ze niet snel genoeg vernieuwen. Uiteindelijk, wordt deze flikkering zo slecht dat je bent niet meer kunnen herkennen van de getallen.)

OK, terug naar knop land.

Ik zag een verbinding tussen de LED multiplexing boven en dit meerdere knoppen probleem: wat als wij kon het multiplexen van de knoppen op een bepaalde manier? In plaats van de uitvoer multiplexing, zouden we de input multiplex: Dit betekent dat wij zou al maar één knop uitschakelen, die knop omhoog/omlaag staat detecteren, opslaan en vervolgens doe hetzelfde voor de knop volgende, enz., fietsen door alle knoppen zeer, zeer snel. Aangezien slechts één knop actief op een gegeven moment is, en de controller weet welke één het is, kunnen we de dezelfde, één invoer pin gebruiken voor een willekeurig aantal knoppen.

Klinkt goed, maar houden op: we moeten nog steeds om elke knop, één filter tegelijk te activeren. Zo, nog niet wij net draaide het probleem rond, aangezien nu we moeten X output pinnen voor X knoppen?

Nou, is dit waar we brengen in shift registers. Het shift register is een IC die een patroon van 8 bits ontvangt na elkaar (dat wil zeggen, serieel), en, toen gebood, zal rijden dat patroon naar 8 output pinnen tegelijk (dat wil zeggen, parallel). Gewoon zoeken Instructables naar "shift register" en u vindt veel tutorials. Shift registers zijn snel, makkelijk te gebruiken, zeer goedkoop en enorm krachtig. Maar we hoeven nog tot bevelhebber van het shift register, en duurt 3 pinnen van de Arduino te doen. Echter, de prachtige deel is dat u kunt meerdere shift registers met elkaar in een keten verbinden, en nog steeds de hele keten met dezelfde 3 pins Arduino rijden!

OK, dus waar komt alles wat dit ons krijg? Als we hoe de knop ingangen multiplex achterhalen kunnen, kunnen we één invoer pin gebruiken, en als we shift registers hefboomeffect kunnen, we hoeven alleen maar 3 output pinnen. Hey! We hebben het probleem tot het vereisen van slechts 4 pins totale om te rijden een (theoretisch) onbeperkt aantal knoppen gebracht. Het breekpunt is 4: als u 4 moet of minder knoppen, gewoon brute kracht het: gebruik 4 input pinnen, aangezien deze aanpak onnodig complex is en u iets niet winnen. Als, echter, moet u 5 of, met name veel meer, wint u als u de volgende circuit en de code gebruiken.

Gerelateerde Artikelen

Het wijzigen van alle knoppen, Triggers, en Joysticks On An Xbox 360 Wireless Controller

Het wijzigen van alle knoppen, Triggers, en Joysticks On An Xbox 360 Wireless Controller

dit instructable leert u hoe u uw eigen aangepaste Xbox 360-controller. Dit project zou een beetje moeilijk en/of frustrerend soms, maar als je stok met het, uw controller zullen de beste op het blok.Stap 1: Verzamel materialen Materialen:-1 Xbox 360
Gebruik een ATTiny $1 te rijden van adresseerbare RGB LED's

Gebruik een ATTiny $1 te rijden van adresseerbare RGB LED's

Arduinos zijn prachtig en makkelijk om mee te werken, maar er zijn enkele projecten waar u moeten een microcontroller, of sommige interactiviteit wilt toevoegen maar wil eigenlijk niet te wijden een $20-30 board!Bij een weinig meer dan $1/elke (minde
Rijden van een webpagina in realtime met behulp van de Arduino, SensorMonkey en Processing.js

Rijden van een webpagina in realtime met behulp van de Arduino, SensorMonkey en Processing.js

externe visualisatie van real-time sensorgegevens.Deze tutorial beschrijft in detail hoe u met de gratis SensorMonkey -service push realtime sensor data van een Arduino naar een webpagina voor visualisatie met behulp van Processing.js. Geen server-si
Hoe maak je producten van de knoppen

Hoe maak je producten van de knoppen

zo veel dingen kunnen worden gemaakt van gewone knoppen...Stap 1: , Knip over 18 (45.7 cm) van draad. Ene uiteinde van het omhoog brengen door de achterkant van uw eerste knop, verlaten van een 4-5″(12cm) staart.Stap 2: Steek het andere uiteinde van
Hoe te maken van aangepaste knoppen voor kleding

Hoe te maken van aangepaste knoppen voor kleding

Ik heb begon te doen sommige projecten van textiel en wilde enkele unieke knoppen die ik zou kunnen aan mijn klaar creaties toevoegen.In dit Instructable, zal ik je laten zien hoe u kunt gebruiken een laser om aangepaste, unieke knoppen gemaakt van h
Hoe te rijden van lange schroeven

Hoe te rijden van lange schroeven

ik heb altijd gebruikt een boor om station schroeven.  Schroeven die langer dan 2 1/2 inch strippen echter vaak uit voordat ik ze gedreven helemaal in kan krijgen.  Tot nu toe heb ik altijd vermeden 3-inch en langere schroeven tenzij ik ze echt nodig
Bevestigen van de knoppen van de afstandsbediening TV

Bevestigen van de knoppen van de afstandsbediening TV

bepaalde knoppen op de afstandsbediening van een TV kunnen krijgen versleten na verloop van tijd. In mijn geval het kanaal omhoog was en een kanaal omlaag knoppen. De contacten aan de onderkant van de knop zijn waarschijnlijk versleten. Dit is hoe ik
Ter vervanging van de knoppen op een spelsysteem of domeincontroller

Ter vervanging van de knoppen op een spelsysteem of domeincontroller

In deze video, ik heb sommige slecht ontworpen zachte contact stijl knoppen vervangen door harde tactiele toets op het richtingstootkussen van een Sudoku game systeem. Dit proces zal ook werken voor de TV of andere externe controllers, video game con
Rijden van Bi-polaire stappenmotor met Keyes L298N

Rijden van Bi-polaire stappenmotor met Keyes L298N

Vaak gebruiken mensen Darlington Array om te bepalen van stappenmotoren zoals ULN2003 of ULN2004. Hier wil ik u tonen hoe te gebruiken L298N Dual Motor Driver om te rijden op een 4-draads bi-polaire stappenmotor. Nou, het kan duurder zijn dan een Dar
Armband organisator die houdt van tientallen armbanden en houdt ze alle zichtbaar te kiezen!

Armband organisator die houdt van tientallen armbanden en houdt ze alle zichtbaar te kiezen!

Ben je moe van het zoeken door de rommelige lades van sieraden, gewoon om te vinden dat armband die u hebt opgegeven, ergens?Ik heb de perfecte armband organisator voor u!!  Nooit opnieuw zoeken via verwarde messes! Deze draagbare armband organisator
Grip van de knoppen

Grip van de knoppen

ik ben een amateur riool die niet kan staan die knoppen die u hebt om te naaien een half miljard keer om ze te strak! Daarom maakte ik greep knoppen! Je moet alleen Naai de hen eens en ze blijven zitten. Als dat interessant voor u klinkt, lees dan ve
Rijden van M35SP-9 stappenmotor met microcontroller (18F452)

Rijden van M35SP-9 stappenmotor met microcontroller (18F452)

Dit was puur een pedagogisch experiment deed ik voor mezelf, maar aangezien het kostte me een tijdje om onderzoek ik dacht ik zou delen met de wereld.Stap 1: De PCBOm te rijden de stappenmotor, gebruikte ik een relais boord ik een paar maanden eerder
Het maken van aangepaste knoppen

Het maken van aangepaste knoppen

In dit instructable, we zullen het onderwijs de stappen voor het maken van uw eigen knop pinnen. Dit instructable is bedoeld voor leeftijden 18 en omhoog of met toezicht van volwassenen om te voorkomen dat schade tijdens het gebruik van de apparatuur
Rijden van LED-strip met pcDuino

Rijden van LED-strip met pcDuino

Het vakantieseizoen!We zullen de lichten weer hangen. In deze post gaan we laten zien hoe om te controleren de LED strip, en openen een geheel een mogelijkheid van intelligente decoratie. Om de LED-strip, moeten we een LED strip driver, die kan worde