bonjours à toutes et à tous,
pour éviter une chuffe ou une surchauffe du dht22, j' ai placé sur son alimentation un transistor piloté par la broche 7 de l' arduino.
j' essaie de créer une (ou deux) fonction(s) qui, allume le dht22,attend deux secondes ( selon la librairie ), qui interroge et renvoi(ent) les valeurs d' humidité et de température en degré celsius, puis coupe l' alimentation du dht22.
voici un exemple de ce que j' essaie de faire:
voici les erreurs de compilation:
visiblement, le compilateur ne veut pas que j' affecte la valeur récupérer par la fonction dht.readtemperature(); ( qui est en float)
en fait, je dirais même que le compilateur ne veut pas que j' utilise les "objets" ( ou je ne sais quoi ) comme "now.year"(lib du ds1307), "dht.readhumidity".
j' ai essayé de mettre ces "objets" dans les paramètres de ma fonction:
voici le retour du compilateur:
si vous avez des idées... n' hésitez pas
pour éviter une chuffe ou une surchauffe du dht22, j' ai placé sur son alimentation un transistor piloté par la broche 7 de l' arduino.
j' essaie de créer une (ou deux) fonction(s) qui, allume le dht22,attend deux secondes ( selon la librairie ), qui interroge et renvoi(ent) les valeurs d' humidité et de température en degré celsius, puis coupe l' alimentation du dht22.
voici un exemple de ce que j' essaie de faire:
code: [select]
float gettp()
{
int dhtonoff = 7;
digitalwrite(dhtonoff,high);
delay(2000);
dht.begin();
gettp = dht.readtemperature();
digitalwrite(dhtonoff,low);
}
voici les erreurs de compilation:
code: [select]
minicontroleurclimat.ino: in function 'float gettp()':
minicontroleurclimat:102: error: assignment of function 'float gettp()'
minicontroleurclimat:102: error: cannot convert 'float' 'float ()()' in assignment
minicontroleurclimat.ino:104: warning: no return statement in function returning non-void
minicontroleurclimat.ino: in function 'float gethm()':
minicontroleurclimat.ino:108: warning: no return statement in function returning non-void
visiblement, le compilateur ne veut pas que j' affecte la valeur récupérer par la fonction dht.readtemperature(); ( qui est en float)
en fait, je dirais même que le compilateur ne veut pas que j' utilise les "objets" ( ou je ne sais quoi ) comme "now.year"(lib du ds1307), "dht.readhumidity".
j' ai essayé de mettre ces "objets" dans les paramètres de ma fonction:
code: [select]
float gettp(dht.readtemperature())
{
int dhtonoff = 7;
digitalwrite(dhtonoff,high);
delay(2000);
dht.begin();
gettp = dht.readtemperature();
digitalwrite(dhtonoff,low);
}
voici le retour du compilateur:
code: [select]
minicontroleurclimat:97: error: expected ',' or ';' before '{' token
minicontroleurclimat.ino: in function 'float gethm()':
minicontroleurclimat.ino:108: warning: no return statement in function returning non-void
si vous avez des idées... n' hésitez pas
oui c'est normal, ici tu dois programmer en c....
les messages d'erreur de compilation me semblent assez parlants (dans chaque message, il y le numéro de ligne à laquelle il fait référence dans le code source).
si je reprends ton premier code :
gettp = dht.readtemperature();
gettp est le nom de ta fonction.
cette tentative d'affectation est refusée par le compilo.
tu devrais accorder un peu de temps à un tuto qui explique les premiers pas avec les fonctions en c
les messages d'erreur de compilation me semblent assez parlants (dans chaque message, il y le numéro de ligne à laquelle il fait référence dans le code source).
si je reprends ton premier code :
gettp = dht.readtemperature();
gettp est le nom de ta fonction.
cette tentative d'affectation est refusée par le compilo.
code: [select]
float gettp()
{
int dhtonoff = 7;
float valeurlue;
digitalwrite(dhtonoff,high);
delay(2000);
dht.begin();
valeurlue = dht.readtemperature();
digitalwrite(dhtonoff,low);
return valeurlue;
}
tu devrais accorder un peu de temps à un tuto qui explique les premiers pas avec les fonctions en c
Arduino Forum > International > Français (Moderators: jfs, Snootlab) > [DHT22] Créer une fonction qui renvoie un ou deux float ( si possible )
arduino
Comments
Post a Comment