Error de ejecución de código

Hola, llevo programando poco tiempo y siempre tengo algunos errores en mi código, a continuación les dejo mi código, de ante mano muchas gracias por su ayuda.

//SENSOR DISTANCIA
// 1: Encender balizas para distancia menor a 80 cm
// 2: Buzzer encendido para distancia menor a 80cm
// 3: Encender motor dispensador de gas pimienta para distancia menor a 20cm
//SENSOR PIR
// 1: Encender balizas cuando se registre movimiento
// 2: Encender buzzer cuando se registre movimiento

int Distancia = 0;
int pirsensor = 0; 
long readUltrasonicDistance(int triggerPin, int echoPin)
{
  pinMode(triggerPin, OUTPUT);  
  digitalWrite(triggerPin, LOW);
  delayMicroseconds(2);
 
  digitalWrite(triggerPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(triggerPin, LOW);
  pinMode(echoPin, INPUT);
  
  return pulseIn(echoPin, HIGH);
}

void setup()
{
  pinMode(8, OUTPUT); //MOTOR
  pinMode(2, OUTPUT); //LED 1
  pinMode(3, OUTPUT); //BUZZER 
  Serial.begin(9600);
  pinMode(6, OUTPUT); //LED 2
  pinMode(7, INPUT); //SENSOR PIR
  

}

void loop()
{
  Distancia = 0.01723 * readUltrasonicDistance(11, 10);
  if (Distancia <= 80) {
    digitalWrite(2, HIGH);
    digitalWrite(6, HIGH);
  if (Distancia <= 20) {
    digitalWrite(8, HIGH);
    tone(3, 932, 250); 
    delay(500); 
  } else {
    digitalWrite(8, LOW);
    digitalWrite(2, LOW);
    digitalWrite(6, LOW);
  }
  Serial.println(Distancia);
  delay(100); 

  // SENSOR PIR
  pirsensor = digitalRead(7); 
  if (pirsensor == HIGH) 
  {
    digitalWrite(6, HIGH);
    digitalWrite(2, HIGH);
    tone(3, 932, 250);
    delay(500);
  }
  else
  {
    digitalWrite(6, LOW);
    digitalWrite(2, LOW);
  }
  
  delay(10);
}

int codigo;
bool flag=false;
float temperatura=0,0;

 void setup()
 {
   pinMode(13, OUTPUT);
   pinMode(12, OUTPUT);
   pinMode(11, OUTPUT);
   Serial.begin(9600);
 }
void loop()
 {
  if(flag==false)
  {
    Serial.println("INGRESE LA CLAVE PARA ACTIVAR LA ALARMA");
    delay(500);
   
    codigo=Serial.parseInt();
    
    if(codigo==4321)
    {
     Serial.println("ALARMA ACTIVADA"); 
     flag=true;
    
  }
  
  else
  {
    temperatura=(analogRead(A0) * (500.0 / 1023.0) ) - 50.0;
    if(temperatura >= 40)
      {
      alarma_activada();
      
  }
  }
  
}

void alarma_activada() 
 {
  Serial.println("PRESENCIA DE POSIBLE INCENDIO");
 
}
  while(flag==true)
  {
   digitalWrite(11, LOW);
   digitalWrite(12, HIGH);
   digitalWrite(13, HIGH);
   delay(1000);
    
   digitalWrite(11, HIGH);
   digitalWrite(12, LOW);
   digitalWrite(13, LOW);
   delay(1000);
  }   
   Serial.println("INGRESE LA CLAVE PARA DESACTIVAR LA ALARMA");
   codigo=Serial.printl();
    
   if(codigo==1234)
     {
     flag=false;
     Serial.printl("ALARMA DESACTIVADA");
     digitalWrite(11, LOW);     
  }

El código se debe presentar de forma adecuada, lee las Normas del foro.

Si publicas en el foro en inglés no lo hagas también en español, el doble posteo es una falta grave, te van a sancionar.

Ya te han respondido en inglés

Saludos

Moderador:
Ya te ha advertido @gatul respecto de las normas.
Como bien el dice ya tienes respuesta en el foro en inglés asi que procedo a cerrar este hilo y dejo constancia de tu doble posteo.
Próximo doble posteo será pasible de sanción 1 dia de baneo.