Bonsoir,
J'ai déjà posté récemment sur le forum pour poser une question bien spécifique, j'ai finalement résolu mon soucis personnellement mais là n'est pas la question.
J'ai travailler sur mon code ce soir mais celui ci réagi étrangement,
parfois lors que j'imprime une chaine de caractère, celui ci apparaît étrangement avec des caractères spéciaux non demandé.
Le programme à même fonctionné en boucle dans mon setup (ce n'est pas le code actuelle), je crois que tout est lié à ce que j'imprime dans le moniteur...
Je ne comprend pas du tout ce qu'il ce passe, j'ai modifié mon code à plusieurs reprise, ce qui lui donne désormais une forme assez étrange, je me suis dis que quelqu'un de la communauté comprendra sûrement mon soucis.
je précise que je ne suis qu'un amateur pour l'instant et je m'excuse d'avance, car l'erreur doit sûrement être simple mais je ne vois vraiment pas
Merci d'avance pour votre aide !
int pinPR=A0; // Pin connecte la photoresistance
boolean remplissage; // variable qui est true si les donnees ne sont pas tout recu
boolean traitement; //variable qui est false tant que les donnees n'ont pas toute etaient recu ou si elle ont toute etait traite
boolean verification;
int valeurMin;
int ligne;
int valeurMax;
int compTest;
void setup() {
Serial.begin(9600);
}
void loop()
{
delay(20);
valeurMin = analogRead(pinPR); // on mesure la valeur min (quand la led est eteinte)
Serial.print("la valeur min est : ");
Serial.println(valeurMin); // on l'affiche pour vérifier que la mesure a été prise correctement
delay(80); // on laisse le temps à l'allumage de la Led
delay(20);
ligne=0;
traitement = false;
verification = true;
remplissage = false;
if (verification)
{
compTest=0;
Serial.println("je suis dans verif");
while(compTest<8){
int testV = analogRead(pinPR);
if (testV > valeurMin + 15)
{
compTest= compTest + 1;
Serial.println("je verifie la condition");
Serial.println("comptest = ");
Serial.println(compTest);
delay(100);
}
else
{
compTest == 0;
}
}
Serial.println("les donnees sont en cours d'envoi..");
verification = false;
remplissage = true;
valeurMax = analogRead(pinPR); // on mesure la valeur max (quand la led est allumee)
Serial.print("la valeur max est : ");
Serial.println(valeurMax); // on l'affiche pour vérifier que la mesure a été prise correctement
delay(80);
delay(200);
}
if(remplissage)
{
char codeRecu[1000][8];
for (int i = 0; i<8;i++)
{
int valeur = analogRead(pinPR);
int pourcentage = map(valeur,valeurMin,valeurMax,0,100);
if (pourcentage>60)
{
codeRecu[ligne][i]='1';
}
else
{
codeRecu[ligne][i]='0';
}
}
if(codeRecu[ligne][7]=='0')
{
remplissage = false;
traitement = true;
}
else
{
ligne++;
}
delay(0.0000186);
if (traitement)
{
for(int i=0; i < ligne + 1 ; i++)
{
char lettre = 'B' + codeRecu[i][0] + codeRecu[i][1] + codeRecu[i][2] + codeRecu[i][3] + codeRecu[i][4] + codeRecu[i][5] + codeRecu[i][6];
Serial.print(lettre);
}
traitement=false;
verification = true;
remplissage = false;
}
}
}
affichage dans le moniteur:
https://raw.githubusercontent.com/swanono/TIPE/master/code_recepteur/affichage%20moniteur%20recepteur.png
mon branchement:
https://raw.githubusercontent.com/swanono/TIPE/master/code_recepteur/recepteur.png
vous pouvez voir mon github si vous voulez le tout, pour l'instant je n'ai pas reposté le nouveau code du transmetteur, et il est possible que le code du récepteur soit différent:
https://github.com/swanono/TIPE