Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const int SER = 8; // Serial Output to Shift Register
- const int LATCH = 9; // Shift Register Latch Pin
- const int CLK = 10; // Shift Register Clock Pin
- int seq1[]={1,2,4,8,16,32,64,128,64,32,16,8,4,2,1,0};
- int seq2[]={1,3,7,15,31,63,127,255,127,63,31,15,7,3,1,0};
- int seq3[]={24,36,66,129,66,36,24,0};
- int randy;
- const int x = 500;
- void setup() {
- // put your setup code here, to run once:
- pinMode(SER, OUTPUT);
- pinMode(LATCH, OUTPUT);
- pinMode(CLK, OUTPUT);
- digitalWrite(LATCH, LOW);
- shiftOut(SER, CLK, MSBFIRST, B11111111);
- shiftOut(SER, CLK, MSBFIRST, B11111111);
- shiftOut(SER, CLK, MSBFIRST, B11111111);
- digitalWrite(LATCH,HIGH);
- }
- void blinking(){
- digitalWrite(LATCH, LOW);
- shiftOut(SER, CLK, MSBFIRST, B10101010);
- digitalWrite(LATCH,HIGH);
- delay(x);
- digitalWrite(LATCH, LOW);
- shiftOut(SER, CLK, MSBFIRST, B01010101);
- digitalWrite(LATCH,HIGH);
- delay(x);
- }
- void rider(){
- for(int i=0; i<16; i++)
- {
- digitalWrite(LATCH, LOW);
- shiftOut(SER, CLK, MSBFIRST, seq1[i]);
- digitalWrite(LATCH,HIGH);
- delay(x);
- }
- }
- void bar(){
- for(int i=0; i<16; i++)
- {
- digitalWrite(LATCH, LOW);
- shiftOut(SER, CLK, MSBFIRST, seq2[i]);
- digitalWrite(LATCH,HIGH);
- delay(x);
- }
- }
- void center(){
- for(int i=0; i<16; i++)
- {
- digitalWrite(LATCH, LOW);
- shiftOut(SER, CLK, MSBFIRST, seq3[i]);
- digitalWrite(LATCH,HIGH);
- delay(x);
- }
- }
- void twos(){
- digitalWrite(LATCH, LOW);
- shiftOut(SER, CLK, MSBFIRST, B11000000);
- digitalWrite(LATCH,HIGH);
- delay(x);
- digitalWrite(LATCH, LOW);
- shiftOut(SER, CLK, MSBFIRST, B00110000);
- digitalWrite(LATCH,HIGH);
- delay(x);
- digitalWrite(LATCH, LOW);
- shiftOut(SER, CLK, MSBFIRST, B00001100);
- digitalWrite(LATCH,HIGH);
- delay(x);
- digitalWrite(LATCH, LOW);
- shiftOut(SER, CLK, MSBFIRST, B00000011);
- digitalWrite(LATCH,HIGH);
- delay(x);
- }
- void loop() {
- // put your main code here, to run repeatedly:
- randy = random(1,6);
- switch (randy)
- {
- case 1:
- rider();
- break;
- case 2:
- bar();
- break;
- case 3:
- center();
- break;
- case 4:
- blinking();
- break;
- case 5:
- twos();
- break;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment