Need Help in Sort Off Way

Hi, for my project there are 3 type of items that go on an conyaor belt and when it reaches a particular ir and does it job

firstly the user will click any one button from 3 to chose which type of item it is
then the belt start and finds an ir and does the job which it has but noting is going as expected every individual items run by them self even with out the need of user pressing the button can you gus help me out
the code is

#include <Servo.h>

//initial variable
const int button1 = 14  ; //type 1 button IN PIN A0
const int button2 = 15 ; //type 2 button  IN PIN A1
const int button3 = 16 ; //type 3 button  IN PIN A2
int belt = 6 ; //  belt relay 
int waterIr = 2 ; // Ir uesd to locate  waterpump
int waterRelay = 0 ; // water pump 
Servo myservo; // srvo to bring down the vibmoters 
int pos = 0;    // variable to store the servo position
int vibMotors = 10 ; // vibration moters 
int ledIr = 3 ; // Ir uesd to locate  leds
int led = 8 ; // to control leds
int saniIr =  4; // Ir uesd to locate  sanitisers 
int relay1 = 11;  // sanitiser 1 40%
int relay2 =12 ;  // sanitiser 2 30%
int relay3 = 13;  // sanitiser 3 food %
int airIr = 5;   // Ir uesd to locate  air pump 
int air = 7;    // air pump
//***************************////////////***************************////////////***************************////////////***************************////////////***************************//////////

//***************************////////////***************************////////////***************************////////////***************************////////////***************************//////////
void setup() {
  // put your setup code here, to run once:
 pinMode(button1,INPUT_PULLUP);
 pinMode(button2,INPUT_PULLUP);
 pinMode(button3,INPUT_PULLUP);
 pinMode(waterIr,INPUT);
 pinMode(ledIr,INPUT);
 pinMode(saniIr,INPUT);
 pinMode(button3,INPUT);
 pinMode(belt,OUTPUT);
 myservo.attach(9);
 pinMode(vibMotors,OUTPUT);
 pinMode(led,OUTPUT);
 pinMode(relay1,OUTPUT);
 pinMode(relay2,OUTPUT);
 pinMode(relay3,OUTPUT);
 pinMode(air,OUTPUT);

Serial.begin(9600);

}
//***************************////////////***************************////////////***************************////////////***************************////////////***************************//////
//***************************////////////***************************////////////***************************////////////***************************////////////***************************//////

void vibaration_servo (){
  Serial.println("START"); // print start in control  panal 
digitalWrite(vibMotors,HIGH); // turn on the vibration motors 
delay(180000); // for  3mins 
Serial.println("STOP");  // print stop in control  panal 
digitalWrite(vibMotors,LOW); // turn off the vibration motors 
for (pos = 0; pos <= 180; pos += 1) { // goes from 0 degrees to 180 degrees
    // in steps of 1 degree
    myservo.write(pos);              // tell servo to go to position in variable 'pos'
    delay(15);                       // waits 15ms for the servo to reach the position
  }
  for (pos = 180; pos >= 0; pos -= 1) { // goes from 180 degrees to 0 degrees
    myservo.write(pos);              // tell servo to go to position in variable 'pos'
    delay(15);                       // waits 15ms for the servo to reach the position
  }
  
  }
//***************************////////////***************************////////////***************************////////////***************************////////////***************************//////
//***************************////////////***************************////////////***************************////////////***************************////////////***************************//////

void ledSet (){
Serial.print("25 LED STATUS = " ); //print 25 LED STATUS =   in control  panal 
Serial.println("ON");  //print on in control  panal 
digitalWrite(led,LOW); //turn  on led   
delay(120000); // for  2 min 


digitalWrite(led,HIGH); //turn off led  
Serial.print("25 LED STATUS = ");  //print 25 LED STATUS =   in control  panal 
Serial.println("OFF");  //print off in control  panal

}
//***************************////////////***************************////////////***************************////////////***************************////////////***************************//////
//void emergncy space 

