Go Down

Topic: [RESOLU] Plage chauffage aquarium (Read 2002 times) previous topic - next topic

masterbalby

Jan 31, 2011, 01:13 pm Last Edit: Feb 01, 2011, 07:03 am by masterbalby Reason: 1
Bonjour à tous,
j'avais commencé sur l'ancien forum une discussion sur le moyen pour créer une plage de chauffage.
Je m'explique.

Je veux allumer le chauffage de mon aquarium à 24°
chauffer jusqu'à 26°
éteindre le chauffage
attendre que la température soit redescendue à 24° pour rallumer.

Jean-François m'a proposé ça :

Code: [Select]
if (temperature<=24){
ChauffePin=HIGH;
}

if (temperature>=26){
chauffePin=LOW;
}


le problème est que le chauffage se met à LOW à 25° et donc n'atteint jamais les 26°

Des idées ??

fdufnews

Le code est juste, il s'allume à 24°C et s'éteint à 26°C.

Maintenant tu peux avoir des mesures de température bruitées et donc lire brièvement 26 ou plus et donc arrêter le chauffage trop tôt.

Il faudrait sortir les mesures sur la console pour le vérifier.
Ensuite tu peux faire un filtrage simple en faisant la moyenne sur les dix (ou plus) dernières mesures pour lisser les résultats.

masterbalby

c'est ce que j'ai fait.
j'ai fait un lissage sur un relevé de 30 mesures et et je n'ai pas de pic de température de relevé sur la console.

Dans setup() je doit mettre ma sortie chauffage en LOW ou HIGH ou aucun des deux ??

fdufnews

#3
Jan 31, 2011, 02:03 pm Last Edit: Jan 31, 2011, 02:07 pm by fdufnews Reason: 1
Quote
Dans setup() je doit mettre ma sortie chauffage en LOW ou HIGH ou aucun des deux ??

C'est indifférent.
  Si tu initialise à HIGH et que la température est supérieure à 26°C au premier passage dans la boucle cela l'arrêtera
  Si tu initialise à HIGH et que la température est inférieure à 24°C au premier passage dans la boucle cela confirmera l'état
  Si tu initialise à LOW et que la température est supérieure à 26°C au premier passage dans la boucle cela confirmera l'état
  Si tu initialise à LOW et que la température est inférieure à 24°C au premier passage dans la boucle cela allumera le chauffage

Si tu ne mets rien la sortie sera dans l'état fixé par défaut à l'initialisation de l'arduino. Mais c'est toujours bien de savoir dans quel état on démarre donc il vaut mieux mettre un état.

Jean-François

Tu contrôle ta température de quelle manière ?
MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

churchill


chauffer jusqu'à 26°
Code: [Select]

if (temperature>=26){
chauffePin=LOW;
}


le problème est que le chauffage se met à LOW à 25° et donc n'atteint jamais les 26°

Des idées ??

C'est surement normal. Selon ton code, tu coupe à 26° pile (>=). Donc quand on passe de 25.99° à 26°, ça coupe.

churchill

masterbalby

tu as raison.
je pense que le sujet est clos

B@tto

Question substantielle : je pense que celle de Jean-François n'est pas anodine, suivant comment tu récupères ton résultat,  ça peut avoir de grosse conséquence, notamment si tu récupérer en integer, donc arrondie. Ainsi à 25.51°C (si je me trompe pas dans les arrondis de l'arduino) pour lui ça équivaut à 26°C ...
Blog électronique : http://battomicro.wordpress.com/
Photographie : www.interactive-celebration.fr

Go Up