Bonjour à tous j'avais une petite question j'essaye de Prendre un chiffre d'un octet maximum et le convertir moi même en binaire. À l'aide d'un bouton et d'un interrupteur, envoyer chaque bit dans l' Arduino qui mémorisera chacun des bits. Une fois l'octet reçu, le chiffre à afficher dans le terminal voici mon code mais je bloque dans les partie surligner en jaune merci d'avance.
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 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
}
}
}
lire les recommandations listées dans "Les bonnes pratiques du Forum Francophone”, cela permettra à un plus grand nombre de pouvoir lire le code... Notament la partie La balise de code
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 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
}
}
}
Et pas la peine de faire un nouveau post. Tu peux reprendre l'édition du post dont la mise en page est mauvaise en cliquant sur la petite icone en forme de crayon en dessous du message.