Problemino sketch

Ti ho modificato leggermente il codice.
Non l'ho provato, ma dovrebbe funzionare.
Se premi il pulsante sul pin 8 incrementa a fino al valore 255, se premi il pulsante sul pin 7 decrementa a fino al volore 0.
Ho aggiunto un controllo per l'overflow.
Ho tolto il codice per il fade perché sinceramente non ho capito con quale sequenza di pulsanti lo volessi attivare.

#include <LiquidCrystal.h>

byte a = 0;
byte b = 25;

int up = LOW;
int down = LOW;
int check = LOW;

int brightness = 0;    

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {
  pinMode(7, INPUT);     
  pinMode(8, INPUT);   
  pinMode(6, INPUT);
  lcd.begin(16, 2);
  lcd.print("Luci presepe by");
  lcd.setCursor(0, 1);
  lcd.print("Cesare Cacitti  ");
  delay(5000);
}

void loop() {
  lcd.setCursor(0, 0);
  lcd.clear();
  lcd.print("Giorno:");
  lcd.print(a);
  lcd.setCursor(0, 1);
  lcd.print("Notte:");
  lcd.print(b);

  delay(50);
  up = digitalRead(8);
  down = digitalRead(7);
  check = digitalRead(6);

  if (check == HIGH) {  

    if (up == HIGH) {  
      if (a<255) a++;
    }  

    if (down == HIGH) {  
      if (a>0) a--;
    }  

  }
}

Qualcuno sul forum ha scritto del codice per attivare le funzioni a seconda di quanto si tiene premuto il pulsante: pressione breve fai una cosa, pressione lunga fanne un'altra.
Non ricordo chi, ma se fai una ricerca forse esce qualcosa.

Invece di scrivere come in basic a=a+1; in C si può usare la sintassi a++; per incrementare o a--; per decrementare.
Esistono anche ++a; e --a;, ma è un'altro discorso. :stuck_out_tongue: