if statment not working

hi guys,

i have written some code its mainly a simple if statment to fire off a few outputs but i cant get the button to work.

i know its wired to ground as i have tested it

any ideas?

const int buttonPin = 4;


int buttonState = 0;
int BarrelLED = 5;


int PackStartup = 8;
int PackPowerDown = 9;
int HummingLoop = 10;
int FireSound = 11;


void setup() {
  
  pinMode(buttonPin, INPUT_PULLUP);

     
pinMode(BarrelLED, OUTPUT);

pinMode(PackStartup, OUTPUT);
pinMode(PackPowerDown, OUTPUT);
pinMode(HummingLoop, OUTPUT);
pinMode(FireSound, OUTPUT);  

digitalWrite(BarrelLED, LOW);


digitalWrite(HummingLoop, HIGH);
digitalWrite(FireSound, HIGH);
digitalWrite(PackPowerDown, HIGH);

digitalWrite(PackStartup, LOW);
delay(100);
digitalWrite(PackStartup, HIGH);

              
              //startup sound
              

}

void loop() {

  buttonState = digitalRead(buttonPin);
if(buttonPin == LOW) {//power switch on
     
     digitalWrite(HummingLoop, HIGH);
     
     digitalWrite(BarrelLED, HIGH);
     digitalWrite(FireSound, LOW);

     
}

    else {

  digitalWrite(PackPowerDown, LOW);
  delay(1);
  digitalWrite(PackPowerDown, HIGH);
digitalWrite(FireSound, HIGH);
  digitalWrite (HummingLoop, LOW);  
    }
}
if(buttonPin == LOW)

As buttonPin is set to be 4 then there is never a time when it will be LOW.

Maybe you mean buttonState?