J'aurais aimé connaître la façon de récupérer une température (le code du sketch). J'en ai vu plusieurs sur le Net, mais ne sait pas trop laquelle choisir.
Si l'encapsulage est correct elle est étanche (par contre elle n'est pas numérique mais analogique !)
Pour ce qui est de la méthode , étant donné que tu connais :
-A, la résistance à 25°C = 10K Ohm
-le coefficient B = 3950
Tu pourrais appliquer la relation de Steinhart-Hart (LA méthode !) avec ces deux coefficients A et B et négliger le coefficient C. Quand on ne connait pas B on se rabat sur d'autres méthodes plus approximatives mais là, avec une thermistance à 1% et la valeur de B il serait dommage de passer à côté de la bonne formule.
Içi un exemple d'application avec un code ou tu introduis :la valeur de la thermistance (résistance à 25°C) , le coefficient B, et la valeur de la résistance mise en série
OK merci beaucoup pour ces précisions
Je débute alors je tâtonne, mais c'est très intéressant
Je reviens vers à réception si je rencontre des problèmes
En plus, la carte qui dispatche les 2 fils arrivant de la sonde en 3 fils possède déjà une résistance non ? Donc je n'ai pas besoin de R de 10K, ou est ce que je me trompe ?
tu as acheté une thermistance + un boitier d'adaptation qui contient une résistance (1 K Ohm sur la photo)
Il suffit de relier le boitier d'adaptation (côté 3 fils) au 5V , à la masse , et une entrée analogique
le vendeur donne quelques informations sur la thermistance
Valeur à 25°C : 10 kOhm (R25)
Coefficient B (ou beta) permet de calculer la résistance à une valeurs différente de 25°C
Tension ; jusqu'à 12V , donc pas de souci pour +5V
Il existe plusieurs méthodes pour exploiter une thermistance et déduire la température de sa valeur
Vu qu'il s'agit d'une température d'aquarium pas besoin de se prendre la tête avec la 'Relation de Steinhart-Hart' et ses 3 coefficients inconnus.
Cette méthode serait à utiliser s'il s'agissait de mesurer des températures sur une grande plage , -50°C à +50°C par exemple.... Avec un aquarium les températures resteront dans une plage réduite
Tu devrais avoir, dans ton cas, de bons résultats avec la méthode plus simple utilisant :
R25 : 10 kOhm
B (ou Beta) = 3950 Kelvin
Cool, je ne me suis pas trompé pour la résistance
Enfin un bon point.
J'ai plongé la sonde dans un verre d'eau (environ 15/18 degrés)
Branché le + sur le +, la masse à la masse et le signal sur A0
// which analog pin to connect
#define THERMISTORPIN A0
// resistance at 25 degrees C
#define THERMISTORNOMINAL 10000
// temp. for nominal resistance (almost always 25 C)
#define TEMPERATURENOMINAL 25
// how many samples to take and average, more takes longer
// but is more 'smooth'
#define NUMSAMPLES 5
// The beta coefficient of the thermistor (usually 3000-4000)
#define BCOEFFICIENT 3950
// the value of the 'other' resistor
#define SERIESRESISTOR 10000
uint16_t samples[NUMSAMPLES];
void setup(void) {
Serial.begin(9600);
analogReference(EXTERNAL);
}
void loop(void) {
uint8_t i;
float average;
// take N samples in a row, with a slight delay
for (i=0; i< NUMSAMPLES; i++) {
samples[i] = analogRead(THERMISTORPIN);
delay(10);
}
// average all the samples out
average = 0;
for (i=0; i< NUMSAMPLES; i++) {
average += samples[i];
}
average /= NUMSAMPLES;
Serial.print("Average analog reading ");
Serial.println(average);
// convert the value to resistance
average = 1023 / average - 1;
average = SERIESRESISTOR / average;
Serial.print("Thermistor resistance ");
Serial.println(average);
float steinhart;
steinhart = average / THERMISTORNOMINAL; // (R/Ro)
steinhart = log(steinhart); // ln(R/Ro)
steinhart /= BCOEFFICIENT; // 1/B * ln(R/Ro)
steinhart += 1.0 / (TEMPERATURENOMINAL + 273.15); // + (1/To)
steinhart = 1.0 / steinhart; // Invert
steinhart -= 273.15; // convert to C
Serial.print("Temperature ");
Serial.print(steinhart);
Serial.println(" *C");
delay(1000);
}
Et j'ai en retour une temp de -273 degré !!
Temperature -273.15 *C
Average analog reading 1023.00
Thermistor resistance inf
Temperature -273.15 *C
Average analog reading 1023.00
Thermistor resistance inf
Temperature -273.15 *C
Average analog reading 1023.00
Thermistor resistance inf
Temperature -273.15 *C
Average analog reading 1023.00
Thermistor resistance inf
Temperature -273.15 *C
avant de dire 'hic' il faut adapter le code à tes valeurs.....
R0 = 10000 (c'est le R25), OK
B = 3950 , OK
mais la résistance série (R1 sur l'adaptateur) semble être pour toi 1000 et non 10000 (sur le photo on voir le marquage 101 sur la résistance : 1 0 et 2 zéros (=1000)
// which analog pin to connect
#define THERMISTORPIN A5
// resistance at 25 degrees C
#define THERMISTORNOMINAL 10000
// temp. for nominal resistance (almost always 25 C)
#define TEMPERATURENOMINAL 25
// how many samples to take and average, more takes longer
// but is more 'smooth'
#define NUMSAMPLES 5
// The beta coefficient of the thermistor (usually 3000-4000)
#define BCOEFFICIENT 3950
// the value of the 'other' resistor
#define SERIESRESISTOR 1000
Et surtout j'ai commenté
// analogReference(EXTERNAL);
Les valeurs semblent mieux adaptées.
Un grand merci pour l'aide, désolé, si ça à l'air simple pour les pros mais pas évident pour un novice
C'est cela qui me manque, les bases pour avoir une vision globale
Elle est excellente cette blague.
Je te signale qui si tu avais lu le message en tête de forum : "Règles du forum francophone" tu y aurai lu qu'on demande aux débutants de lire le tuto d'Eskimon qui explique tout pour bien débuter avec arduino et on donne même le lien vers le tuto.
Tant que j'y suis : en haut à droite de la page écran il y a une icône en forme de loupe et bien c'est le moteur de recherche du forum, et cerise sur le gâteau les premières réponse sont en français.
Bah, voir le bon côté de l'histoire ça t'as faire marrer....
Méa Culpa : je suis désolé , mais j'ai lu la doc (et pas que celle là), le hic c'est de l'assimiler... et y retrouver les infos nécessaires en temps voulu.
Pour ma défense, je découvre ce monde depuis début janvier, j'ai imprimé plein de doc, potassé plein de trucs mais je n'ai jamais fait à la base d'électronique et / ou d'électricité. Je n'ai pas une bourse à mourir et peu de temps libre donc j'achète chez ali, c'est moins cher mais bon la doc , ce n'est pas ça... Mais je passe plein de temps avant l'achat pour être sûr qu'il fonctionnera sans trop de problème pour ne pas embêter le monde comme en ce moment.
Pour ce coup là, la valeur à voir, fallait le savoir !! C'est pas de plus évident.
Donc un grand merci à ceux qui m'ont aiguillé sans me foutre de coups de pieds au cXX et merci également aux autres pour m'indiquer la voix même si c'est pas toujours de la façon la plus sympathique. Je vous comprends, vous devez sans doute répéter souvent les mêmes choses. j'ai donc lu plein de docs, mais mettez vous du coté des débutants : assommés par le nombre de pages web, de docs qui correspondent plus ou moins à notre matériel, de nouveau vocabulaire à acquérir, de nouvelles conceptions, etc... Donc c'est faux de croire que je n'ai pas cherché à comprendre et fais l'effort de faire des recherches. Ce monde étant nouveau, je les ai mal faites, c'est tout. Ou mal comprises...
Pour conclure, vous avez le savoir, et sachez qu'en aidant un peu, comme ici le coup de la valeur sur la photo, vous débloquez des personnes sur des situations qui a vos yeux semblent hyper simples mais aux notres non...
Ensuite rien ne vous oblige à répondre à des posts qui vous semblent trop simplistes... Ou si mes demandes vous semblent réellement être celles d'un faineant demeuré, j'en suis désolé, mais c'est loin d'être le cas.
Si on a pris la peine d'écrire ce message et de recommander CE tuto en particulier c'est bien pour faciliter la tache des débutants et leur éviter de se perdre dans de la doc qui n'est pas toujours juste. Et cela nous fait mal de voir des débutants ne pas profiter de ce conseil parce qu'il n'ont pas lu les règles du forum.
Eskimon est un très bon pédagogue, Franchement son tuto est le meilleur qui existe pour débuter, il est en français et donne une très bonne initiation tant en programmation qu'en électronique.
Que demander de plus ?
Bonne lecture et tu verra que cela ira bien mieux après.