3 Arduino Pins to 24+ Output Pins (6 / 7 steg)

Steg 6: Huvudkoden



Anslut upp kretsen som visas. Sedan ladda upp den viss kod som kan användas till att styra enskilda stift av register. Denna kod är särskilt utformade för att styra reläer. De kan också användas för att göra en stor LED chaser behöver du bara ändra koden grundad på tillämpningen.

För det första kommer att jag förklara de grundläggande linjer som måste ändras beroende på antalet SKIFT register. Kodraden som har

Hur många av skiftet register - ändra detta
#define number_of_74hc595s 1

Som namnet antyder du bör ge antalet SKIFT registrera moduler du använder. Programmet är begränsat till max 40 + SKIFT register.

setRegisterPin (2, hög).
setRegisterPin (3, hög).
setRegisterPin (4, låg).
setRegisterPin 5, hög,
setRegisterPin (7, hög).
writeRegisters();

Denna kod är den primära funktionen där du kan kontrollera stiften SKIFT register. Raden "writeRegisters()" är den funktion som ska anropas inorder att skicka data till SKIFT Register.Suppose måste du kontrollera den 24 pin av tredje skiftet registrera modulen sedan koden kommer att

setRegisterPin (24, hög).

Anta att du måste återställa stiften så att alla av dem blir låg då funktionen kommer att

clearRegisters();

Slutligen den övergripande kod för att kontrollera stiften ges nedan och jag har också bifogat koden för programmet. Så i den här koden följande stiften sätts högt och kan återställas med hjälp av registreringsfunktionen rensa. Jag använder 3 Skift register moduler så du måste ändra koden om du använder 2 SKIFT register. Om allt går väl produktionen kommer att vara som visas i videon ovan. Använd denna grundläggande idé kan du designa cool microcontroller projekt.

KOD:

int SER_Pin = 11; stift 14 på 75HC595
int RCLK_Pin = 8; stift 12 på 75HC595
int SRCLK_Pin = 12; stift 11 på 75HC595

Hur många av skiftet register - ändra detta
#define number_of_74hc595s 3

rör inte
#define numOfRegisterPins number_of_74hc595s * 8

Boolean registrerar [numOfRegisterPins];

void setup() {
pinMode (SER_Pin, OUTPUT);
pinMode (RCLK_Pin, OUTPUT);
pinMode (SRCLK_Pin, OUTPUT);

Återställ alla register stift
clearRegisters();
writeRegisters();
}

alla register stift inställd på låg
void clearRegisters() {
för (int jag = numOfRegisterPins - 1; i > = 0; i--) {
register [i] = låg;
}
writeRegisters();
}

Ange och Visa register
Bara ringa när alla värden är hur du vill ha (långsam annars)
void writeRegisters() {

digitalWrite (RCLK_Pin, låg);

för (int jag = numOfRegisterPins - 1; i > = 0; i--) {
digitalWrite (SRCLK_Pin, låg);

int val = register [i];

digitalWrite (SER_Pin, val);
digitalWrite (SRCLK_Pin, hög);

}
digitalWrite (RCLK_Pin, hög);

}

ställa in en individuell pin högt eller lågt
void setRegisterPin (heltal index, int värde) {
register [index] = värde;
}

void loop() {
setRegisterPin (0, låg);
setRegisterPin (1, hög);
setRegisterPin (2, låg).
setRegisterPin (3, hög).
setRegisterPin (4, låg).
setRegisterPin 5, hög,
setRegisterPin (6, låg).
setRegisterPin (7, hög).
setRegisterPin 8, låg.
setRegisterPin (9, hög).
setRegisterPin (10, låg).
setRegisterPin (11, hög).
setRegisterPin 12, låg.
setRegisterPin 13, hög.
setRegisterPin (14, låg).
setRegisterPin (15, hög).
setRegisterPin (16, låg).
setRegisterPin (17, hög),
setRegisterPin (18, låg).
setRegisterPin (19, hög).
setRegisterPin (20, låg);
setRegisterPin (21, hög).
setRegisterPin (22, låg).
setRegisterPin (23, hög).
writeRegisters();
Delay(500);
clearRegisters();
setRegisterPin (0, hög);
setRegisterPin (1, låg);
setRegisterPin (2, hög).
setRegisterPin (3, låg).
setRegisterPin (4, hög).
setRegisterPin (5, låg).
setRegisterPin (6, hög).
setRegisterPin (7, låg).
setRegisterPin 8, hög.
setRegisterPin (9, låg).
setRegisterPin 10, hög.
setRegisterPin (11, låg).
setRegisterPin 12, hög.
setRegisterPin 13, låg.
setRegisterPin (14, hög).
setRegisterPin (15, låg).
setRegisterPin (16, hög).
setRegisterPin (17, låg);
setRegisterPin (18, hög).
setRegisterPin (19, låg).
setRegisterPin (20, hög);
setRegisterPin (21, låg).
setRegisterPin (22, hög).
setRegisterPin (23, låg).
writeRegisters();
Delay(500);
clearRegisters();
}

Se Steg
Relaterade Ämnen

C/C++ en Arduino: Pines

En el Arduino, toda la información que entra y försäljning, lo hare a través de "pines". Los pines sv el Arduino son las conexiones que están en los Lindsäth y en los cuales se pueden conectar kablar como se ve sv la foto.En este instructable s...

Åtkomst till 5 knappar genom 1 Arduino pin - Revisited

jag gjorde den ursprungliga Instructible som detta är baserad på över ett år sedan (du kan se det här för att se några av teorin kring hur det fungerar:). För att göra en lång historia kort, jag flyttade till ett annat land några veckor efter det och...