//***************************////////////***************************////////////***************************////////////***************************////////////***************************//////
void loop() {
  // put your main code here, to run repeatedly:

bool currentstate1  =  digitalRead(button1);  // read value for button1 every time 
bool  currentstate2  =  digitalRead(button2); // read value for button2 every time
bool  currentstate3  =  digitalRead(button3); // read value for button3 every time

//***********Type1 items **********////////// 

if (currentstate1 == HIGH){
   
  digitalWrite(belt,HIGH) ; // start belt 
  Serial.println("ON3");

    if (ledIr == HIGH){
          
        digitalWrite(belt,LOW) ; // stops belt 
        Serial.println("ON4");
        ledSet () ;               // call led function 
        digitalWrite(belt,HIGH) ; // start belt 
        
          }//led  ir loop closed
          
    if (saniIr == HIGH) {

        digitalWrite(belt,LOW); // stops belt 
        digitalWrite(relay1,HIGH); // start sanitiser1 
        delay (60000);             // for 1 min 
        digitalWrite(relay1,LOW);  // stops sanitiser1 
        digitalWrite(belt,HIGH) ; // start belt
      
      }//sanitiser ir closed   

     if (airIr == HIGH) {

        digitalWrite(belt,LOW); // stops belt 
        Serial.println("ON5");
        digitalWrite(air,HIGH); // start airpump
        Serial.println("ON666"); 
        delay (90000);          // for 1 min 
        digitalWrite(air,LOW); // stop airpump 
        digitalWrite(belt,HIGH) ; // start belt
        
      }//air pump ir closed  

  
  } // type 1 loop closed 


//***********Type2 items **********////////// 

if (currentstate2 == HIGH){
   
  digitalWrite(belt,HIGH) ; // start belt 

    if (ledIr == HIGH){
          
        digitalWrite(belt,LOW) ; // stops belt 
        ledSet () ;               // call led function 
        digitalWrite(belt,HIGH) ; // start belt 
        
          }//led  ir loop closed

    if (saniIr == HIGH) {

        digitalWrite(belt,LOW); // stops belt 
        digitalWrite(relay2,HIGH); // start sanitiser1 
        delay (60000);             // for 1 min 
        digitalWrite(relay2,LOW);  // stops sanitiser1 
        digitalWrite(belt,HIGH) ; // start belt
      
      }//sanitiser ir closed   

     if (airIr == HIGH) {

        digitalWrite(belt,LOW); // stops belt 
        digitalWrite(air,HIGH); // start airpump 
        delay (90000);          // for 1 min 
        digitalWrite(air,LOW); // stop airpump 
        digitalWrite(belt,HIGH) ; // start belt
        
      }//air pump ir closed  

   } // type 2 loop closed 

 //***********Type 3 items **********////////// 

if (currentstate3 == HIGH){
   
  digitalWrite(belt,HIGH) ; // start belt
  
  if (waterIr == HIGH) {
     digitalWrite(belt,LOW) ; // stop belt
     digitalWrite(waterRelay,HIGH); //turns on the water pump
     delay(60000);                  // for 1 min 
     digitalWrite(waterRelay,LOW); //turns off the water pump
     vibaration_servo () ;  // call vib & servo  motors 
     digitalWrite(belt,HIGH) ; // start belt
    
    }// water loop closed 


    if (ledIr == HIGH){
          
        digitalWrite(belt,LOW) ; // stops belt 
        ledSet () ;               // call led function 
        digitalWrite(belt,HIGH) ; // start belt 
        
          }//led  ir loop closed


if (saniIr == HIGH) {

        digitalWrite(belt,LOW); // stops belt 
        digitalWrite(relay3,HIGH); // start sanitiser1 
        delay (30000);             // for 0.5 min 
        digitalWrite(relay3,LOW);  // stops sanitiser1 
        digitalWrite(belt,HIGH) ; // start belt
      
      }//sanitiser ir closed   


if (airIr == HIGH) {

        digitalWrite(belt,LOW); // stops belt 
        digitalWrite(air,HIGH); // start airpump 
        delay (150000);          // for 2.5 min 
        digitalWrite(air,LOW); // stop airpump 
        digitalWrite(belt,HIGH) ; // start belt
        
      }//air pump ir closed  

  digitalWrite(belt,LOW) ; // stop belt 
}//type 3 loop closed 



} // main loop closed 

Show us a good schematic of your circuit.
Show us a good image of your ‘actual’ wiring.
Give links to components.


Don’t use delay( ) in your sketches.

Look at switch changes in state vs switch levels.

Research State Machine technique programming.

Review these:

Seems pretty unlikely

Pin 0 is used by Serial. Pick a different pin. A3 through A5 are available.

Setting 'button3' to two different modes?

You forgot to set 'airIr' to be an INPUT.

I find the code is much easier to understand if you use meaningful names:

#include <Servo.h>

//initial variable
const byte Button1Pin = A0  ; //type 1 button IN PIN A0
const byte Button2Pin = A1 ; //type 2 button  IN PIN A1
const byte Button3Pin = A2 ; //type 3 button  IN PIN A2
const byte BeltRelayPin = 6 ; //  BeltRelayPin relay
const byte WaterStationIRSensorPin = 2 ; // Ir uesd to locate  waterpump
const byte WaterStationRelayPin = 0 ; // water pump  ????
Servo VibratorPositionServo; // srvo to bring down the vibmoters
const byte VibratorPositionServoPin = 9;
const byte VibratorMotorsPin = 10 ; // vibration moters
const byte LEDStationIRSensorPin = 3 ; // Ir uesd to locate  LEDControlPins
const byte LEDControlPin = 8 ; // to control LEDControlPins
const byte SanitizerStationIRSensorPin =  4; // Ir uesd to locate  sanitisers
const byte Sanitizer40RelayPin = 11;  // sanitiser 1 40%
const byte Sanitizer30RelayPin = 12 ; // sanitiser 2 30%
const byte SanitizerFoodRelayPin = 13;  // sanitiser 3 food %
const byte AirStationIRSensorPin = 5;   // Ir uesd to locate  AirPumpPin pump
const byte AirPumpPin = 7;    // AirPumpPin pump
//***************************////////////***************************////////////***************************////////////***************************////////////***************************//////////

