I NEED HELP fixing the code for an alarm clock that uses a LCD screen, RTC, force sensor, a push button, a buzzer, and 2 XLW sound modules

I am very new to Arduino and for my principles of engineering final project, we are making an alarm clock that includes a LCD screen, RTC, force sensor, a push button, buzzer and 2 sound recorders. the goal of this project is to create a way to get out of bed to start the day. there are a couple different parts to this project, one being the LCD screen display of a RTC, the second part being a 2 XLW sound module and a buzzer, and the final part being a force sensor that shuts everything off when it has a certain number of pressure applied. whats supposed to happen is when the time hits "00" seconds, the first audio titled "Bball" will play until a push button is pressed, where a second audio titled "Scream" plays, until the button is pressed again, which turns on a buzzer, and that only stops when you apply pressure to the force sensor over 900. the problem seems to occur with the XLW sound modules and buzzer, skipping over the first sound player and then also ignoring the button in between the second sound and buzzer. the LCD screen also freezes when ever the XLW sound module starts playing and does not unfreeze until the recording stops. i know that this is a software issue, but i cant figure out what the bug might be. please i need help. why isn't my Arduino code working and how can I fix it?

here is my current code

#include <Wire.h>
#include <RTClib.h>
#include <LiquidCrystal_I2C.h>

int buzzerPin = 8;


int sensorPin = A0;  // set photoresistor pin
int led1Pin = 9;     // set LED pin
int sensorValue;     // store photoresistor reading
boolean PressureOn;


RTC_DS3231 rtc;
LiquidCrystal_I2C lcd(0x27, 16, 2);  // Address 0x27 is common

int Scream = 5;
int Bball = 3;
int readPin = 10;
boolean ScreamOn;
boolean BballOn;

void setup() {
  Serial.begin(9600);
  lcd.init();
  lcd.backlight();

  if (!rtc.begin()) {
    lcd.print("RTC not found!");
    while (1)
      ;
  }

  // Sets RTC to the computer's time at upload (run once)
  if (rtc.lostPower()) {
    rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
  }

  // put your setup code here, to run once:
  pinMode(buzzerPin, OUTPUT);

  pinMode(led1Pin, OUTPUT);


  Serial.begin(9600);
  Serial.println("Program Starting..");
  pinMode(Bball, OUTPUT);
  pinMode(Scream, OUTPUT);
  pinMode(readPin, INPUT);
  digitalWrite(Bball, LOW);
  digitalWrite(Scream, LOW);
  ScreamOn = true;
  BballOn = true;
}


void loop() {
  DateTime now = rtc.now();

  lcd.setCursor(0, 0);
  lcd.print("Date: ");
  lcd.print(now.month());
  lcd.print('/');
  lcd.print(now.day());
  lcd.print('/');
  lcd.print(now.year());

  lcd.setCursor(0, 1);
  lcd.print("Time: ");
  if (now.hour() < 10) lcd.print('0');
  lcd.print(now.hour());
  lcd.print(':');
  if (now.minute() < 10) lcd.print('0');
  lcd.print(now.minute());
  lcd.print(':');
  if (now.second() < 10) lcd.print('0');
  lcd.print(now.second());

  delay(1000);

  if (sensorValue >= 900) {
    digitalWrite(led1Pin, HIGH);
  } else {
    digitalWrite(led1Pin, LOW);
  }

  if (now.second() == 00) {
    digitalWrite(Bball, HIGH);
    delay(200);
    digitalWrite(Bball, LOW);
    while (digitalRead(readPin) == LOW) {
      sensorValue = analogRead(sensorPin);  //read pressure
      if (sensorValue >= 900) {
        PressureOn = true;
        digitalWrite(led1Pin, HIGH);
        break;
      }
    }
    //stop bball
    digitalWrite(Bball, HIGH);
    delay(200);
    digitalWrite(Bball, LOW);

    //start scream
    digitalWrite(Scream, HIGH);
    delay(200);
    digitalWrite(Scream, LOW);
    while (digitalRead(readPin) == LOW && PressureOn == false) {
      sensorValue = analogRead(sensorPin);  //read pressure
      if (sensorValue >= 900) {
        PressureOn = true;
        digitalWrite(led1Pin, HIGH);
        break;
      }
    }

    digitalWrite(Scream, HIGH);
    delay(200);
    digitalWrite(Scream, LOW);
    digitalWrite(buzzerPin, HIGH);
    while (analogRead(sensorPin) <= 900 && PressureOn == false) {
    }
    PressureOn = true;
    digitalWrite(led1Pin, HIGH);
    digitalWrite(buzzerPin, LOW);
    (PressureOn = false);
  }
}

this is a description of how the hardware is set up.

this is a flow chart of what I want to happen

Find and post a link to the datasheet of this device. Also, post a link to the datasheet of the force sensor.

How did you determine that? Your code works for me.

Perhaps, it is a power usage issue?

I am really sorry im so new to this what do you mean datasheet for this device as well as the force sensor, how would I find the link to this?

the is the XLW speaker that I used but this is about as much as I know about it, my partner for the project set this up and is the "expert" on it but I cant seem to reach her.

because when I test each part of the set up separately it works but I end up running into issues when I put it all together.

what did you use to test the code?

I dont think its a power usage issue as other codes work when connected to the same power source.

That means you also put the power usage together...

Therefore, I doubt your statement:

Measure voltage of power supply...
Also at the point where your clock does not work...

A link to the screenshot you showed could help us find the datasheet...

Then your LCD should freeze even if you disconnect sound modules.. Did you try?

Deckare things tgat should not change as const...

const byte led1pin = 9;

Give variables a self explaining name.

const byte screamPin= 5;

Please share a picture of your actual setup.
Some breadboards have discontinuous power lines...
That would explain things working when tested seperately...

Thumbs up for the flow diagram!

to the amazon page? Amazon.com: XLW Module, 16MB Push Button Activated Sound Module with Speaker, 16Min Easy Sound Recording Chip for Personalized Greetings, DIY Projects, MP3 Music for Crafts, Type-C Cable Charging (Blue-30Pack) : Musical Instruments

it only freezes when the sound modules start to play. I dont know whats happening.

It seems you use mosfets. What type, and how are they connected... they are not in your 'schematic'.

i'm sorry can you explain to me what putting power usage together means? i'm a high schooler we didn't learn what this particular thing means.

Found this model number for the sound thingies.
JR1653-2Pack

what do I do with this information?????? like how does this help me

to add more context (im the users partner) the sound recorders worked fine when I separately coded it before we both connected it to our main project
the recorders came with a "manual" sheet (if u could even call it that)
the name on the manual was "1653 audio recorder" (XLW)
Once I plugged in the recording devices to my computer to add the sounds, it gave me this configure page, which based off what we wanted i changed it to configure 06 (our teacher agreed with my idea on this).
the problem is is that sometimes the whole thing sort of doesn't work
one of the recorders is being all funky

Power usage adds up. One device uses less than two devices.
So seperately they may work.
Together they may take more power than your power supply can provide. Often causing random problems..

thats what one of our teachers also said
but we also don't want to fail this
is there anything else we can do?

how do I make it not make random problems?