Traffic light controller with two Pedestrian Crossing Button

Hi I'm trying to build a four way traffic light controller with two Pedestrian crossing
I have the some code done but find it hard to input interrupt into the code,
any help on this would be great
this is my program so far

//traffic light systems
// Programmed by, peter thunder
//03/02/2017

int Redlane1 = 22;
int yellowlane1 = 24;
int greenlane1 = 26;

int redlane2 = 32;
int yellowlane2 = 34;
int greenlane2 = 36;

int redps1 = 42;
int greenps1 = 44;

int redps2 = 50;
int greenps2 = 52;

int track1 = 10;
int track2 = 11;

int buttonps1 = 3;
int buttonps2 = 2;

void setup() {

pinMode (Redlane1, OUTPUT);
pinMode (yellowlane1, OUTPUT);
pinMode (greenlane1, OUTPUT);

pinMode (redlane2, OUTPUT);
pinMode (yellowlane2, OUTPUT);
pinMode (greenlane2, OUTPUT);

pinMode (redps1, OUTPUT);
pinMode (greenps1, OUTPUT);

pinMode (redps2, OUTPUT);
pinMode (greenps2, OUTPUT);

pinMode (track1, OUTPUT);
pinMode (track2, OUTPUT);

pinMode (buttonps1, INPUT);
pinMode (buttonps2, INPUT);
attachInterrupt(0, pin_isr, CHANGE);
}

void loop() {

digitalWrite(Redlane1, HIGH);
digitalWrite(greenlane2, HIGH);
digitalWrite(redlane2,LOW);
digitalWrite(redps1, HIGH);
digitalWrite(redps2, HIGH);
delay(5000);

digitalWrite(greenlane2, LOW);
digitalWrite(yellowlane2, HIGH);
digitalWrite(redps1, HIGH);
digitalWrite(redps2, HIGH);
delay(2000);

digitalWrite(yellowlane2, LOW);
digitalWrite(redlane2, HIGH);
delay(4000);

digitalWrite(Redlane1, LOW);
digitalWrite(greenlane1, HIGH);
digitalWrite(redps1, HIGH);
digitalWrite(redps2, HIGH);
delay(8000);

digitalWrite(greenlane1, LOW);
digitalWrite(redlane2, HIGH);
digitalWrite(yellowlane1, HIGH);
digitalWrite(redps1, HIGH);
digitalWrite(redps2, HIGH);
delay(4000);

digitalWrite(yellowlane1, LOW);
digitalWrite(Redlane1, HIGH);
delay(4000);
}

{
buttonState = digitalRead(buttonps1);

delay (2000);
digitalWrite(redps1, LOW);
digitalWrite(greenps1, HIGH);
delay (5000);

digitalWrite(greenps1,LOW);
delay (250);
digitalWrite(greenps1,HIGH);
delay (250);
digitalWrite(greenps1,LOW);
delay (250);
digitalWrite(greenps1,HIGH);
delay (250);
digitalWrite(greenps1,LOW);
delay (250);
digitalWrite(greenps1,HIGH);
delay (250);
digitalWrite(greenps1,LOW);
delay (250);
digitalWrite(greenps1,HIGH);
delay (250);
digitalWrite(greenps1,LOW);
digitalWrite(redps1,HIGH);
delay (1000);
}

but find it hard to input interrupt into the code,

That's because you don't need interrupts. What you need to do is what everyone else that tries this same project (obviously, you spent zero time researching the project) does, and that is get rid of the delay()s. EVERY ONE OF THEM.

Use a state machine, and the blink without delay example's philosophy to make things happen when they need to.