Bonjour tout le monde,
J'essaie de simplifier ma fonction miseEnForme au travers d'une boucle mais je n'y arrive pas, voici mon code :
Cette fonction permet de mettre en forme un URL en ajoutant la valeur de mes capteurs dans l'url.
J'ai essayé avec une boucle for mais ca ne fonctionne pas car il faut exécuter la commande dtostrf à chaque iteration :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 void setup() { Serial.begin(9600); } float tempDHT = 12.2; float humDHT = 88.55; float poids = 50.55; char tempDHTchar[4]; char humDHTchar[5]; char poidschar[5]; char valeurs[8]=; //obligé de faire dtostrf à chaque ligne void miseEnForme() { const String args[4] = { "http://xxxxx.xxxxx.com?Temp=", "&Hum=", "&poids=" }; String result = ""; result += args[0]; dtostrf(tempDHT, 4, 2, tempDHTchar); result += tempDHTchar; result += args[1]; dtostrf(humDHT, 4, 2, humDHTchar); result += humDHTchar; result += args[2]; dtostrf(poids, 4, 2, poidschar); result += poidschar; Serial.println(result); Serial.println(); }
Auriez vous une idée par tout hasard ? car pour le moment je n'ai que 3 capteurs mais bientot j'en aurais bien plus .
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 //probléme car il faut faire un dtosrf à chaque fois void miseEnForme2() { const String args2[8] = { "http://xxxx.xxxx.com?Temp=", tempDHTchar, "&Hum=", humDHTchar, "&poids=", poidschar }; String result2 = ""; for (int i=0; i <= 6; i++){ Serial.print(args2[i]); } Serial.println(result2); Serial.println(); }
Merci pour votre aide![]()
Partager