Go Down

Topic: [Question] Possibilité de gerer un tableau en fonction d'un autre tableau ?  (Read 1 time) previous topic - next topic

kamill

J'ai jeté un coup d'oeil à ton programme, à première vue je ne vois pas pourquoi ça ne focntionnerait pas lorsqu'il y a moins de pins.
Qu'est ce qu'il se passe exactement?

alex34000

J'ai jeté un coup d'oeil à ton programme, à première vue je ne vois pas pourquoi ça ne fonctionnerait pas lorsqu'il y a moins de pins.
Qu'est ce qu'il se passe exactement?

bon, j'ai fais mes tests.. si j'enlève les ports un a un en partant de A11 jusqu'à me retrouver avec uniquement A0, ça fonctionne.

Si par contre j'enlève juste le port A4, ou A7 sans toucher aux autres, plus rien ne s'affiche. Nada, niet... Je trouve cela étrange car dans un sens sa fonctionne mais pas dans l'autre.


EDIT / Bon j'ai refais des test et cette fois ci cela fonctionne, j'en déduit donc que cela devais venir d'un problème de connexion ou de communication avec la carte. J'avais du mal brancher l'USB ou autre... M'enfin l'important c'est que cela marche !!! Merci beaucoup ! :)

alex34000

RE désolé pour le doublepost, mais j'ai de nouveau un soucis ^^'

Lors de l'affichage, j'aimerai afficher le numéro du port (A0, A1 etc).
Pour cela il faut que j'aille chercher dans mon tableau où il y a les ports.
Quand je met cette ligne :
Code: [Select]
    Serial.print(entree_anal[entree]);                         // Affiche la valeur de l'entrée
il est censé aller chercher la valeur du tableau dans la case N° = entree. or ça me met entre 54 et 65, pour des valeurs de "entree" = 0 à 12.... je ne comprend pas....

j'ai tester ceci :

Code: [Select]
    Serial.print("Input ");                           // Affiche "A"
    Serial.print(entree_anal[entree]);                         // Affiche la valeur de l'entrée
    Serial.print("\t entree =");
    Serial.println(entree);

Pour avoir les valeurs de "entree" et la valeur que le tableau me sort, et quand entree =0 j'ai la valeur du taleau = 54, entree =1 et tableau = 55, entree =3 et tableau 56 et ainsi de suite.. je m'y prend mal ?

kamill

C'est le numéro des entrées sur la carte arduino.
Si tu veux afficher l numéro d'entrée sour la forme 0 à 11, il faut que tu affiches entree
Code: [Select]
   Serial.print("Input ");                           // Affiche "A"
   Serial.print(entree);                         // Affiche la valeur de l'entrée
   Serial.print("\t entree =");
   Serial.println(entree_anal[entree]);

Par contre ça ne fonctionnera plus s'il y a un trou dans la table des entrées

alex34000

ah.. c'est justement ce que j'aimerais faire, afficher même s'il y a un trou.. par  exemple j'ai A0, A1, A2, A6, A7
et j'aimmerais que ça n'affiche pas les entrées non sélectionner et uniquement celles sélectionné.. il y a un moyen de faire ça ? je pensais à aller chercher ce qu'il y a dans le tableau "entree_anal" car en cellule 0 il y aurais A0, celleule 1, A1 etc ... mais comme tu l'a vue, ce que j'ai fais n'a pas fonctionner :/

kamill

Je pense que la numérotation des entrées doit être continue. Dans ce cas tu peux faire
Code: [Select]
  Serial.print("Input ");                           // Affiche "A"
  Serial.print(entree_anal[entree]-A0);      // affiche le numéro de l'entrée

alex34000

Un génie. j'etais justement en train d'expérimenter une soustraction sous forme de -0x(xx) avec un Serial.print(char(montableau[]-0x(xx)));  mais je n'avais pas encore trouver ^^'

à ce que tu à mit :
Code: [Select]
  Serial.print("Input ");                           // Affiche "A"
  Serial.print(entree_anal[entree]-A0);      // affiche le numéro de l'entrée
j'ai rajouter un "A" après le Input pour afficher le A (^^)

Merci en tout cas !

j'ai pas envie de trop t'embêter, mais tu t'y connais avec le shield Ethernet ?

kamill


alex34000

Dac je vais créer un nouveau post pour cela alors, merci pour tout en tout cas Kamill !! c'est vraiment sympa d'avoir passer autant de temps pour m'aider !

Go Up