due lm35 comandano un servomotore

alla riga   17 trovo:#define PhotoSensor     A0
alla riga   20 trovo:#define sensorefiamma A0 PIN A7   (che francamente non capisco cosa significa)
alla riga 153 trovo:int sensorPin = A0;

la riga 17 è uno dei tre lm35 quindi sono A0 A1 A2 ed è corretto
la riga 20 è il sensore fiamma quindi A0 era come riportato nel programma originale, ma nel mio caso diventa A7 perchè A0 è occupato dal lm35.
mentre la riga 153 con la riga 17 appartengono al programma che ho copiato.
Quindi si potrebbe fare a meno della riga 153 e rinominare tutti i sensorpin con il photosensor.

riga273:     pinMode(4, OUTPUT);                 //Led Allarme (Rosso)
riga 276     pinMode(LampRed3, OUTPUT);    //LED ROSSO  (Allarm) -> riga9 =pin 4

questi erano gli altri comandi che avevo già notato.
Questo è un esempio che mi fà un pò rabbia perchè ogniuno usa un modo diverso per sviluppare il programma.
Io all'inizio ho fatto un pò di fatica a capire, perchè questi esempi non usano un linguaggio standard, quando ho confrontato due programmi che fanno la stessa cosa, mi sono accorto che questa differenza dopotutto facevano la stessa cosa.

Dato che ci siamo con il discorso delle parentesi mi è sorto una curiosità.
Tutti i programmi utili che ho voluto integrare in questo programma hanno un setup, e i vari setup mettendoli in questo mio progetto li ho racchiusi nelle graffe per una ricerca maggiore, qui cambia qualcosa? E' ovvio che qui c'è anche il comando per il setup del servo

void setup() {

  myservo.attach(9);  // attaches servo al pin 9
  {
    Serial.begin (9600);
    lcd.begin(16, 2);
    lcd.backlight();
    lcd.print (" Buongiorno");
    delay (1500);
    lcd.createChar(0, DomenicoChar);
    lcd.setCursor(4, 1); //posizionamento (colonna,riga)
    lcd.write((uint8_t)0);
    lcd.setCursor(5, 1);
    lcd.print("omenico");
    delay (2000);

    //Setup RTC DS3231
    lcd.clear ();
    setSyncProvider(RTC.get);
    lcd.clear ();
    if (timeStatus() != timeSet)
      lcd.print (" orologio non");
    else
      lcd.print(" orologio");
    lcd.setCursor (0, 1);
    lcd.print  (" sincronizzato");
    delay (1500);
    temperaturaRTC = RTC.temperature();
  }
  //Setup sensore fiamma
  {
    lcd.begin(16, 2);
    pinMode(analogInputA8, INPUT);
    pinMode(flame_din, INPUT);
    pinMode(15, OUTPUT);
    pinMode(22, OUTPUT);
    pinMode(flame_ain, INPUT);
    pinMode (BUZZER, OUTPUT);
    pinMode(rel, OUTPUT);         //relè
    digitalWrite(rel, LOW);      //relè 2

  }

Praticamente non ho voluto smuovere i vari setup perchè c'è il comando:

 lcd.begin(16, 2);

riportato molte volte, e per non interferire con il tutto li ho lasciati così.

Quindi le domande sono:

Questo comando è sufficiente scriverlo una sola volta?
Cosa succede se lascio le graffe in questo modo?
Se nel caso sono da rimuoverli possono lasciarli integri in questo modo?

p.s.
I comandi dei relè li devo correggere in questo momento.