Go Down

Topic: shiftOut changes to Tutorial (Read 93 times) previous topic - next topic

8bit

Hi everyone, i don`t know if this is the right place to post this.
Actually i`m working first time with a 8bit shiftRegister and found your tutorial really good, as all of them ... (http://arduino.cc/en/Tutorial/ShiftOut).
In the tutorial there is a Code Sample 1.3 Using an array:(http://arduino.cc/en/Tutorial/ShftOut13).
There I found this information, that is not correct - as i think:

//Arduino doesn't seem to have a way to write binary straight into the code
//so these values are in HEX.  Decimal would have been fine, too.
  dataArray[0] = 0xFF; //11111111
  ...

In another Project with NeoPixels i used the following way for this problem (there I used multidimensional arrays), maybe its nice for other nonExperts like me, to know, that thereĀ“s another, maybe simpler way to do this. Maybe you`ll wanna change the tutorial, if you like the idea. As you like, i could comment the code, that other people will understand it better (if they have not very much coding skills - like me) ...


Code: [Select]

//Pin connected to ST_CP of 74HC595
int latchPin = 8;
//Pin connected to SH_CP of 74HC595
int clockPin = 12;
////Pin connected to DS of 74HC595
int dataPin = 11;
//holders for infromation you're going to pass to shifting function
byte dataArray[10]={
  B10101010,
  B00000000,
  B10101010,
  B00000000,
  B11001100,
  B00000000,
  B11101110,
  B00000000,
  B11001100,
  B00000000
};

void setup() {
  pinMode(latchPin, OUTPUT);
  pinMode(clockPin, OUTPUT);
  pinMode(dataPin, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  outputSequence(dataArray);
}
void outputSequence(byte sequence[]){
  for (int j = 0; j < 10; j++) {
    digitalWrite(latchPin, 0);
    shiftOut(dataPin, clockPin, MSBFIRST, sequence[j]);
    digitalWrite(latchPin, 1);
    delay(350);
  }
}

prosperkatula

I love hardware hacking

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy