머리가 터질거같아서 질문드립니다

시간이 절반 이상 지났을때 특정 신호가 들어오면 타이머가 초기화되는 신호등을 만드는중인데

우선 신호등까진 만들었습니다

근데 이제 신호 넣는걸 어떻게 해야할지가 막막하네요


오른쪽에 led3개가 차량신호등이고 왼쪽에 2개가 보행자신호등입니다


사진처럼 오른쪽 노란불이 빨간불로 옮겨가면 왼쪽 빨간불이 초록불로 바뀌도록 만들어놨습니다

코드는 이렇습니다

byte data[]={0B01000000, 0B01111001, 0B00100100, 0B00110000, 0B00011001, 0B00010010, 0B00000010, 0B01111000, 0B00000000, 0B00010000};

const byte cP = 11;

const byte lP = 10;

const byte dP = 9;

const byte SP = 8;

const byte TLight[2] = {12,13};

int cnt = 8;

boolean state = false;


const byte trafficLight[3] = {5,6,7};

const byte lightTime[3] = {6,3,10};

unsigned long timeVal = 0;

unsigned long timeSeg = 0;

int indexVal = 0;


void setup()

{ pinMode(lP, OUTPUT);

  pinMode(cP, OUTPUT);

  pinMode(dP, OUTPUT);

  pinMode(SP, OUTPUT);  

  pinMode(TLight[0], OUTPUT);

  pinMode(TLight[1], OUTPUT);

  for(int i=0;i<8;i++){

    pinMode(trafficLight[i], OUTPUT);

  }  

  digitalWrite(trafficLight[indexVal], HIGH);

  digitalWrite(TLight[1], HIGH);

}

void loop()

{  

  if(millis()-timeVal>=lightTime[indexVal]*1000){

    digitalWrite(trafficLight[indexVal], LOW);  

    indexVal++;

    if(indexVal==3)indexVal=0;

    digitalWrite(trafficLight[indexVal], HIGH);

    timeVal=millis();    

    

    if(indexVal==2){

      state=true;

      timeSeg=millis();

      digitalWrite(TdLight[1], LOW);

      digitalWrite(TLight[0], HIGH);

      

      digitalWrite(SP, HIGH);      

      digitalWrite(lP, LOW);

      shiftOut(dP, cP, MSBFIRST, data[cnt]);

      digitalWrite(lP, HIGH);   

    }

  }

  if(state==true){

    if(cnt>0 && millis()-timeSeg>=1000){

      cnt--; 

      digitalWrite(lP, LOW);

      shiftOut(dP, cP, MSBFIRST, data[cnt]);

      digitalWrite(lP, HIGH);                       

      timeSeg=millis();      

    }

    if(cnt==0 && millis()-timeSeg>=1000){

      cnt=9;

      state = false;      

      digitalWrite(SP, LOW);

      digitalWrite(TLight[0], LOW);

      digitalWrite(TLight[1], HIGH);

    }

  }  

}

여기서 보행자신호 초록불이 켜져있을때 절반이상 지나고나서 임의의 센서로 신호를 넣었을때 타이머가 초기화 되게 하는 코드를 삽입하고싶은데 

어떤식으로 만들어야 하는지 조언을 구하고싶습니다.

임의의 센서의 동작신호 코드는 만들어 놔서 여기에 삽입해서 합쳐주면 될거같은데 머리가 아프네요

이것도 여기저기 물어가면서 만든거라 이해하는거만 해도 많이 힘들어서...

혹시 아두이노 코딩 잘 아시는분 계시면 조언 부탁드립니다