Arduino ljus Display med Vixen

jag kommer att visa dig hur du skapar dina egna datoriserade ljusshow! Om du har några frågor eller kommentarer gärna efter.VARNING VARNING VARNING VARNING VARNING VARNING VARNING VARNING VARNING VARNINGDETTA PROJEKT ANVÄNDER HÖG SPÄNNING! OM DU INTE...

Arduino avstånd Display och larm

Detta är min första tutorial på därför om du hittar något fel eller om om koden kan förbättras föreslå vänligen. Detta projekt är inspirerad av bil fordon Backup Monitor parkering stöd System. Detta kommer att Visa avståndet samt höja ett larm om den...

Arduino projekt ombord

The Arduino projekt ombord är i grunden en styrelse att transer din ATMEGA168/328 till när du har slutfört projektet och inte längre behöver använda Arduino som en utveckling. Helt enkelt överföra programmerade chippet från Arduino styrelsen till Ard...

Arduino Tutorial Bundle.: Arduino experimenterande Kit:. (ARDX)

Intresserad av att göra snyggt projekt med en Arduino men inte säker på var du ska börja?Här är ett lätt att följa guide på hur man ansluta och använda en uppsjö av elektroniska komponenter.(skamlös plugg)Vill du göra allt?Komplett kit med komponente...

9 * 9 ledde matrisen med Arduino

någonsin ville ha en större skärm?Denna display är baserad på en 9 * 9 gröna ledde matrisen. Displayen är drivande bara med en Arduino ombord (Duemilanove i mitt fall).Varför använder vi en matris och vi inte lyser upp lamporna individuellt?Grundlägg...

DIY: Relay switch motor controller - Arduino

Hej alla,I denna handledning kommer vi att bygga en motor styrenhet med två relä växlar och en arduino.Komponenter som används i projektet:SainSmart UNO R3: http://www.amazon.ca/gp/product/B00E5WJSHK?psc=1&...9V batteri: http://www.amazon.ca/Tenergy-...

Arduino för växthusgaser, trädgården eller Growbox / uppdaterad April 2016

Jag har använt Attiny marker för bevattning uppgifter i min trädgård, men har planer på att bygga ett växthus, en Arduino tycktes vara vägen att gå eftersom det har fler portar. Jag vet, det finns många "Garduino" typ projekt redan, inklusive tw...

Väderstationen Arduino / termostat

uppdatering:UPPDATERING: Lägg till daggpunkt beräkningarUPPDATERING: vindhastighet övervakningJag har alltid varit intresserade av att övervaka min lokala väder och märkte skillnaden mellan vad weather.com och accuweather.com tycker min lokala vädret...

Arduino kontrollerade Sunrise alarmklocka

detta är en uppdatering till mikrokontroller för min blå LED Gryningssimulatorn väckarklocka. Tidigare, det används en Atmel ATMEGA8-16PI som krävde en Atmel programer. Här, har jag uppdaterat den till att använda en Arduino Uno. Eftersom Uno är base...

Enkla Arduino Sunrise lampa

hatar att vakna upp i mörkret? Jag också. Jag hittade en billiga 24 LED lampa och tyckte det skulle vara ganska lätt att göra det slå på sakta med min Arduino, som bör bidra till att bannlysa vissa av dessa "vakna upp i mörkret" vintern blues.Du...

Geo Data Logger: Arduino + GPS + SD + Accelerometer att logga, tidsstämpel och geo-tag sensordata

uppdateringar17 okt 2013: Jag har publicerat en guide om hur du använder din Android-telefon kan utföra en liknande uppgift genom att utnyttja din Android enheten är inbyggd GPS och sensorer.6 feb 2013: Med på GeoAwesomeness http://geoawesomeness.com...

Meddelande på en alfanumerisk Display| Arduino

Detta projekt visar "Hej" på en enda 16 segment display med användning av en Arduino ombord.Steg 1: delarFör detta projekt behöver du:Arduino programmerarenHoppare ledningarAlfanumerisk display * LTP587HR (gemensam anod)Steg 2: Hur det fungerar...

Arduino Simon säger

Som barn har jag alltid älskat hur mycket mina föräldrar hatade Simon Says spelet, med hjälp av en enkel arduino, några lysdioder, resistorer, tryckknappar och en piezo vi kan göra det själv! Jag testade och utformat denna krets med 123D kretsar, byg...

Multiplexering med Arduino och 74HC595

74HC595 är en lätt och billig (på cirka 60 cent styck) sätt att öka antalet digitala ut stiften på din Arduino. I denna tutorial ska jag visa dig hur man kör upp till 16 lysdioder med en 74HC595 med hjälp av en teknik som kallas multiplexing. I slutä...

Arduino Uno grunderna

det första steget är att få en arduino uno. Arduino är ett open source elektroniska prototyping plattform där du kan göra en hel del coola saker.Steg 1: Saker används En liten lysdiodEn liten högtalareArduino UnoSteg 2: KonfigureraDu måste hämta och...

Bänk PSU strömförsörjning från gamla ATX med Arduino och LCD-skärm

Hej alla och Välkommen till min första Instructable.Jag har alltid velat en bänk PSU för enkel åtkomst till en strömkälla, och något som jag kan lita på när du arbetar med olika projekt. Jag ville ha ett NÄTAGG som:• ger 12v och 5v 3.3V utgångar• ger...

Arduino experiment (Supersize Instructable)

Massorna om inte alla Arduino experiment gjort min väg, som som alla bär är ute experiment olika till nästa person, som sådan detta instructable kommer att ha en massa videor, samt bilder och detaljerade beskrivningar av varje experiment vad jag gjor...