Programme pour un on/off avec un bouton poussoir

Bonjour, j'aimerais savoir si on peut rendre ce programme plus propre? (plus simple…). Est ce qu'il est correct?
Merciiiii

/* Ce programme fait clignoter une LED branchée sur la sortie digitale 8
• en fonction de l'intensité lumineuse détectée par le capteur photo-électrique connecté sur le port analogique A0
• */

int capteur1=0 ; // Déclaration variable capteur1 et affectation de la sortie 0
int led1=8 ; // Définition de la valeur 8 et du nom de la broche (led1) à utiliser
int lum1=0 ; // Déclaration variable lum1 identifiant la valeur de la luminosité
int but1=4; // Déclaration bouton
int etatBut=0; // Variable état après
int LastetatBut=0; // Variable état avant
int var=0;

void setup()
{
pinMode(led1,OUTPUT) ; //configure D8 comme une sortie
pinMode(but1,INPUT); //configure D4 comme entrée
}

void loop()
{
etatBut=digitalRead(but1); //Lecture de l'état du bouton
if (etatBut!=LastetatBut) //Comparaison avec l'état avant
{ if (etatBut==HIGH) // Si différent et bouton à 1 (front montant)
{ var++; // On incrémente la variable var
}
else
{
}
}

etatBut=LastetatBut; //On mémorise l'état de la variable
delay(300); //Tempo de 300ms
{
funct(); //On lance la fonction funct
}
}

void funct() //Fonction principale
{
if (var==0) //On ne fait rien si var est à 0
{
}

if (var==1) //On réalise une tâche si var=1 soit un appui

{
lum1=analogRead(capteur1) ; //Lire la valeur sur capteur1
digitalWrite(led1,HIGH); //Allumer led1
delay(lum1); //Attente d'une durée égale à la valeur lum1 en millisecondes
digitalWrite(led1,LOW); //Met la sortie digitale à l’état bas (led éteinte)
delay(lum1);
}

if (var==2) //si var=2 cela signifie que l'on a appuyé une deuxième fois donc fin
{
delay(300);
var=0; //on réinitialise la variable var
delay(300);
}
}

Personne pour me conseiller? merci

çà donne quoi à la compilation ?

schema du hardware ?

pour brancher une ldr sur une entree adc : Using a Photocell | Photocells | Adafruit Learning System

goo est ton ami