Carolyne:
- Si j'ai 10 variables: a1, a2, a3....a10; y'a t-il moyen de les déclarer dans une boucle, ou aura t-on toujours 10 lignes de déclaration ?
byte a0, a1, a2, (...), a9; // déclare 10 variables de type byte (en informatique, on aime bien commencer par 0)
byte b[10]; // déclare un tableau de 10 variables de type byte, accessibles par b[0], b[1], b[2], (...), b[3] (d'où l'idée de commencer par 0)
Carolyne:
- j'ai un doute sur la syntaxe des strings, la doc de ref dit: string constant (ends with °\0°) "abc: : : de"
mais: "abc...z°\0°" ?; ou: "abc...z"°\0° ?; ou: "abc...z" tout sec ?; qui ne serait pas plus mal. (°\0°<--wtf?-->0°C? Lol!)
je ne suis pas un champion du string, mais pas un mou du slip non plus. en fait, la chaine de caractère se termine par le caractère nul (code 00 ). donc :
string s = "abcd"; // occupe 5 octets car on rajoute implicitement le caractère nul à la fin
byte b[5] = {97, 98, 99, 100, 0}; // b = s. ces deux déclas sont équivalentes, mais ne seront pas traités pareil...
char c = s[2]; // on met dans c le caractère à la position 2 dans s : c = 'c'
char c1 = b[2]; // étonnament, on a le droit de faire ça
if (c == c1) youpi(); // et la fonction youpi() sera appelée, car l'égalité est vérifiée!
arrêtez-moi si je me trompe.
Carolyne:
- Peut-on stocker les états des digitalPin dans une string ?
oui, mais c'est dommage, car ça va en bouffer de la mémoire!
Carolyne:
- Est-ce que: "atoi(s)"; c'est le val(string) du basic ?
jamais utilisé, désolé... http://www.cplusplus.com/reference/cstdlib/atoi/ cela semble être la même chose que val()
Carolyne:
- Si oui, que me renverra à-moi: atoi(00101...) ?
ben je dirais que ça va rien renvoyer du tout, car atoi() attend un string en paramèrte, là, tu lui donnes une valeur numérique...
int i = atoi("00101"); // i = 101 en décimal
Carolyne:
- Si rien; y'a t-il quelque chose de prévu pour avoir l'état des digitalPin en décimal ?

digitalRead() renvoie une valeur décimale : 0 ou 1 (false ou true, LOW ou HIGH). le mieux, est d'utiliser le type booléen, car c'est fait pour :
boolean b5 = digitalRead(5); // b5 contient maintenant l'état de la pin 5 (donc true ou false).
si tu veux faire encore plus fort, stocke l'état de 8 pins dans un seul octet!!! (un boolean occupe aussi un octet en mémoire)
byte pins[8] = {0, 1, 3, 6, 12, 4, A3, 13}; // déclare les 8 pins à lire
byte etatPins; // contient l'état des 8 pins
boolean b5 = digitalRead(5); // b5 contient maintenant l'état de la pin 5 (donc true ou false).
void setup(){
for(byte i=0; i<8; i++) pinMode(pins[i], INPUT); // met les 8 pins en entrée
}
void loop(){
etatPins = 0; // initialise la variable
for(byte i=0; i<8; i++) etatPins |= digitalRead(pins[i]) << i; // lit les 8 pins et les range dans la variable
// ayé, on a sauvegardé l'état des 8 pins dans etatPins.
if (etatPins & (1 << 3)) { // on teste la valeur sauvegardée de la 3ième pin du tableau pins[], soit la 6
// faire ce qu'on a à faire si la pin 6 était à HIGH
} else {
// sinon, faire ce qu'on a à faire si elle était à LOW.
}
}
J'avoue que je tappe très haut sur ce coup là, à l'occasion, regarde ce qu'il se passe là-dedans, ça nous fera des vacances XD ]

Carolyne:
- Si non.... Snif...Où sont rangés les mouchoirs ?
tu as utilisé le dernier hier soir.