Sensor PIR em Pino D0\D1 ?

Sorry, esqueci de dizer que os 'botões' são 3 botões no pino 1 usando essa técnica, no entanto para garantir que não há qualquer erro meti um botão à parte uma vez que tenho pinos analógicos que cheguem para o fazer.

Quanto ao Shift Register tenho tudo a funcionar, mal ou bem não sei, mas tenho desta forma e consigo ligar\desligar o que quero:

Início:
int latchPin = 2;  //74HC595 pino 12
int clockPin = 3;  //74HC595 pino 11
int dataPin = 1;   //74HC595 pino 14
int OEpin = 9;     //74HC595 pino 13

int Equipamentos[8];
byte dataOut = 0;

No setup:
  pinMode(OEpin, OUTPUT);    
  digitalWrite(OEpin, LOW);  
  pinMode(latchPin, OUTPUT);

//Tudo OFF: 
  Equipamentos[0] = 0  //Q0 
  Equipamentos[1] = 0; //Q1 
  Equipamentos[2] = 0; //Q2 
  Equipamentos[3] = 0; //Q3 
  Equipamentos[4] = 0; //Q4 
  Equipamentos[5] = 0; //Q5 
  Equipamentos[6] = 0; //Q6 
  Equipamentos[7] = 0; //Q7 
  
  for (int i = 7; i >= 0; i--) {
    bitWrite(dataOut, i, Equipamentos[i]);
  }

  digitalWrite(latchPin, 0);
  shiftOut(dataPin, clockPin, dataOut);
  digitalWrite(latchPin, 1);

Quando quero alterar por exemplo o dispositivo 2 (Equipamentos[2]) faço isto:

Equipamentos[2]= 0    // ou 1 depende do estado que quero alterar

   for (int i = 7; i >= 0; i--) {
      bitWrite(dataOut, i, Equipamentos[i]);
    }
    pinMode(latchPin, OUTPUT);
    digitalWrite(latchPin, 0);
    shiftOut(dataPin, clockPin, dataOut);
    digitalWrite(latchPin, 1);

Faço mal?