Coding help required

``

/*
Code written by Dennis Miller.
As a first attempt of coding.
2 74HC595 ICs cascaded to light up one LED at a time till all
are lit up.
Then the MR_Pin is set to low to Zero the register content

And the process starts all over again.

*/
int SHCP_Pin = 8; // latch pin
int STCP_Pin = 9; // Storage Register clock input low to High
int DS_Pin = 10; // Data transferred to Register and output
int MR_Pin = 7; // Memory reset pin

void setup()

{
pinMode(SHCP_Pin, OUTPUT); // Set pins 8,9,10 to output mode
pinMode(STCP_Pin, OUTPUT);
pinMode(DS_Pin, OUTPUT);
pinMode(MR_Pin, OUTPUT);

digitalWrite(SHCP_Pin, LOW);
digitalWrite(STCP_Pin, LOW);
digitalWrite(DS_Pin, LOW);
digitalWrite(MR_Pin, LOW);
}

void loop()

{
for( int i = 0; i <=16; i++)
{
digitalWrite(MR_Pin, HIGH); // set MR_Pin to high
digitalWrite(DS_Pin, HIGH); // set DS_Pin high
delay(10); // introduce a delay
digitalWrite(SHCP_Pin, HIGH); // set SHCP_Pin high to send serial data to the Registers
delay(10); // introduce dealy
digitalWrite(SHCP_Pin, LOW); // set SHCP_Pin low
delay(10); // introduce a delay
digitalWrite(STCP_Pin, HIGH); //set STCP_Pin High to send serial dats from REgisters to output

digitalWrite(DS_Pin, LOW);
delay(10);
digitalWrite(SHCP_Pin, LOW);
delay(10);

digitalWrite(DS_Pin, HIGH);
delay(10);
digitalWrite(SHCP_Pin, HIGH);
delay(10);
digitalWrite(SHCP_Pin, LOW);
delay(10);
digitalWrite(STCP_Pin, HIGH);
delay(10);
digitalWrite(STCP_Pin, LOW);
}
digitalWrite( MR_Pin, HIGH);
delay(10);
digitalWrite(MR_Pin, LOW); // Reset Shiftregister

}

Sorry!!

uploaded the old code!!

feeling foolish!!

Dennis Miller

/* This code hs been slightly modified and tidied up, however I failed in an attempt to use a table as suggested.
Is this code any better than the previous code?

ALSO HELP ? SUGESSTIONS required so that once all the leds are lit up I want to extinquish them one at a time.

I can stop the led's from going out i.e stop the register from resetting but have not got a clue how to reverse the process.

*/
int SHCP_Pin = 8; // latch pin
int STCP_Pin = 9; // Storage Register clock input low to High
int DS_Pin = 10; // Data transferred to Register and output
int MR_Pin = 7; // Memory reset pin

void setup()

{
pinMode(SHCP_Pin, OUTPUT); // Set pins 8,9,10 to output mode
pinMode(STCP_Pin, OUTPUT);
pinMode(DS_Pin, OUTPUT);
pinMode(MR_Pin, OUTPUT);

digitalWrite(SHCP_Pin, LOW); // Set pins to LOW
digitalWrite(STCP_Pin, LOW);
digitalWrite(DS_Pin, LOW);
digitalWrite(MR_Pin, LOW);
}

void loop()

{
for( int i = 0; i <=16; i++) // set up for loop
{
initialiseshiftRegister(); // Initialise the shiftregister
lightupLeds(); // light up the led's

}
digitalWrite( MR_Pin, HIGH); // Stopping this 3 lines of code from running stops once all the led'd are lit up
delay(10);
digitalWrite(MR_Pin, LOW); // Reset Shiftregister

}

void initialiseshiftRegister() // Functio to initialise shift register

{
digitalWrite(MR_Pin, HIGH); // set MR_Pin to high
digitalWrite(DS_Pin, HIGH); // set DS_Pin high
delay(10); // introduce a delay
digitalWrite(SHCP_Pin, HIGH); // set SHCP_Pin high to send serial data to the Registers
delay(10); // introduce dealy
digitalWrite(SHCP_Pin, LOW); // set SHCP_Pin low
delay(10); // introduce a delay
digitalWrite(STCP_Pin, HIGH); //set STCP_Pin High to send serial dats from REgisters to output
}

void lightupLeds() // fuc=nction to light up all 16 led's
{
digitalWrite(DS_Pin, HIGH); // Make a data HIGH available on th eSerial input of the 74HC595
delay(10);
digitalWrite(SHCP_Pin, HIGH); // latch the data
delay(10);
digitalWrite(SHCP_Pin, LOW); // reset the latch pin
delay(10);
digitalWrite(STCP_Pin, HIGH); // Pass the data onto the register and the paralell output of the 74HC595
delay(10);
digitalWrite(STCP_Pin, LOW); // Reset the to low ready to transfer the next set of data to the sregister
}

When you post code, please use the "#" CODE TAGS button so it looks like the following:

 /*
Code written by Dennis Miller.
 As a first attempt of coding.
 2 74HC595 ICs cascaded to light up one LED at a time till all
 are lit up.
 Then the MR_Pin is set to low to Zero the register content
 
 And the process starts all over again.
 
 */
int SHCP_Pin = 8; // latch pin
int STCP_Pin = 9; // Storage Register clock input low to High
int DS_Pin = 10; // Data transferred to Register and output
int MR_Pin = 7; // Memory reset pin

void setup()

{
  pinMode(SHCP_Pin, OUTPUT); // Set pins 8,9,10 to output mode
  pinMode(STCP_Pin, OUTPUT);
  pinMode(DS_Pin, OUTPUT);
  pinMode(MR_Pin, OUTPUT);


  digitalWrite(SHCP_Pin, LOW);
  digitalWrite(STCP_Pin, LOW);
  digitalWrite(DS_Pin, LOW);
  digitalWrite(MR_Pin, LOW);
}



void loop()

{
  for( int i = 0; i <=16; i++)
  { 
    digitalWrite(MR_Pin, HIGH);  // set MR_Pin to high
    digitalWrite(DS_Pin, HIGH);  // set DS_Pin high
    delay(10);                    // introduce a delay
    digitalWrite(SHCP_Pin, HIGH); // set SHCP_Pin high to send serial data to the Registers
    delay(10);                    // introduce dealy
    digitalWrite(SHCP_Pin, LOW);  // set SHCP_Pin low
    delay(10);                    // introduce a delay
    digitalWrite(STCP_Pin, HIGH); //set STCP_Pin High to send serial dats from REgisters to output

    digitalWrite(DS_Pin, LOW);
    delay(10);
    digitalWrite(SHCP_Pin, LOW);
    delay(10);


    digitalWrite(DS_Pin, HIGH);
    delay(10);
    digitalWrite(SHCP_Pin, HIGH);
    delay(10);
    digitalWrite(SHCP_Pin, LOW);
    delay(10);
    digitalWrite(STCP_Pin, HIGH);
    delay(10);
    digitalWrite(STCP_Pin, LOW);
  }
  digitalWrite( MR_Pin, HIGH);
  delay(10);
  digitalWrite(MR_Pin, LOW); // Reset Shiftregister


}

You've posted your code (incorrectly) but haven't told us what the problem is.
There's no need to make another post to correct something, just modify (edit) your original post.