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};
- 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]);
- digitalWrite(Latch, HIGH);
- delay(200);
- }
- }
- void addingUp()
- {
- for (int i = 0; i < 9; i++)
- {
- digitalWrite(Latch, LOW);
- shiftOut(Data, Clock, MSBFIRST, sequence2[i]);
- digitalWrite(Latch, HIGH);
- delay(200);
- }
- }
- void subtractingDown()
- {
- for (int i = 0; i < 9; i++)
- {
- digitalWrite(Latch, LOW);
- shiftOut(Data, Clock, MSBFIRST, sequence3[i]);
- digitalWrite(Latch, HIGH);
- delay(200);
- }
- }
- void loop()
- {
- lightUp();
- addingUp();
- subtractingDown();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement