Quand je compile mon programme qui me servira à la régulation de la température de mon aquarium voici ce que j'obtiens : error: ISO C++ forbids comparison between pointer and integer
c'est au niveau du test inclu dans la boucle while (en gras) de ce programme :
Oups, je n'arrive pas à le faire fonctionner, j'ai voulu prendre des morceaux de programme à droite à gauche et ça ne fonctionne pas.
Pour faire des tests, j'aimerais rentrer une valeur au clavier et l'afficher sur le moniteur de série en direct. Où pourrais-je trouver un programme tout simple qui me permettrait de bien comprendre ?
Merci.
(car pour l'instant, quand j'écris un nombre, ça me met le nombre de chiffre en zéros l'un au dessus de l'autre. par exemple si j'écris 10, le moniteur série affiche :
0
0
si j'écris 35065, il affiche :
0
0
0
0
0
....... je trouve ça assez incompréhensible )
Oui j'ai bien compris que ça ne marche pas le copier collé ^^
Ok, je test ça tout de suite ! et je vais peut-être revenir avec des questions
Merci
Ça fonctionne très bien ces deux lignes dis donc merci, j'avais cherché dans les références, mais je n'avais pas vu cette fonction.
Et je vois comment refaire mon programme pour l'instant !
Car pour l'instant ces simples lignes enregistre un entier et l'affiche pendant le temps d'une boucle. J'aimerais que la valeur soit stockée et que ça ne retourne pas à zéro à chaque fois, sinon pour chauffer un aquarium ça va être très laborieux de rentrer la valeur désirée à chaque fin de boucle ^^
Vous comprenez le souci ? J'imaginais faire une boucle avec une condition du genre "tant que machin différent de zéro, lancer chauffage"... mais au final la valeur "valeur" retournera à zéro dès la fin de la boucle
C'est bon j'ai trouvé une manière de contourner ce problème
int temp = 0;
void setup() { Serial.begin(9600);
}
void loop() {
int valeur = Serial.parseInt(); // Magie
if (valeur > 1){
temp = valeur;
}
if (valeur == 1){
temp = 0;
} Serial.println("Enter the desired temperature"); Serial.println(temp); Serial.println("to stop heatting please press 1");
}
Tu est sûr d'avoir configuré ton moniteur série correctement ? (115200 bauds + fin de ligne en "newline")
Pour le "static" je veut bien émettre un doute sur son bon fonctionnement (initialisation avec la sortie d'une fonction) par contre pour la boucle + variable globale ça devrait marcher ...
Maestro14000:
J'ai une question sur le Serial.parseInt, est-ce que ca donne toujours un délai de une seconde ?
Je n'ai pas trouvé dans la documentation....
Ça attend indéfiniment jusqu'à ce que tu saisisses un nombre, de mémoire ya pas de timeout.