Met behulp van een Dot Matrix LED met een Arduino en Shift Register (4 / 5 stap)

Stap 4: Conserve i/o-poorten met een verschuiving registreren


Dus nu onze microcontroller kan gegevens doorsturen naar de dot matrix LED maar het met behulp van acht I/O poorten. Dat sluit met een ATtiny in een 8-pins duik pakket en zelfs met een nieuwere Arduino sportieve een ATmega328p dat is een heleboel I/O poorten voor één LED. We kunnen dit wilt omzeilen, echter, met behulp van een IC genoemd een verschuiving te registreren.

Een moment om te "shift" versnellingen...
Een shift register kan best worden begrepen door te denken over de twee woorden die deel van zijn naam uitmaken: "shift" en "registreren". De verschuiving van het woord verwijst naar hoe de gegevens via het register gaat. Hier (zoals in onze Arduino en microcontrollers, in het algemeen) een register is een locatie die gegevens bevat. Het doet dit door implementsing een lineaire keten van digitale logica-schakelingen genaamd "flip flops" die heeft twee stabiele staten die kunnen worden vertegenwoordigd door een 1 of 0. Dus, door de invoering van acht slippers samen hebt u een apparaat dat kan houden en die van een 8-bits byte.

Net zoals er zijn verschillende soorten flip-flops en verschillende variaties op een thema van shift registers (denk omhoog/omlaag tellers en Johnson items), zijn er ook verschillende soorten shift registers gebaseerd op hoe de gegevens in het register is vergrendeld en hoe die gegevens wordt uitgevoerd. Op basis van deze, houd rekening met de volgende soorten shift registers:

  • Seriële / parallelle uit (SIPO)
  • Serieel / seriële uit (SISO)
  • Parallel In / seriële uit (PISO)
  • Parallel In / Parallel uit (PIPO)

Twee van de nota zijn SIPO en PISO. SIPO registers Neem gegevens serieel, dat wil zeggen, een beetje na de andere, verschuift de eerder invoer bit over naar de volgende flip flop en verzenden van de gegevens uit op alle ingangen in een keer. Dit maakt een mooie seriële naar parallelle converter. PISO shift registers, hebben daarentegen parallelle ingangen, zodat alle bits tegelijk worden ingevoerd, maar output een tegelijk zijn. En je raadt het al, dit zorgt voor een mooie parallel naar seriële converter. Het register van de verschuiving dat we gebruiken wilt om het aantal I/O pinnen zou ons in staat stellen te nemen van de 8 IO pinnen die we al eerder gebruikt en verminderen ze neer aan één, of misschien gewoon een paar, gezien het feit dat wij wellicht om te bepalen hoe we de input van de bits. Het shift register we gebruiken daarom een seriële / parallelle poort uit.

Kabellengte tot het register van de verschuiving tussen de LED en Arduino
Met behulp van een shift register is eenvoudig. Het moeilijkste deel is gewoon visualiseren de data pennen en hoe de binaire cijfers zal eindigen in de IC en hoe zullen zij uiteindelijk verschijnen op de LED. Neem een moment om het plan dit uit.

1. Bevestig 5V pin 14 (rechtsboven) en pin 7 (linksonder) te nemen tot grond.
2. het register verschuiving heeft twee seriële ingangen, maar we zullen alleen worden met behulp van een, dus pin twee verbinden met 5V
3. we zullen niet worden met behulp van de duidelijke pin (gebruikt op nul uit alle outputs) dus laten zweven of aanvallen naar 5V
4. Sluit een digitale IO-poort naar pin een van de shift register. Dit is de seriële input pin.
5. Sluit één digitale IO-poort op pin 8 (rechtsonder). Dit is de pin klok.
6. Sluit uw data lijnen van Q0 aan V6. We gebruiken alleen 7 bits omdat de ASCII-tekenset slechts zeven bits gebruikt.

Ik gebruikte PD2 voor het uitvoeren van mijn seriële data en PD3 voor het kloksignaal. Voor de gegevens pinnen, ik Q0 aangesloten op D6 op de LED en blijven op die manier (Q1 D5, Q2 D4, enz). Aangezien we sturen gegevens serieel dat zullen we moeten onderzoeken van de binaire vertegenwoordiging van elk teken willen we te sturen, kijken naar 1's en 0's, en elke bit op de seriële lijn outputting. Ik heb een tweede versie van de bron van de dotmatrixled.c samen met een Makefile hieronder opgenomen. Het doorlopen van de tekenset en alle even tekens worden weergegeven (als het is raar denken dat een letter of oneven, na te denken over de binaire vertegenwoordiging voor een moment zou kunnen zijn). Proberen om erachter te komen hoe maak je het doorlopen van alle vreemde tekens worden weergegeven. Verder kunt u experimenteren met de verbindingen tussen het shift register, de dot matrix LED en je Arduino. Er zijn verschillende controle functies tussen de LED en het register die kan u toestaan om fine-tunen van uw controle over wanneer gegevens wordt weergegeven.

Dus... we zijn gegaan van moetend gebruiken acht I/O poorten om alleen met behulp van twee!

Gerelateerde Artikelen

Hoe maak je een enkele LED knipperen met behulp van een Arduino Uno Board

Hoe maak je een enkele LED knipperen met behulp van een Arduino Uno Board

Vandaag, we zullen worden ter illustratie van hoe maak je een enkele LED knipperen met behulp van een Arduino Uno-board. Door elke stap te volgen, zal je dit doel bereiken.U zal het volgende nodig:Een Arduino BoardBrood bordUSB-connectorkabelEEN LED3
LED licht met behulp van een Arduino