//***************************////////////***************************////////////***************************////////////***************************////////////***************************//////////
void setup()
{
  VibratorPositionServo.attach(VibratorPositionServoPin);

  // put your setup code here, to run once:
  pinMode(Button1Pin, INPUT_PULLUP);
  pinMode(Button2Pin, INPUT_PULLUP);
  pinMode(Button3Pin, INPUT_PULLUP);

  pinMode(WaterStationIRSensorPin, INPUT);
  pinMode(LEDStationIRSensorPin, INPUT);
  pinMode(SanitizerStationIRSensorPin, INPUT);
  pinMode(AirStationIRSensorPin, INPUT);

  pinMode(BeltRelayPin, OUTPUT);
  pinMode(VibratorMotorsPin, OUTPUT);
  pinMode(LEDControlPin, OUTPUT);
  pinMode(Sanitizer40RelayPin, OUTPUT);
  pinMode(Sanitizer30RelayPin, OUTPUT);
  pinMode(SanitizerFoodRelayPin, OUTPUT);
  pinMode(AirPumpPin, OUTPUT);

  Serial.begin(9600);
}
//***************************////////////***************************////////////***************************////////////***************************////////////***************************//////
//***************************////////////***************************////////////***************************////////////***************************////////////***************************//////

void vibaration_servo ()
{
  Serial.println("START"); // print start in control  panal
  digitalWrite(VibratorMotorsPin, HIGH); // turn on the vibration motors
  delay(180000); // for  3mins
  Serial.println("STOP");  // print stop in control  panal
  digitalWrite(VibratorMotorsPin, LOW); // turn off the vibration motors

  for (int pos = 0; pos <= 180; pos += 1)   // goes from 0 degrees to 180 degrees
  {
    // in steps of 1 degree
    VibratorPositionServo.write(pos);              // tell servo to go to position in variable 'pos'
    delay(15);                       // waits 15ms for the servo to reach the position
  }
  for (int pos = 180; pos >= 0; pos -= 1)   // goes from 180 degrees to 0 degrees
  {
    VibratorPositionServo.write(pos);              // tell servo to go to position in variable 'pos'
    delay(15);                       // waits 15ms for the servo to reach the position
  }

}
//***************************////////////***************************////////////***************************////////////***************************////////////***************************//////
//***************************////////////***************************////////////***************************////////////***************************////////////***************************//////

void LEDControlPinSet ()
{
  Serial.print("25 LED STATUS = " ); //print 25 LED STATUS =   in control  panal
  Serial.println("ON");  //print on in control  panal
  digitalWrite(LEDControlPin, LOW); //turn  on LEDControlPin
  delay(120000); // for  2 min
  digitalWrite(LEDControlPin, HIGH); //turn off LEDControlPin
  Serial.print("25 LED STATUS = ");  //print 25 LED STATUS =   in control  panal
  Serial.println("OFF");  //print off in control  panal
}

//***************************////////////***************************////////////***************************////////////***************************////////////***************************//////
//void emergncy space

