expected unqualifield-id before 'if'

Alguien me podria ayudar con el codigo de arduino, me marca error en esta parte:

//CASO 1.1 Ascensor en PB y se llama desde P1

if (P11 == LOW) { //si pulsamos el pulsador de la primera planta
banderaP1 = 1;
** if (banderaP1 == 1) {**

Esta remalcado con negritas, a continuacion el programa completo.

//Declaramos variables para los leds
int ledvpb = 10; //led de la planta baja
int ledv1 = 11; //led de la primera planta
int ledv2 = 12; //led de la segunda planta
int ledrojo = 9; //led de subida

//Sensores dinales de carrera y las variables que definen su estado. Hay que tene en cuenta que el estado HIGH es

int fcpb = 8; //sensor de carrera de la planta baja
int a = 0; //variable donde metemos el estado del sensor de carrera de la planta baja
int fcp1 = 7; //sensor de carrera de la primera planta
int b = 0; //variable donde metemos el estado del sensor de carrera de la primera planta
int fcp2 = 6; //sensor de carrera de la segunda planta
int c = 0; //variable donde metemos el estado del sensor de carrera de la segunda planta

//Interruptores de cada plnata para llamar al ascensor con sys respectivas banderas. Hay que tener en cuenta que

int PB = 22; //pulsador de la planta baja
int banderapb; //bandera de la planta baja
int PBB = 0; //variable donde metemos el estado del pulsador de la planta baja
int P1 = 24; //pulsador de la primera planta
int banderap1; //bandera de la primera planta
int P11 = 0; //variable donde metemos el estado del pulsador de la primera planta
int P2 = 23; //pulsador de la sgunda planta
int banderap2; //bandera de la segunda planta
int P22 = 0; //variable donde metemos el estado del pulsador de la segunda planta

// sensor de temperatura

const int sensor = 0; //entrada del sensor
long milivoltios; //valor que nos da el sensor
long temperatura; //variable que muestra el valor real de temperatura
int buzzer = 13; //altavoz

//variables de control del motor con puente en H L293D

int dirmotorA1 = 5; // dirección motor a borna 1
int dirmotorA2 = 4; //dirección motor a borna 2

void setup ()
{
//Configuaraciones E/S de los pines
pinMode (ledrojo, OUTPUT); //led rojo de tipo salida
pinMode (ledvpb, OUTPUT); //led verde planta baja tipo salida
pinMode (ledv1, OUTPUT); //led verde de primera planta tipo salida
pinMode (ledv2, OUTPUT); //led verde de segunda planta tipo salida

pinMode (dirmotorA1, OUTPUT); //dirección de subida
pinMode (dirmotorA2, OUTPUT); //dirección de bajada
pinMode (PB, INPUT); //pulsador planta baja tipo entrada
pinMode (P1, INPUT); //pulsador primera planta tipo entrada
pinMode (P2, INPUT); //pulsador segunda planta tipo entrada
pinMode (fcpb, INPUT); //sensor de carrera de la plnata baja
pinMode (fcp1, INPUT); //sensor de carrera de la primera planta
pinMode (fcp2, INPUT); //sensor de carrera de la segunda planta

Serial.begin (9600); // iniciamos la comunicación serial con el sensor de temperatura
pinMode (buzzer, OUTPUT); //el altavoz es un objeto de salida

}

void loop () {
//Temperatura (simulador de incendio)
milivoltios = (analogRead(sensor) * 50001) / 1023; //calculamos los milivoltios que nos da el sensor
temperatura = milivoltios / 10; //calculamos el valor de la temperatura real

Serial.print ("Temperatura: "); //para establecer eltecto de la temperatura en la comunicación serial
Serial.print (temperatura); //para que nos de el valor de la variable temperatura en la comunicación serial
Serial.println ("grados"); //

//Esto nos permite establecer que el altavoz suene cuando la temperatura sea mayor a un determinado valor

if (temperatura >= 35)
digitalWrite (buzzer, HIGH);
digitalWrite (ledrojo, HIGH);
delay (500);
digitalWrite (ledrojo, LOW);
delay (500); //Altavoz activo
}
if-else {
digitalWrite (buzzer,LOW): //Altavoz desactivado
}

//Leemos los estados de los snsore de carrera y pulsadores
a = digitalRead (fcpb);
b = digitalRead (fcp1);
c = digitalRead (fcp2);

//CASO 1 ASCENSOR EN PB
if (a == HIGH)( //Localizamos al ascensor en la planta baja si esta activado su sensor
digitalWrite (ledvpb, HIGH); //encendemos el led verde que me indica que el ascensor se encuentra en esa planta
//Establecemos todas las banderas de los pulsadores a cero
banderapb = 0;
banderap1 = 0;
banderap2 = 0;
//Comprobar que pulsador esta activo
PBB = digitalRead (PB);
P11 = digitalRead (P1);
P22 = digitalRead (P2);

//CASO 1.1 Ascensor en PB y se llama desde P1

if (P11 == LOW) { //si pulsamos el pulsador de la primera planta
banderaP1 = 1;
if (banderaP1 == 1) {
do {
//Mandamos a subir el ascensor
digitalWrite (dirmotorA1, HIGH); // Gira motor A derecha
digitalWrite (dirmotorA2, LOW);
//LED rojo parpadea
digitalWrite (ledrojo, HIGH),
delay(500);
digitalWrite(ledrojo, LOW);
delay(500);
b = digitalRead(fcp1);
}
while (b == LOW); // Realiza las acciones anteriores hasta que activa el sensor fin de carrera del piso 1
// una vez activado el sensor de carrera del piso primero:

banderap1 = 0;
digitalWrite(dirmotorA1, HIGH); //para motor A
digitalWrite(dirmotorA2.HIGH); // paramos el motor dejando el ascensor en la primera planta
digitalWrite(ledrojo, LOW); // Apagamos la luz roja del movimiento del ascensor
digitalWrite(ledv1, HIGH); // Encendemos el led de la primera planta
digitalWrite(buzzer, HIGH); // Creamos una señal acustica para avisar que ah llegado a su destino
delay(2000);
digitalWrite(buzzer, LOW);

//Vuelve a leer todos lo estados
a = digitalRead(fcpb);
b = digitalRead(fcp1);
c = digitalRead(fcp2);

defines la variable banderap1 pero usas banderaP1 ,no es lo mismo.....

jose:
defines la variable banderap1 pero usas banderaP1 ,no es lo mismo.....

Ya lo cambie pero me sigue apareciendo error donde mismo :frowning:

Mirando un poco mas ,tu codigo esta plagado de errores en los condicionales if,por ejemplo:

 if (temperatura >= 35)
    digitalWrite (buzzer, HIGH);

falta llaves del bloque de sentencias

if-else {

¿que es esto?

if (a == HIGH)(

¿y esto?
.......repasalo:
https://www.arduino.cc/reference/en/language/structure/control-structure/if/

jose:
Mirando un poco mas ,tu codigo esta plagado de errores en los condicionales if,por ejemplo:

 if (temperatura >= 35)

digitalWrite (buzzer, HIGH);



falta llaves del bloque de sentencias


if-else {



¿que es esto?


if (a == HIGH)(



¿y esto?
.......repasalo:
https://www.arduino.cc/reference/en/language/structure/control-structure/if/

Sera que me puedas ayudar? soy nuevo en arduino y no entiendo muy bien, el programa me lo pasaron y me dijeron que estaba bien, pero ya intente muchas veces arreglarlo, es para un ascensor de 3 pisos controlado con arduino mega 2560

pues es una buena ocasion para aprender....si se arreglan los fallos de lenguaje ,luego me pediras que arregle los de logica y es un tiempo que ni quiero ni lo tengo para perder...

Y no solo lo que dice @ArduMyth sino tambien no tuviste el tiempo de leer otros hilos y ver que en este foro tenemos normas y las cumplicmos.
Los códigos siempre van con etiquetas de modo que sigue el instructivo que te envío por privado ya que si te digo que el 1er hlo de cada sección contienen las normas seguro me diras como la gran mayoría que no lo encuentras.
Asi que no hay excusas. Leelo y edita tu PRIMER POST.
El código completo con etiquetas