il mio codice non viene eseguito totalmente

buongiorno vi chiedo aiuto perchè il codice presente nel void loop non viene eseguito totalmente

questo è il codice

#include <LiquidCrystal.h>
#include <SimpleDHT.h>
#include <Wire.h>
#include <DS3231.h>
DS3231 clock;
RTCDateTime dt;
int pin = 3;
int val;

SimpleDHT11 dht11;
// include the library code:
// initialize the library with the numbers of the interface pins
const int rs = 7, e = 8, d4 = 9, d5 = 10, d6 = 11, d7 = 12;
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);

int a;
long time;
void setup(){
lcd.begin(16, 2);
pinMode(13, INPUT);
Serial.begin(9600);
pinMode(4,OUTPUT);

clock.begin();

clock.setDateTime(DATE, TIME);

}

}
byte temperature = 0;
byte humidity = 0;
byte data[40] = {0};

void loop(){
dht11.read(pin, &temperature, &humidity, data);

lcd.print((int)temperature);lcd.print("*c");
lcd.print((int)humidity);lcd.print("%");
delay(1000);
// set the cursor to column 0, line 1
// (note: line 1 is the second row, since counting begins with 0):
lcd.setCursor(0, 1);
dt = clock.getDateTime();

lcd.print(dt.hour); lcd.print(":");
lcd.print(dt.minute); lcd.print("-");

a = 0;
if(digitalRead(13)){
Serial.println("primo");
delay(100);
time = millis();
a = 1;
while(millis() - time < 100){
if(digitalRead(13)){

a = 0;
break;
}
}
if (a){
Serial.println("accensione");
digitalWrite(4, !digitalRead (4));
delay(100);
esegui();
}
}

}

void esegui(){
digitalWrite(4, !digitalRead (4));
delay(1000);

il problema è che le informazioni sul lcd appaiono ma non mi funziona la parte di codice che dovrebbe stampare informazioni nelle monitor seriale
se invece elimino il codice che rileva la temperatura l'umidità e l'orario la parte di codice non funzionante funziona

spero di essere stato più o meno chiaro vi prego aiuto non so cosa fare

void esegui(){
digitalWrite(4, !digitalRead (4));
delay(1000);

add a }

no nel codice originale la } c'è sono io che per sbaglio non l'ho messa durante la compilazione non ho nessun errore

Prima di tutto, nella sezione in lingua Inglese si può scrivere SOLO in Inglese ... quindi, per favore, la prossima volta presta più attenzione ...

... poi, non avendolo tu ancora fatto (... e ti era già stato richiesto QUI), nel rispetto del regolamento (… punto 13, primo capoverso), ti chiedo cortesemente di presentarti QUI (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con MOLTA attenzione il su citato REGOLAMENTO ...

... infine, in conformità al suddetto regolamento, punto 7, devi editare il tuo primo post (quindi NON scrivendo un nuovo post, ma utilizzando il bottone More -> Modify che si trova in basso a destra del tuo post) e racchiudere il codice all'interno dei tag CODE (... sono quelli che in edit inserisce il bottone con icona fatta così: </>, tutto a sinistra). Grazie,

Guglielmo

P.S.: Il tuo post è stato spostato nell'opportuna sezione del forum "Italiano"