Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const int SER1 = 3;
- const int LATCH1 = 4;
- const int CLK1 = 5;
- int seq[14] {1,2,4,8,16,32,64,128,64,32,16,8,4,2};
- int seq3[5] {17,59,127,59,17};
- const int serial=8; //serial output to shift register
- const int latch=9; //shift register latch pin
- const int clck=10; //shift register clock pin
- int sequence[15 ] = {1, 2, 4, 8, 16, 32, 64, 128, 64, 32, 16, 8, 4, 2, 1};
- int sequence2 [15] = {1,3,7,15,31,63,127,255,127,63,31,15,7,3,1};
- int sequence3 [7]= {129, 66, 36, 24, 36, 66, 129};
- int sequence4 [11 ]={17, 34, 68, 136, 80, 64, 80, 136, 68, 34, 17};
- int i;
- void setup() {
- // put your setup code here, to run once:
- pinMode(SER1, OUTPUT);
- pinMode(LATCH1, OUTPUT);
- pinMode (CLK1, OUTPUT);
- digitalWrite(LATCH1, LOW);
- shiftOut(SER1,CLK1,MSBFIRST, B00000000);
- shiftOut(SER1,CLK1,MSBFIRST, B00000000);
- shiftOut(SER1,CLK1,MSBFIRST, B00000000);
- digitalWrite(LATCH1, HIGH);
- pinMode (serial, OUTPUT);
- pinMode (latch, OUTPUT);
- pinMode (clck,OUTPUT);
- digitalWrite (latch, LOW); //latch low
- shiftOut (serial, clck, MSBFIRST, B00000000); //shift most significant bit first
- digitalWrite (latch, HIGH); //latch high-show pattern
- }
- void loop() {
- // put your main code here, to run repeatedly:
- for (int i=0; i<14 ; i++)
- {
- digitalWrite(LATCH1,LOW);
- shiftOut(SER1,CLK1, MSBFIRST, seq[i]);
- shiftOut(SER1,CLK1,MSBFIRST, seq[i]);
- shiftOut(SER1,CLK1,MSBFIRST, seq[i]);
- digitalWrite(LATCH1,HIGH);
- delay(50);
- digitalWrite (latch, LOW); //latch low
- shiftOut (serial, clck, MSBFIRST, sequence3[i]); //shift most significant bit first
- digitalWrite (latch, HIGH); //latch high-show pattern
- }
- digitalWrite(LATCH1,LOW);
- shiftOut(SER1,CLK1, MSBFIRST, seq[1]);
- shiftOut(SER1,CLK1,MSBFIRST, seq[0]);
- shiftOut(SER1,CLK1,MSBFIRST, seq[0]);
- digitalWrite(LATCH1,HIGH);
- delay(50);
- digitalWrite(LATCH1,LOW);
- shiftOut(SER1,CLK1, MSBFIRST, seq[2]);
- shiftOut(SER1,CLK1,MSBFIRST, seq[0]);
- shiftOut(SER1,CLK1,MSBFIRST, seq[0]);
- digitalWrite(LATCH1,HIGH);
- delay(50);
- digitalWrite(LATCH1,LOW);
- shiftOut(SER1,CLK1, MSBFIRST, seq[3]);
- shiftOut(SER1,CLK1,MSBFIRST, seq[1]);
- shiftOut(SER1,CLK1,MSBFIRST, seq[0]);
- digitalWrite(LATCH1,HIGH);
- delay(50);
- digitalWrite(LATCH1,LOW);
- shiftOut(SER1,CLK1, MSBFIRST, seq[4]);
- shiftOut(SER1,CLK1,MSBFIRST, seq[2]);
- shiftOut(SER1,CLK1,MSBFIRST, seq[0]);
- digitalWrite(LATCH1,HIGH);
- delay(50);
- for (int i=0; i<18 ; i++)
- {
- digitalWrite(LATCH1,LOW);
- if (i <14)
- {
- shiftOut(SER1,CLK1, MSBFIRST, seq[i+4]);
- shiftOut(SER1,CLK1,MSBFIRST, seq[i+2]);
- }
- shiftOut(SER1,CLK1,MSBFIRST, seq[i]);
- digitalWrite(LATCH1,HIGH);
- digitalWrite (latch, LOW); //latch low
- shiftOut (serial, clck, MSBFIRST, sequence4[i]); //shift most significant bit first
- digitalWrite (latch, HIGH); //latch high-show pattern
- delay(50);
- }
- for (int i=0; i<15; i++)
- {
- digitalWrite (latch, LOW); //latch low
- shiftOut (serial, clck, MSBFIRST, sequence[i]); //shift most significant bit first
- digitalWrite (latch, HIGH); //latch high-show pattern
- digitalWrite (LATCH1, LOW);
- shiftOut (serial,CLK1,MSBFIRST, seq3[i]);
- digitalWrite(LATCH1,HIGH);
- delay (50);
- }
- /*for (int i=0; i<15; i++)
- {
- digitalWrite (latch, LOW); //latch low
- shiftOut (serial, clck, MSBFIRST, sequence2[i]); //shift most significant bit first
- digitalWrite (latch, HIGH); //latch high-show pattern
- delay (50);
- }*/
- /* for (int i=0; i<15; i++)
- {
- digitalWrite (latch, LOW); //latch low
- shiftOut (serial, clck, MSBFIRST, sequence3[i]); //shift most significant bit first
- digitalWrite (latch, HIGH); //latch high-show pattern
- delay (50);
- } */
- /* for (int i=0; i<15; i++)
- {
- digitalWrite (latch, LOW); //latch low
- shiftOut (serial, clck, MSBFIRST, sequence4[i]); //shift most significant bit first
- digitalWrite (latch, HIGH); //latch high-show pattern
- delay (50);
- }*/
- }
Advertisement
Add Comment
Please, Sign In to add comment