Does Arduino Mega have an in built buzzer/speaker?

I am trying to make a project in which the Mega collects readings from an accelerometer (MPU6050) and a DHT11 Sensor module and sends it to a NodeMCU v1.0 which has to upload it to a server. The Mega is in a 6WD chassis and I have also attached IR sensors for edge avoiding. But when I connect the Mega to the computer and upload the program I get a funny (low pitch) beeping sound from the Mega. I noticed that the sound stops when I remove the wire connecting the GND pin in Mega to the GND pin of the L298N Motor Drivers. Why does this happen?

#include <DHT.h>
#include "I2Cdev.h"
#include "MPU6050_6Axis_MotionApps20.h"
#if I2CDEV_IMPLEMENTATION == I2CDEV_ARDUINO_WIRE
  #include "Wire.h"
#endif
MPU6050 MPU;
#define OUTPUT_TEAPOT
#define INTERRUPT_PIN 2
#define LED_PIN 13
void edgeAvoid(int[4]);
void goStraight(int);
void goLeft(int);
void goRight(int);
void goBack(int);
bool blinkState = false;
bool dmpReady = false;
uint8_t mpuIntStatus;
uint8_t devStatus;
uint16_t packetSize;
uint16_t fifoCount;
uint8_t fifoBuffer[64];
Quaternion q;
VectorInt16 aa;
VectorInt16 aaReal;
VectorInt16 aaWorld;
VectorFloat gravity;
float euler[3];
float ypr[3];
uint8_t teapotPacket[14] = {'

, 0x02, 0, 0, 0, 0, 0, 0, 0, 0, 0x00, 0x00, '\r', '\n'};
int a[4];
int IR[4] = {44, 45, 46, 47};
int RF1 = 32;
int RF2 = 33;
int LF1 = 34;
int LF2 = 35;
int RM1 = 36;
int RM2 = 37;
int LM1 = 38;
int LM2 = 39;
int RB1 = 40;
int RB2 = 41;
int LB1 = 42;
int LB2 = 43;
int powerPins[4] = {48, 49, 50, 51};
int gndPins[4] = {28, 29, 30, 31};
volatile bool mpuInterrupt = false;
void dmpDataReady()
{
  mpuInterrupt = true;
}
DHT DHT(10, DHT11);
void setup()
{
  #if I2CDEV_IMPLEMENTATION == I2C_ARDUINO_WIRE
    Wire.begin();
    Wire.setClock(400000);
  #elif I2CDEV_IMPLEMENTATION == I2CDEV_BUILTIN_FASTWIRE
    Fastwire::setup(400, true);
  #endif
  Serial.begin(115200);
  Serial1.begin(115200);
  for(int i = 0; i <= 3; i++)
    pinMode(IR[i], INPUT);
  pinMode(RF1, OUTPUT);
  pinMode(RF2, OUTPUT);
  pinMode(LF1, OUTPUT);
  pinMode(LF2, OUTPUT);
  pinMode(RM1, OUTPUT);
  pinMode(RM2, OUTPUT);
  pinMode(LM1, OUTPUT);
  pinMode(LM2, OUTPUT);
  pinMode(RB1, OUTPUT);
  pinMode(RB2, OUTPUT);
  pinMode(LB1, OUTPUT);
  pinMode(LB2, OUTPUT);
  for(int i = 0; i <= 3; i++)
  {
    pinMode(powerPins[i], OUTPUT);
    pinMode(gndPins[i], OUTPUT);
    digitalWrite(powerPins[i], HIGH);
    digitalWrite(gndPins[i], LOW);
  }
  DHT.begin();
  Serial.println(F("Initializing I2C devices..."));
  MPU.initialize();
  pinMode(INTERRUPT_PIN, INPUT);
  Serial.println(F("Testing device connections..."));
  Serial.println(MPU.testConnection() ? F("MPU6050 connection successful") : F("MPU6050 connection failed"));
  Serial.println(F("Initializing DMP..."));
  devStatus = MPU.dmpInitialize();
  MPU.setXGyroOffset(220);
  MPU.setYGyroOffset(76);
  MPU.setZGyroOffset(-85);
  MPU.setZAccelOffset(1788);
  if(devStatus == 0)
  {
    Serial.println(F("Enabling DMP..."));
    MPU.setDMPEnabled(true);
    Serial.println(F("Enabling interrupt detection (Arduino external interrupt 0)..."));
    attachInterrupt(digitalPinToInterrupt(INTERRUPT_PIN), dmpDataReady, RISING);
    mpuIntStatus = MPU.getIntStatus();
    Serial.println(F("DMP ready! Waiting for first interrupt..."));
    dmpReady = true;
    packetSize = MPU.dmpGetFIFOPacketSize();
  }
  else
  {
    Serial.print(F("DMP initializing failed (code "));
    Serial.print(devStatus);
    Serial.println(F(")"));
  }
  pinMode(LED_PIN, OUTPUT);
}
void loop()
{
  if(!dmpReady)
    return; 
  while(!mpuInterrupt && fifoCount < packetSize)
  {
  }
  mpuInterrupt = false;
  mpuIntStatus = MPU.getIntStatus();
  delay(10);
  fifoCount = MPU.getFIFOCount();
  delay(10);
  if((mpuIntStatus & 0x10) || fifoCount == 1024)
  {
    MPU.resetFIFO();
    Serial.println(F("FIFO overflow!"));
  }
  else if(mpuIntStatus & 0x02)
  {
    while(fifoCount < packetSize){
      fifoCount = MPU.getFIFOCount();
      delay(10);
    }
    MPU.getFIFOBytes(fifoBuffer, packetSize);
    fifoCount -= packetSize;
    MPU.dmpGetQuaternion(&q, fifoBuffer);
    MPU.dmpGetAccel(&aa, fifoBuffer);
    MPU.dmpGetGravity(&gravity, &q);
    MPU.dmpGetLinearAccel(&aaReal, &aa, &gravity);
    String str = "#@!sep!@#";
    str += aaReal.x;
    str += " ";
    str += aaReal.y;
    str += "#@!sep!@#";
    str += String(DHT.readTemperature());
    str += "#@!sep!@#";
    str += String(DHT.readHumidity());
    str += "\n";
    Serial1.print(str);
    Serial.print(str);
    teapotPacket[11]++;
    blinkState = !blinkState;
    digitalWrite(LED_PIN, blinkState);
  }
  for(int i = 0; i <= 3; i++)
    a[i] = digitalRead(IR[i]);
  edgeAvoid(a);
}
void edgeAvoid(int a[4])
{
  Serial.print("IR Values ");
  for(int i = 0; i <= 3; i++)
  {
    Serial.print(a[i]);
    Serial.print('\t');
  }
  Serial.println("");
  if(a[0] == 0 && a[1] == 0 && a[2] == 0 && a[3] == 1)
  {
    goStraight(100);
  }
  else if(a[0] == 1 && a[1] == 0 && a[2] == 0 && a[3] == 1)
  {
    int ct = millis();
    while(millis() - ct <= 10)
      goBack(100);
    while(millis() - ct <= 20)
      goRight(100);
  }
  else if(a[0] == 0 && a[1] == 1 && a[2] == 0 && a[3] == 1)
  {
    int ct = millis();
    while(millis() - ct <= 10)
      goBack(100);
    while(millis() - ct <= 20)
      goLeft(100);
  }
  else if(a[0] == 1 && a[1] == 1 && a[2] == 0 && a[3] == 1)
  {
    int ct = millis();
    while(millis() - ct <= 10)
      goBack(100);
    while(millis() - ct <= 20)
      goLeft(100);
  }
  else if(a[0] == 0 && a[1] == 0 && a[2] == 1 && a[3] == 1)
  {
    int ct = millis();
    while(millis() - ct <= 10)
      goStraight(100);
    while(millis() - ct <= 20)
      goLeft(100);
  }
  else if(a[0] == 0 && a[1] == 0 && a[2] == 0 && a[3] == 0)
  {
    int ct = millis();
    while(millis() - ct <= 10)
      goStraight(100);
    while(millis() - ct <= 20)
      goRight(100);
  }
  else if(a[0] == 0 && a[1] == 0 && a[2] == 1 && a[3] == 0)
  {
    int ct = millis();
    while(millis() - ct <= 10)
      goStraight(100);
    while(millis() - ct <= 20)
      goRight(100);
  }
}
void goStraight(int power)
{
  Serial.println("Straight");
  digitalWrite(RF1, HIGH);
  digitalWrite(RF2, LOW);
  digitalWrite(LF1, HIGH);
  digitalWrite(LF2, LOW);
  digitalWrite(RM1, HIGH);
  digitalWrite(RM2, LOW);
  digitalWrite(LM1, HIGH);
  digitalWrite(LM2, LOW);
  digitalWrite(RB1, HIGH);
  digitalWrite(RB2, LOW);
  digitalWrite(LB1, HIGH);
  digitalWrite(LB2, LOW);
  delayMicroseconds(power);
  digitalWrite(RF1, LOW);
  digitalWrite(LF1, LOW);
  digitalWrite(RM1, LOW);
  digitalWrite(LM1, LOW);
  digitalWrite(RB1, LOW);
  digitalWrite(LB1, LOW);
  delayMicroseconds(100 - power);
}
void goLeft(int power)
{
  Serial.println("Left");
  digitalWrite(RF1, HIGH);
  digitalWrite(RF2, LOW);
  digitalWrite(LF1, LOW);
  digitalWrite(LF2, HIGH);
  digitalWrite(RM1, HIGH);
  digitalWrite(RM2, LOW);
  digitalWrite(LM1, LOW);
  digitalWrite(LM2, HIGH);
  digitalWrite(RB1, HIGH);
  digitalWrite(RB2, LOW);
  digitalWrite(LB1, LOW);
  digitalWrite(LB2, HIGH);
  delayMicroseconds(power0.58);
  digitalWrite(RM1, LOW);
  digitalWrite(LM2, LOW);
  delayMicroseconds(power
0.42);
  digitalWrite(RF1, LOW);
  digitalWrite(RB1, LOW);
  digitalWrite(LF2, LOW);
  digitalWrite(LB2, LOW);
  delayMicroseconds(100 - power);
}
void goRight(int power)
{
  Serial.println("Right");
  digitalWrite(RF1, LOW);
  digitalWrite(RF2, HIGH);
  digitalWrite(LF1, HIGH);
  digitalWrite(LF2, LOW);
  digitalWrite(RM1, LOW);
  digitalWrite(RM2, HIGH);
  digitalWrite(LM1, HIGH);
  digitalWrite(LM2, LOW);
  digitalWrite(RB1, LOW);
  digitalWrite(RB2, HIGH);
  digitalWrite(LB1, HIGH);
  digitalWrite(LB2, LOW);
  delayMicroseconds(power0.58);
  digitalWrite(RM2, LOW);
  digitalWrite(LM1, LOW);
  delayMicroseconds(power
0.42);
  digitalWrite(RF2, LOW);
  digitalWrite(RB2, LOW);
  digitalWrite(LF1, LOW);
  digitalWrite(LB1, LOW);
  delayMicroseconds(100 - power);
}
void goBack(int power)
{
  Serial.println("Back");
  digitalWrite(RF1, LOW);
  digitalWrite(RF2, HIGH);
  digitalWrite(LF1, LOW);
  digitalWrite(LF2, HIGH);
  digitalWrite(RM1, LOW);
  digitalWrite(RM2, HIGH);
  digitalWrite(LM1, LOW);
  digitalWrite(LM2, HIGH);
  digitalWrite(RB1, LOW);
  digitalWrite(RB2, HIGH);
  digitalWrite(LB1, LOW);
  digitalWrite(LB2, HIGH);
  delayMicroseconds(power);
  digitalWrite(RF2, LOW);
  digitalWrite(LF2, LOW);
  digitalWrite(RM2, LOW);
  digitalWrite(LM2, LOW);
  digitalWrite(RB2, LOW);
  digitalWrite(LB2, LOW);
  delayMicroseconds(100 - power);
}

Does Arduino Mega have an in built buzzer/speaker?

No, it doesn't.

I noticed that the sound stops when I remove the wire connecting the GND pin in Mega to the GND pin of the L298N Motor Drivers. Why does this happen?

You are asking us to comment about a circuit we cannot see; you do know we are not telepathic don't you? Where are the motors? Are they part of the 6WD chassis (Is that 6 wheel drive chassis?).

Please post a schematic (hand drawn and photographed is fine) and some photos of your project.

Thanks.

Can you post the schematic of your project so that we can guide you in a better way?

That sound is the magic smoke buzzing around within the package, if it gets louder it may escape.
Notwithstanding the smoke is very corrosive, and may have attacked some of the chip internals!