LED licht met behulp van een Arduino

Een Arduino is een open-source van de computerhardware, open-source software en microcontroller-gebaseerde kits voor het bouwen van digitale apparaten en interactieve objecten die kunnen voelen en aansturen van fysieke apparaten. Er zijn verschillend
Indringende en een PCB met behulp van een Arduino-Based CNC frezen

Indringende en een PCB met behulp van een Arduino-Based CNC frezen

Tot onlangs PCB sonderen met behulp van een Arduino was gebaseerde CNC machine maar een loutere droom. Dankzij de mensen van Chilipeppr.com we nu hebben gebaseerde een bankje van de web-gebaseerde tool voor al onze Arduino CNC producten. Het beste de
Maak een Web aangesloten Robot (voor ongeveer $500) (met behulp van een Arduino en Netbook)

Maak een Web aangesloten Robot (voor ongeveer $500) (met behulp van een Arduino en Netbook)

dit Instructable zal u tonen hoe te bouwen van uw eigen Web aangesloten Robot (met behulp van een Arduino micro-controller en de Asus eee pc).Waarom zou u een Web aangesloten Robot willen? Om mee te spelen natuurlijk. Rijd uw robot van hele kamer of
Gitaar Tuner voor blinden (met behulp van een Arduino)

Gitaar Tuner voor blinden (met behulp van een Arduino)

het wijzigen van een gitaar tuner zodat het kan worden gebruikt door een blinde persoonDeze build maakt gebruik van een Arduino Pro mini microcontroller, (alle code wordt verstrekt).Dit project werd uitgevoerd voor het goede doel Remap, waarmee op ma
Met behulp van een Arduino te laden van een DS lite

Met behulp van een Arduino te laden van een DS lite

Dit instructable is voor het opladen van een ds lite met behulp van een Arduino en twee draden. Dit is ook mijn eerste instructable, zodat het wellicht niet zo goed als mogelijk. :)BERICHT: Ik ben niet verantwoordelijk voor eventuele schade aan je ds
Elektromagnetisch veld Detector met behulp van een Arduino

Elektromagnetisch veld Detector met behulp van een Arduino

Ooit elektronisch apparaat straalt een bepaalde hoeveelheid elektromagnetische velden en we kunnen deze straling gebruiken om te leren een paar dingen over het circuit.In hedendaagse instructable ga ik u tonen hoe te bouwen van je eigen elektromagnet
RFIDuino - met behulp van een Arduino & RFID-lezer te maken van een puzzel GeoCache

RFIDuino - met behulp van een Arduino & RFID-lezer te maken van een puzzel GeoCache

ik geniet van zowel Geocaching en elektronica en heb een paar van elektronische puzzel caches met behulp van een Arduino.Mijn nieuwste creatie (met de hulp van een collega cacher voor de code) is met behulp van een Arduino en RFID lezer te maken van
Grondbeginselen van het omzetten van uw externe controle voertuig in een autonoom systeem (Drone) met behulp van een Arduino

Grondbeginselen van het omzetten van uw externe controle voertuig in een autonoom systeem (Drone) met behulp van een Arduino

ik begon dit project met als doel goedkoop draaien mijn RC helikopter in iets van een UAV of althans te passen sommige sensoren aan het verminderen van aanvaringen en andere "mis haps."Nu helaas aan het begin van het project misrekend ik mijn kl
Met behulp van een Arduino en Python plot/opslaan gegevens

Met behulp van een Arduino en Python plot/opslaan gegevens

een snelle en gemakkelijke manier om te zien (en sla) gegevens genomen met behulp van een Arduino op uw computer.(Opmerking: niet de meest robuuste methode, maar het werkt goed genoeg)Materialen:-Arduino (im ' using een Uno)-Computer (ik heb een Dell
Verstelbare RGB LED instelbaar met behulp van een Arduino

Verstelbare RGB LED instelbaar met behulp van een Arduino

dit project maakt gebruik van een Arduino Duo R3 en 3 drukknoppen waarmee een RGB LED.De 1ste knop selecteert welke kleur van de RGB LED die u wilt aanpassen. De andere 2 knoppen kunt u de helderheid van die kleur omhoog of omlaag.Er zijn 3 groene LE
Speel de Fransen kan kan met behulp van een Arduino en de zoemer

Speel de Fransen kan kan met behulp van een Arduino en de zoemer

Bonjour!Controleer je Arduino spelen de Franse kan kan met behulp van een zoemer. Geen Tang. Geen branden. Het is zo ongecompliceerd is zo schandalig de kan houdt.Dit instructable heeft betrekking op één of andere info inleidende elektronica, en rich
Puzzlebox baan: Een infrarood helikopter besturen met behulp van een Arduino

Puzzlebox baan: Een infrarood helikopter besturen met behulp van een Arduino

In dit Instructable zullen we uitleggen hoe de infrarood signalen worden gebruikt door een afstandsbediening om een speeltje of apparaat, dan laten zien hoe een eenvoudige schakeling kan worden toegevoegd aan een Arduino aan dezelfde bedienen via gra
Ik hou van u teken met behulp van een Arduino

Ik hou van u teken met behulp van een Arduino

dit is een leuke project dat een decoratief doel fungeert. Mijn vrouw vond het geweldig toen ik gaf het aan haar voor Valentijnsdag. Haar woorden waren, "Als u niet had vertelde me dat je dit hebt gemaakt, ik zou hebben gedacht was uit de winkel!&quo