//***************************////////////***************************////////////***************************////////////***************************////////////***************************//////
void loop()
{
  // put your main code here, to run repeatedly:

  bool currentstate1  =  digitalRead(Button1Pin);  // read value for Button1Pin every time
  bool currentstate2  =  digitalRead(Button2Pin); // read value for Button2Pin every time
  bool currentstate3  =  digitalRead(Button3Pin); // read value for Button3Pin every time

  //***********Type1 items **********//////////

  if (currentstate1)
  {
    digitalWrite(BeltRelayPin, HIGH) ; // start belt
    Serial.println("ON3");

    if (digitalRead(LEDStationIRSensorPin) == HIGH)
    {
      digitalWrite(BeltRelayPin, LOW) ; // stops BeltRelayPin
      Serial.println("ON4");
      LEDControlPinSet() ;               // call LEDControlPin function
      digitalWrite(BeltRelayPin, HIGH) ; // start BeltRelayPin
    }//LEDControlPin  ir loop closed

    if (digitalRead(SanitizerStationIRSensorPin) == HIGH)
    {
      digitalWrite(BeltRelayPin, LOW); // stops BeltRelayPin
      digitalWrite(Sanitizer40RelayPin, HIGH); // start sanitiser1
      delay (60000);             // for 1 min
      digitalWrite(Sanitizer40RelayPin, LOW); // stops sanitiser1
      digitalWrite(BeltRelayPin, HIGH) ; // start BeltRelayPin

    }//sanitiser ir closed

    if (digitalRead(AirStationIRSensorPin) == HIGH)
    {
      digitalWrite(BeltRelayPin, LOW); // stops BeltRelayPin
      Serial.println("ON5");
      digitalWrite(AirPumpPin, HIGH); // start AirPumpPinpump
      Serial.println("ON666");
      delay (90000);          // for 1 min
      digitalWrite(AirPumpPin, LOW); // stop AirPumpPinpump
      digitalWrite(BeltRelayPin, HIGH) ; // start BeltRelayPin
    }//AirPumpPin pump ir closed

  } // type 1 loop closed


  //***********Type2 items **********//////////

  if (currentstate2)
  {
    digitalWrite(BeltRelayPin, HIGH) ; // start BeltRelayPin

    if (digitalRead(LEDStationIRSensorPin) == HIGH)
    {
      digitalWrite(BeltRelayPin, LOW) ; // stops BeltRelayPin
      LEDControlPinSet () ;               // call LEDControlPin function
      digitalWrite(BeltRelayPin, HIGH) ; // start BeltRelayPin

    }//LEDControlPin  ir loop closed

    if (digitalRead(SanitizerStationIRSensorPin) == HIGH)
    {
      digitalWrite(BeltRelayPin, LOW); // stops BeltRelayPin
      digitalWrite(Sanitizer30RelayPin, HIGH); // start sanitiser1
      delay (60000);             // for 1 min
      digitalWrite(Sanitizer30RelayPin, LOW); // stops sanitiser1
      digitalWrite(BeltRelayPin, HIGH) ; // start BeltRelayPin
    }//sanitiser ir closed

    if (digitalRead(AirStationIRSensorPin) == HIGH)
    {
      digitalWrite(BeltRelayPin, LOW); // stops BeltRelayPin
      digitalWrite(AirPumpPin, HIGH); // start AirPumpPinpump
      delay (90000);          // for 1 min
      digitalWrite(AirPumpPin, LOW); // stop AirPumpPinpump
      digitalWrite(BeltRelayPin, HIGH) ; // start BeltRelayPin
    }//AirPumpPin pump ir closed

  } // type 2 loop closed

  //***********Type 3 items **********//////////

  if (currentstate3)
  {
    digitalWrite(BeltRelayPin, HIGH) ; // start BeltRelayPin

    if (digitalRead(WaterStationIRSensorPin) == HIGH)
    {
      digitalWrite(BeltRelayPin, LOW) ; // stop BeltRelayPin
      digitalWrite(WaterStationRelayPin, HIGH); //turns on the water pump
      delay(60000);                  // for 1 min
      digitalWrite(WaterStationRelayPin, LOW); //turns off the water pump
      vibaration_servo () ;  // call vib & servo  motors
      digitalWrite(BeltRelayPin, HIGH) ; // start BeltRelayPin
    }// water loop closed


    if (digitalRead(LEDStationIRSensorPin) == HIGH)
    {
      digitalWrite(BeltRelayPin, LOW) ; // stops BeltRelayPin
      LEDControlPinSet () ;               // call LEDControlPin function
      digitalWrite(BeltRelayPin, HIGH) ; // start BeltRelayPin

    }//LEDControlPin  ir loop closed


    if (digitalRead(SanitizerStationIRSensorPin) == HIGH)
    {

      digitalWrite(BeltRelayPin, LOW); // stops BeltRelayPin
      digitalWrite(SanitizerFoodRelayPin, HIGH); // start sanitiser1
      delay (30000);             // for 0.5 min
      digitalWrite(SanitizerFoodRelayPin, LOW); // stops sanitiser1
      digitalWrite(BeltRelayPin, HIGH) ; // start BeltRelayPin

    }//sanitiser ir closed

    if (digitalRead(AirStationIRSensorPin) == HIGH)
    {
      digitalWrite(BeltRelayPin, LOW); // stops BeltRelayPin
      digitalWrite(AirPumpPin, HIGH); // start AirPumpPinpump
      delay (150000);          // for 2.5 min
      digitalWrite(AirPumpPin, LOW); // stop AirPumpPinpump
      digitalWrite(BeltRelayPin, HIGH) ; // start BeltRelayPin
    }//AirPumpPin pump ir closed

    digitalWrite(BeltRelayPin, LOW) ; // stop BeltRelayPin
  }//type 3 loop closed

} // main loop closed