Med en matrisskrivare LED med en Arduino och SKIFT registrera (4 / 5 steg)

Steg 4: Spara i/o-portar med en förskjutning registrera



Så nu våra microcontroller kan skicka data till matrisskrivare LED men det är med åtta/o-portar. Detta utesluter med hjälp av en ATtiny i en 8-stifts DIP paket, och även med en nyare Arduino idrottsliga en ATmega328p som är mycket i/o-portar för en LED. Vi kan komma runt detta, men, genom att använda en IC kallas en förskjutning registrera.

En stund att "växla"...
Ett skiftregister kan förstås bäst av tänka på de två orden som utgör dess namn: "shift" och "registrera". Ordet SKIFT avser hur data är på väg via registret. Här (som i vårt Arduino och microcontrollers, i allmänhet) ett register är en plats som innehåller data. Det gör detta genom implementsing en linjär kedja av digital logic kretsar kallas "flip flops" som har två stabila stater som kan representeras av antingen en 1 eller 0. Så, genom att sätta åtta flip flops tillsammans du har en enhet som kan hålla och som representerar en 8-bitars byte.

Precis som det finns flera typer av flip flops, och flera variationer på ett tema av SKIFT register (tror upp/ner räknare och Johnson räknare), det finns också flera typer av SKIFT register baserat på hur data är låst in i registret och hur dessa data är utdata. Baserat på detta anser följande typer av SKIFT register:

  • Följetong / parallell ut (SIPO)
  • Följetong i / följetong ut (SISO)
  • Parallellt i / följetong ut (PISO)
  • Parallellt i / parallell ut (PIPO)

Två av anmärkning är SIPO och PISO. SIPO register ta data seriellt, det vill säga en bit efter den andra, skifta tidigare input lite över till nästa flip floppen och skicka data ut på alla ingångar på en gång. Detta gör en fin följetong till parallell-omvandlare. PISO SKIFT register, har däremot parallella ingångar, så alla bitar anges samtidigt, men matas ut en i taget. Och du gissade rätt, detta gör för en trevlig parallell till seriell omvandlare. Skiftregister vi vill använda för att minska antalet I/O pins skulle tillåta oss att ta de 8 IO pinnar vi använt tidigare och reducera dem ner till en, eller kanske bara ett par, med tanke på att vi kan behöva styra hur vi bitarna. Skiftregister vi använder därför en följetong / parallell ut.

Tråd upp skiftregister mellan LED och Arduino
Det är enkelt att använda ett skiftregister. Den svåraste delen är bara Visualisera data output stiften och hur de binära siffrorna kommer att hamna i IC och hur de så småningom kommer att dyka upp på LED. Ta en stund att planera ut.

1. Fäst 5V stift 14 (överst till höger) och ta stift 7 (nedre vänstra) ner till marken.
2. skiftregister har två seriella ingångar men vi kommer endast att använda en, så ansluter stift två till 5V
3. vi kommer inte att använda tydliga PIN-koden (används till noll ut alla utgångar) så lämna det flytande eller attackera det till 5V
4. Anslut en digital IO port till pin en av skiftregister. Detta är det seriella ingångsstiftet.
5. Anslut en digital IO port till stift 8 (nederst till höger). Detta är klockan PIN-koden.
6. Anslut din data linjer från Q0 till Q6. Vi använder bara 7 bitar eftersom ASCII-teckenuppsättningen använder bara sju bitar.

Jag använde PD2 mata min seriella data och PD3 för klocksignalen. För data stiften, ansluten jag Q0 till D6 på LED och fortsätta på så sätt (Q1 till D5, Q2 till D4, etc). Eftersom vi skickar ut data seriellt vi måste undersöka den binär representationen av varje tecken vill vi skicka, titta på 1 och 0's och mata varje bit på raden följetong. Jag har tagit en andra version av den dotmatrixled.c källan tillsammans med en Makefile nedan. Det växlar mellan teckenuppsättningen och visar alla även tecken (om det är konstiga tänkande att ett brev kan vara udda eller jämnt, tänka på den binära representationen för ett ögonblick). Försök att räkna ut hur till göra det igenom visar alla udda karaktärer. Du kan ytterligare experiment med anslutningarna mellan skiftregister, matrisskrivare LED och din Arduino. Det finns flera kontrollfunktioner mellan LED och de register som kan tillåta dig att finjustera din kontroll om när data visas.

So... vi har gått från att ha åtta I/O portar till att bara använda två!

Se Steg
Relaterade Ämnen

Multiplexering 7 Segment visar med Arduino och SKIFT register

i detta instructable, jag kommer att lära grunderna i multiplexing 7 segmenterar skärmar med en Arduino och ett par av SKIFT register. Detta projekt är väl lämpad för att Visa numeriska information eller om du vill styra en massa lysdioder. För nybör...

Kontrollera en RC servomotor med en Arduino och två momentan växlar

namnet säger allt. Kontrollera en RC bil servomotor med en Arduino och några motstånd, hoppare ledningar och två taktil switchar. Jag gjorde detta den andra dagen jag fick min Arduino, så jag är ganska stolt över mig själv.Steg 1: Reservdelslista Oke...

Arduino och SKIFT register

I detta projekt kan du se hur du styr ledde använder arduino och SKIFT registerDu behöver:Arduinoenskiftregisterleddeför kod och krets gå till:bästa-circuit.blogspot.comatt se hur wok går till:https://www.youtube.com/watch?v=F1K3qt9nhKc...

Motion Tracker med PIRs, Arduino och en Servo

