Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * Jung Min Yean
- * Learning How to Use a Shift Register
- * 04/30/2019
- */
- const int Data = 8; // The output
- const int Latch = 9;
- const int Clock = 10; // Goes around the Shift Register
- int sequence[] = {0,1,2,4,8,16,32,64,128};
- int sequence2[] = {0,1,3,7,15,31,63,127,255};
- int sequence3[] = {255,127,63,31,15,7,3,1,0};
- int sequence4[] = {0,24,36,66,129};
- int sequence5[] = {129,66,36,24,0};
- int sequence6[] = {0,24,60,126,255};
- void setup()
- {
- pinMode(Data, OUTPUT);
- pinMode(Latch, OUTPUT);
- pinMode(Clock, OUTPUT);
- digitalWrite(Latch, LOW);
- shiftOut(Data, Clock, MSBFIRST, B11111111); // B means Binary - 1 is on and 0 is off
- digitalWrite(Latch, HIGH);
- delay(200);
- digitalWrite(Latch, LOW);
- shiftOut(Data, Clock, MSBFIRST, B00000000); // B means Binary - 1 is on and 0 is off
- digitalWrite(Latch, HIGH);
- delay(200);
- }
- void lightUp()
- {
- for(int i = 0; i < 8; i++)
- {
- digitalWrite(Latch, LOW);
- shiftOut(Data, Clock, MSBFIRST, sequence[i]);
- shiftOut(Data, Clock, MSBFIRST, B00000000);
- digitalWrite(Latch, HIGH);
- delay(200);
- }
- for(int i = 0; i < 8; i++)
- {
- digitalWrite(Latch, LOW);
- shiftOut(Data, Clock, MSBFIRST, B00000000);
- shiftOut(Data, Clock, MSBFIRST, sequence[i]);
- digitalWrite(Latch, HIGH);
- delay(200);
- }
- }
- void addingUp()
- {
- for (int i = 0; i < 8; i++)
- {
- digitalWrite(Latch, LOW);
- shiftOut(Data, Clock, MSBFIRST, sequence2[i]);
- shiftOut(Data, Clock, MSBFIRST, B00000000);
- digitalWrite(Latch, HIGH);
- delay(200);
- }
- for(int i = 0; i < 8; i++)
- {
- digitalWrite(Latch, LOW);
- shiftOut(Data, Clock, MSBFIRST, B11111111);
- shiftOut(Data, Clock, MSBFIRST, sequence2[i]);
- digitalWrite(Latch, HIGH);
- delay(200);
- }
- }
- void subtractingDown()
- {
- for (int i = 0; i < 8; i++)
- {
- digitalWrite(Latch, LOW);
- shiftOut(Data, Clock, MSBFIRST, B11111111);
- shiftOut(Data, Clock, MSBFIRST, sequence3[i]);
- digitalWrite(Latch, HIGH);
- delay(200);
- }
- for(int i = 0; i < 8; i++)
- {
- digitalWrite(Latch, LOW);
- shiftOut(Data, Clock, MSBFIRST, sequence3[i]);
- shiftOut(Data, Clock, MSBFIRST,B00000000);
- digitalWrite(Latch, HIGH);
- delay(200);
- }
- }
- void chopsticksOut()
- {
- for (int i = 0; i < 5; i++)
- {
- digitalWrite(Latch, LOW);
- shiftOut(Data, Clock, MSBFIRST, sequence4[i]);
- shiftOut(Data, Clock, MSBFIRST, sequence4[i]);
- digitalWrite(Latch, HIGH);
- delay(200);
- }
- }
- void chopsticksIn()
- {
- for (int i = 0; i < 5; i++)
- {
- digitalWrite(Latch, LOW);
- shiftOut(Data, Clock, MSBFIRST, sequence5[i]);
- shiftOut(Data, Clock, MSBFIRST, sequence5[i]);
- digitalWrite(Latch, HIGH);
- delay(200);
- }
- }
- void addingOut()
- {
- for (int i = 0; i < 5; i++)
- {
- digitalWrite(Latch, LOW);
- shiftOut(Data, Clock, MSBFIRST, sequence6[i]);
- shiftOut(Data, Clock, MSBFIRST, sequence6[i]);
- digitalWrite(Latch, HIGH);
- delay(200);
- }
- }
- void loop()
- {
- lightUp();
- addingUp();
- subtractingDown();
- chopsticksIn();
- chopsticksOut();
- addingOut();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement