This is the code I am using. I'm just trying to get the very very very very basics of it to work and make sure I have it wired properly. I'll worry about byte arrays and everything else later. Right now I just want to prove that I can do it.
int latchPin = 7;
int clockPin = 6;
int dataPin = 5;
void setup() {
//set pins to output
pinMode(latchPin, OUTPUT);
pinMode(clockPin, OUTPUT);
pinMode(dataPin, OUTPUT);
}
void loop() {
digitalWrite(latchPin, LOW); //set latchPin low to allow data flow
digitalWrite(dataPin, LOW);
digitalWrite(clockPin, LOW); // for each bit in dataOut send out a bit
digitalWrite(dataPin, LOW); //sets dataPin to HIGH or LOW depending on pinState
digitalWrite(clockPin, HIGH); //write the data
digitalWrite(clockPin,LOW);
digitalWrite(dataPin, HIGH); //sets dataPin to HIGH or LOW depending on pinState
digitalWrite(clockPin, HIGH); //write the data
digitalWrite(clockPin,LOW);
digitalWrite(dataPin, LOW); //sets dataPin to HIGH or LOW depending on pinState
digitalWrite(clockPin, HIGH); //write the data
digitalWrite(clockPin,LOW);
digitalWrite(dataPin, HIGH); //sets dataPin to HIGH or LOW depending on pinState
digitalWrite(clockPin, HIGH); //write the data
digitalWrite(clockPin,LOW);
digitalWrite(dataPin, LOW); //sets dataPin to HIGH or LOW depending on pinState
digitalWrite(clockPin, HIGH); //write the data
digitalWrite(clockPin,LOW);
digitalWrite(dataPin, HIGH); //sets dataPin to HIGH or LOW depending on pinState
digitalWrite(clockPin, HIGH); //write the data
digitalWrite(clockPin,LOW);
digitalWrite(dataPin, LOW); //sets dataPin to HIGH or LOW depending on pinState
digitalWrite(clockPin, HIGH); //write the data
digitalWrite(clockPin,LOW);
digitalWrite(latchPin, HIGH); //set latchPin to high to lock and send data
delay(500);
}