detta är min motion tracking huvudet med fyra PIRs (passiva infraröda sensorer), en Arduino Uno styrelse och en servo.Det är ett enkelt sätt att ge intryck av att huvudet (birdy) faktiskt följer rörelsen.Det är mycket lätt att bygga men lite tidskräv...

ZAPpelin, eller hur du tränar din luftskepp med en Arduino och IR-fjärrkontroll

är det flyger sigill? En flaxande främmande?Nej det är en ZAPpelin, en Arduino kontrollerade inomhus luftskepp, setup att lära i signalerna från en IR-fjärr att befalla det.Detta projekt kom till liv på den tredje Arduino Jam Februari 15 to17th 2013,...

Styra en kamera med en Arduino och RS232 sköld

Denna handledning visar dig hur du kan styra många olika aspekter av en kameror drift med en Arduino. Dessa operation kan vara pan och tilt kamera, zoom och fokus lins, och RGB egenskaper. Arduinoen kommer att utnyttja en RS232 sköld och skicka hexad...

Väderstation med SAMIIO, Arduino och Raspberry Pi

Den här artikeln visas hur du använder SAMISKA med enkla, off-the-shelf sensorer och hårdvara. Specifikt, blir vi insamling klimatdata från en billig temperaturgivare och vidarebefordra dessa data till molnet via SAMI APIs. Därifrån kan vi analysera...

D.D.Tap - interaktiva spel plattform med bearbetning, Arduino och Twitter

D.D.Tap är ett spel som kan spelas med hjälp av sensorer kopplade till Arduino och gränssnitt till spelet producerade med bearbetning. Det är en enkel dance dance revolution som spel som ackumuleras punkt när spelaren aktiverar sensorerna eller tryck...

Göra en bärbara streckkodsläsare med en arduino och en cuecat

runt om vänden av århundradet, det var ett företag vars affärsmodell ingår ger bort gratis streckkodsläsare som emulerar tangentbord. En relativt enkel mod till dessa cuecat skannrar bort krypteringen och gjorde dem lämpliga för skanning av streckkod...

Hur man mäter temperaturen mycket noggrant med en Arduino och en TSYS01 temperatur Sensor styrelse.

Medan de studerar på universitetet var vi ifrågasätts som en del av en kurs arbete på att designa en låda med mycket exakt temperaturkontroll. Om projektet lyckas, skulle flera boxar byggas och används i ett forskningsprojekt som studerar effekten av...

Att göra en hypnotisk disk med en Arduino och små DC motor.

Min uppmärksamhet blev tillfångatagen av en gammal film jag såg nyligen. Det visade en snurrande spiral disk som sätter människor i en hypnotisk trance. Så, jag bestämde mig att bygga en. Naturligtvis, har min "hypnotiska" disk inte hypnotiserad...

4 x 4 x 4 LED-cube baserade Arduino och blomma protoboard

detta instructable kommer att lära dig hur man bygger din 4 x 4 x 4 LED cube med Blomma ProtoBoard och kontroll av Arduino. Varför är blomma ProtoBoard? inte ProtoBoard?På grund av använder jag ofta grindar för att testa om en ny idé fungerar i prakt...

Med hjälp av SKIFT registrera 74HC595 med ULN2803, UDN2981 och BC327

Hej, alla!I många situationer i dina projekt med microcontrollers kan du använda ett skiftregister som 74HC595 direkt med lysdioder och visar, men om du kolla databladet du kommer se att behöva ta hand med den maximala strömmen på varje utgång och äv...

Styra två lysdioder med en Arduino och bitVoicer

Så vad jag vill göra här är att göra flera saker med två lysdioder med taligenkänningJag använder bitvoicer kan du få det härSteg 1: Del förteckningSå jag gör detta med som lite delar som jag kan, är här listan:Grön LEDRöd LEDSkärbräda1k ResistorStar...

Kör en Stepper Motor med en Arduino och en A4988 Stepstick/Pololu drivrutin

Det finns flera sätt att göra en stegmotor som kör, och det bästa sättet beror på tillämpningen, motor och elektronik tillgängliga. För att köra en stegmotor från en Arduino är dessa de huvudsakliga sätt att gå1. en ULN2003 Darlington förare ombord....

7-segment LED Die w/Arduino och mer

detta projekt bygger på arduino miljö så att du kan manipulera en dö med en enkel 7-segment LED och mini switch för kontroll.Titta på video på: http://www.youtube.com/watch?v=-kSp8QqmcOcViktig anmärkning: Jag gjorde ett fel eftersom jag skrev 2N3904...

Introduktion till Home Automation med Arduino och RF-signaler!

Idag ska jag visa dig en introduktion på hemautomation med RF-signaler.Föreställa sig mitten av vintern, det är kallt och mörkt ute, men tack vare automation du vakna upp till ett varmt och ljust rum, med en varm kopp kaffe ångande vid sidan av sänge...

Styra allt med Arduino och en infraröd fjärrkontroll

Hej, detta är min första instructable och tänkte jag skulle visa en snabb demonstration av hur man styr något såsom ljusdioder, DC-motorer och en hel del andra saker med en arduino och ganska mycket någon infraröd fjärrkontroll. Första gången jag för...

Kontrollera en Roomba robot med Arduino och Android

(Om du gillar detta Instructable, glöm inte att rösta på den - ovan: högra hörnet flaggan. Det tävlar på AUTOMATION tävling. Tack så mycket! ;-)Som en av robotteknik tävling 2016 vinnarna här på Instructables fick jag som pris en iRobot Roomba Create...