Conversion un chiffre en binaire à partir d'un bouton et un interrupteur

const int PinSync = 8; //entrée du bouton
const int PinRead = 9; // entrée de l'interrupteur
bool horloge; //Signal de synchronisation
bool bit_lu; //Le bit qui est leur
int chiffre_lu;
bool OS;
int compteur=0;

void setup() {
Serial.begin(9600);
pinMode(PinSync, INPUT);
pinMode(PinRead, INPUT);

}

void loop() {
horloge = digitalRead(PinSync);
//Remise à zero du One_shot
if (!horloge && OS){
OS =0 ;
}
//Lecture du bit si nous avons le coup d'horloge
if (horloge == HIGH and !OS) {
OS =1 ; //activation du OneShot pour lire bitqu'une seule fois
bit_lu = digitalRead(8);
Serial.print("bit lu: ");
Serial.println(bit_lu);
Serial.print("Compteur: ");
Serial.println(compteur);
bitWrite(bit_lu,1,0);
compteur = compteur +1; //pour avancer dans les bits de l'entier
//Afficher le chiffre lu à la fin
//On le place ici pour qu'il ne s'affiche qu'une
//seule fois après que le bouton a été enfoncé
if (compteur == 9){ //lorsque le compteur est à 8 (dernier bit) on afficher le chiffre lu)
Serial.print("le chiffre est: ");
Serial.println(chiffre_lu);
compteur =0
}
}
}