Mellanliggande Arduino: Ingångar och utgångar (3 / 9 steg)
Steg 3: SKIFT register
Hittills har vi sett hur vi kan använda Arduino för att styra många digitala ingångar och utgångar på en gång, men ibland kommer vi vill styra fler komponenter än Arduino har stift för. I det här fallet kan vi använda en extern integrerad krets (även kallad en "chip") att expandera Arduinoen ingångar och utgångar.
SKIFT register är marker som använder logik gates för att styra många ingångar och utgångar på en gång. De är inneboende digital, som digitala stiften på Arduino - detta innebär att de bara kan läsa eller skriva 0V och 5V (låg eller hög). Om du letar efter något att expandera din analoga ingångar så du en demultiplexer som 4051 (Läs mer om hur du använder det här). I detta Instructable som vi kommer att titta på 74HC595 SKIFT register (kallas "595"), det är mycket populärt eftersom det kan öka 3 Arduino digitala utgångar i 8 utgångar.
595 har 8 utgångsstift märkt Q0-Q7 (kallas ibland även Qa-DH), det kan inte läsa data från dessa pins, de kan bara användas som resultat (om du letar efter ett skiftregister med 8 input stift, kolla in 74HC165, tutorial här). 595 styrs av tre anslutningar, de kallas data stift, spärren pin och klockan stift. Avse flödesdiagram ovan för att se hur du styr produktionen stift (upprepas nedan):
- först, spärr stiftet (märkt "spärren klocka" i andra diagrammet ovan) ligger lågt att inaktivera utgångsstift (märkt "parallell utgångar"), så sätt utgångsstift kommer inte att ändra som vi skickar in nya data till 595
- Nästa, nya data som skickas till 595 genom pulserande klocka pin ("SKIFT klocka") och skicka varje 8 utgång genom data stift ("seriella data ingång") en och en. Arduino har en praktisk funktion i dess bibliotek kallas shiftOut som tar hand om detta för dig, jag ska förklara hur man använder detta i nästa steg.
- Slutligen, ange den spärr pin HIGH. Detta skickar dina nya uppgifter till alla utdata stiften på en gång (kallade parallella utgång).