74hc595n daisy chain and serial monitor

Hello everybody!

first post for me! ...be patient please
I'm working on a project where I'd like to individually control 88 leds from the serial monitor with Arduino Uno. To do so I thought that the best way would have been using 11 shift registers in daisy chain.

So I found two tutorials that helped me: the first one explains a very fast method to set up an "x" number of shift register in daisy chain

int SER_Pin = 8;   //pin 14 on the 75HC595
int RCLK_Pin = 9;  //pin 12 on the 75HC595
int SRCLK_Pin = 10; //pin 11 on the 75HC595

//How many of the shift registers - change this
#define number_of_74hc595s 1 

//do not touch
#define numOfRegisterPins number_of_74hc595s * 8

boolean registers[numOfRegisterPins];

void setup(){
  pinMode(SER_Pin, OUTPUT);
  pinMode(RCLK_Pin, OUTPUT);
  pinMode(SRCLK_Pin, OUTPUT);

  //reset all register pins

//set all register pins to LOW
void clearRegisters(){
  for(int i = numOfRegisterPins - 1; i >=  0; i--){
     registers[i] = LOW;

//Set and display registers
//Only call AFTER all values are set how you would like (slow otherwise)
void writeRegisters(){

  digitalWrite(RCLK_Pin, LOW);

  for(int i = numOfRegisterPins - 1; i >=  0; i--){
    digitalWrite(SRCLK_Pin, LOW);

    int val = registers[i];

    digitalWrite(SER_Pin, val);
    digitalWrite(SRCLK_Pin, HIGH);

  digitalWrite(RCLK_Pin, HIGH);


//set an individual pin HIGH or LOW
void setRegisterPin(int index, int value){
  registers[index] = value;

void loop(){

  setRegisterPin(2, HIGH);
  setRegisterPin(3, HIGH);
  setRegisterPin(4, LOW);
  setRegisterPin(5, HIGH);
  setRegisterPin(7, HIGH);

  //Only call once after the values are set how you need.

the second one which exactly explains how I'd like to individually control the 88 leds but using only 1 shift register and its 8 leds

Does anyone could suggest me how to merge these two projects, in order to achieve mine? Could all this be the right solution?

thank you very much...and I hope there are not so many mistakes (technical and linguistic)

Put your 11 bytes in an array and then shift them out using SPI.transfer.
Whenever you update your data, send it out again.

digitalWrite (ssPin, LOW);
for (x=0; x<11; x=x+1){
SPI.transfer (dataArray[x]);
digitalWrite (ssPin, HIGH);

I sell this board with up to 12 high voltage capable, high current capable shift registers designed for just this purpose:
kit $50, assembled board $100, plus shipping ($5.25 via USPS to US addresses) and 2.39% paypal fee. $Add $7 for FTDI Basic for serial downloads.