andrewb icon

_7seg_test2.cpp

andrewb | PRO | 10/22/14 03:17:06 AM UTC | 0 ⭐ | 1006 👁️ | Never ⏰ | []
C++ |

1.41 KB

|

None

|

0 👍

/

0 👎

/**********************************************************************
 * A test driver for using the Radio Shack 7-segment component 276-0075
 * with an Aruino Uno R3 and a Sparkfun 74HC595 IC.
 **********************************************************************/
 
// Setup the SIPO pins
int dataPin = 13;    //Pin connected to DS of 74HC595
int latchPin = 12;   //Pin connected to ST_CP of 74HC595
int clockPin = 11;   //Pin connected to SH_CP of 74HC595
 
// Counter
int counter = 0;
// The binary numbers to activate the 74HC595 pins. 0-F
int pins[] = {B10111101, B10100000, B00111110, B10111010, 
              B10100011, B10011011, B10011111, B10110000, 
              B10111111, B10111011, B10110111, B10001111,
              B00011101, B10101110, B00011111, B00010111};
// The length of the pins array.
const int MAX = sizeof(pins)/sizeof(int);
 
// Start
void setup() {
  //set pins to output so you can control the shift register
  pinMode(latchPin, OUTPUT);
  pinMode(clockPin, OUTPUT);
  pinMode(dataPin, OUTPUT);
}
 
// Main loop
void loop() {
  changePattern(pins[counter]);
  counter++;
  if (counter == MAX) counter = 0;
  delay(500);  
}
 
// Sets the write to low, changes the number, and sets write to high to
// light up the display.
void changePattern(int n) {
    digitalWrite(latchPin, LOW);
    shiftOut(dataPin, clockPin, MSBFIRST, n);
    digitalWrite(latchPin, HIGH);  
}

Comments