Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //**************************************************************//
- // Name : shiftOutCode, Hello World
- // Author : Carlyn Maw,Tom Igoe, David A. Mellis
- // Date : 25 Oct, 2006
- // Modified: 23 Mar 2010
- // Version : 2.0
- // Notes : Code for using a 74HC595 Shift Register //
- // : to count from 0 to 255
- //****************************************************************
- //adapted by Sam Prestwood, 03 Jun 2012
- //Pin connected to ST_CP (12) of 74HC595
- int latchPin1 = 12, latchPin2 = 9;
- //Pin connected to SH_CP (11) of 74HC595
- int clockPin1 = 11, clockPin2 = 8;
- ////Pin connected to DS (14) of 74HC595
- int dataPin1 = 13, dataPin2 = 10;
- int timeDelay = 500;
- /*
- Shift Register 1:
- 1: col4, red, 2
- 2: col4, green, 4
- 3: col4, blue, 8
- 4: col3, red, 16
- 5: col3, green, 32
- 6: col3, blue, 64
- 7: col2, red, 128
- 8: row4, gnd, 256
- Shift Register 2:
- 1: col2, green, 2
- 2: col2, blue, 4
- 3: col1, red, 8
- 4: col1, green, 16
- 5: col1, blue, 32
- 6: row2, gnd, 64
- 7: row1, gnd, 128
- 8: row3, gnd, 256
- */
- int allRed1 = 2+16+128, allRed2 = 8;
- int allGreen1 = 4+32, allGreen2 = 2+16;
- int allBlue1 = 8+64, allBlue2 = 4+32;
- void setup() {
- pinMode(latchPin1, OUTPUT);
- pinMode(clockPin1, OUTPUT);
- pinMode(dataPin1, OUTPUT);
- pinMode(latchPin2, OUTPUT);
- pinMode(clockPin2, OUTPUT);
- pinMode(dataPin2, OUTPUT);
- }
- void loop() {
- //first shift register:
- digitalWrite(latchPin1, LOW);
- shiftOut(dataPin1, clockPin1, MSBFIRST, allRed1);
- digitalWrite(latchPin1, HIGH);
- //second shift register:
- digitalWrite(latchPin2, LOW);
- shiftOut(dataPin2, clockPin2, MSBFIRST, allRed2);
- digitalWrite(latchPin2, HIGH);
- delay(timeDelay);
- //first shift register:
- digitalWrite(latchPin1, LOW);
- shiftOut(dataPin1, clockPin1, MSBFIRST, 255);
- digitalWrite(latchPin1, HIGH);
- //second shift register:
- digitalWrite(latchPin2, LOW);
- shiftOut(dataPin2, clockPin2, MSBFIRST, 255);
- digitalWrite(latchPin2, HIGH);
- delay(timeDelay);
- //first shift register:
- digitalWrite(latchPin1, LOW);
- shiftOut(dataPin1, clockPin1, MSBFIRST, allBlue1);
- digitalWrite(latchPin1, HIGH);
- //second shift register:
- digitalWrite(latchPin2, LOW);
- shiftOut(dataPin2, clockPin2, MSBFIRST, allBlue2);
- digitalWrite(latchPin2, HIGH);
- delay(timeDelay);
- //first shift register:
- digitalWrite(latchPin1, LOW);
- shiftOut(dataPin1, clockPin1, MSBFIRST, 255);
- digitalWrite(latchPin1, HIGH);
- //second shift register:
- digitalWrite(latchPin2, LOW);
- shiftOut(dataPin2, clockPin2, MSBFIRST, 255);
- digitalWrite(latchPin2, HIGH);
- delay(timeDelay);
- //first shift register:
- digitalWrite(latchPin1, LOW);
- shiftOut(dataPin1, clockPin1, MSBFIRST, allGreen1);
- digitalWrite(latchPin1, HIGH);
- //second shift register:
- digitalWrite(latchPin2, LOW);
- shiftOut(dataPin2, clockPin2, MSBFIRST, allGreen2);
- digitalWrite(latchPin2, HIGH);
- delay(timeDelay);
- //first shift register:
- digitalWrite(latchPin1, LOW);
- shiftOut(dataPin1, clockPin1, MSBFIRST, 255);
- digitalWrite(latchPin1, HIGH);
- //second shift register:
- digitalWrite(latchPin2, LOW);
- shiftOut(dataPin2, clockPin2, MSBFIRST, 255);
- digitalWrite(latchPin2, HIGH);
- delay(timeDelay);
- }
Add Comment
Please, Sign In to add comment