KY-028, convertir tension en degrè

Bonjour à tous,

Je reviens avec un autre capteur de température ( voir post " DHT11 ") car j'avais des problemes pour afficher les valeurs de ce dernier.

Donc ici je suis avec un capteur KY-028, je voudrais pouvoir convertir la tension en degré C°.

Pour l'instant je suis avec le traceur série, j'ai bien les données, mais pour réaliser quelque chose de bien plus lisible j'aurais besoin de vous.

void setup() {

Serial.begin(9600);
}

void loop() {
int sensorValue= analogRead(A0);
Serial.println(sensorValue);
delay(100);
}

Bonjour
Le captreur de température est içi une thermistance.
La relation entre résistance et température n'est pas linéaire (pour info : cf relation de Steinhart Hart)

Pour effectuer cette conversion il faudrait connaitre au moins deux parametres de la thermistance utilisée : résistance à 25°C et coefficient B.

Il est sans doute possible de s'inspirer du capteur KY-13 ave son exemple de conversion en °C

On dirait que ce capteur ne fait que détecter un dépassement de seuil de température, et ne mesure pas directement de température

J'ai modifié mon code précédent pour obtenir deux valeurs ( tension & réelle ). Mais je ne vois toujours comment réaliser la conversion ...

int analogCapteur = A0;

void setup() {
pinMode (analogCapteur, INPUT);
Serial.begin(9600);
}

void loop() {
  float Analog;

Analog = analogRead(analogCapteur)*(5.0/1023.0); //valeur convertie en tension

int sensorValue= analogRead(analogCapteur); //valeur reélles du capteur

Serial.print("Tension : "); Serial.print(Analog,4); Serial.println("V");

Serial.print ("Valeur analogue :"); Serial.println(sensorValue);
delay(2000);
}

Tension : 1.2072V
Valeur analogue :248
Tension : 1.0557V
Valeur analogue :217
Tension : 0.9677V
Valeur analogue :198
Tension : 0.9384V
Valeur analogue :193
Tension : 0.9238V
Valeur analogue :189
Tension : 0.9189V
Valeur analogue :188
Tension : 0.9140V
Valeur analogue :187
Tension : 0.9042V
Valeur analogue :186
Tension : 0.9091V
Valeur analogue :185
Tension : 0.9042V
Valeur analogue :184
Tension : 0.8993V

as-tu vu ma réponse ?
@lesept : la sortie analogique de ce capteur est sans doute utilisable pour faire la conversion en °C

al1fch:
as-tu vu ma réponse ?
@lesept : la sortie analogique de ce capteur est sans doute utilisable pour faire la conversion en °C

Les messages ont du se croiser, je vais voir ça de suite.

Après modification de mon code. Je ne parviens toujours pas à avoir une bonne valeur.

#include <math.h>
int analogCapteur = A0;

double Thermistor(int RawADC){
    double Temp;
    Temp = log(10000.0 * ((1024.0 / RawADC - 1)));
    Temp = 1 / (0.001129148 + (0.000234125 + (0.0000000876741 * Temp * Temp )) * Temp );
    //Temp = Temp - 273.15;            // conversion de degrés Kelvin en °C
    return Temp;
}

void setup() {
//pinMode (analogCapteur, INPUT);
Serial.begin(9600);
}

void loop() {
float Analog;
int readVal = analogRead(analogCapteur);
double temp =  Thermistor(readVal);

Analog = analogRead(analogCapteur)*(5.0/1023.0); //valeur convertie en tension
int sensorValue= analogRead(analogCapteur); //valeur reélles du capteur

// Sortie vers l'interface série
    Serial.print("La temperature actuelle est:");
    Serial.print(temp); Serial.println(" C°");Serial.println("---------------------------------------");
    
    Serial.print("Tension : "); Serial.print(Analog,4); Serial.println("V");
    Serial.print ("Valeur analogue :"); Serial.println(sensorValue);
delay(1000);
}

Tension : 1.0753V
Valeur analogue :220
La temperature actuelle est:270.96 C°

normal, avec ton code tu as la température en Kelvin, pas en degrés Celsius!
la ligne de conversion en °C est commentée, donc neutralisée

//Temp = Temp - 273.15;            // conversion de degrés Kelvin en °C

Dans le lien que j'ai donné (vers le capteur KY-13) la ligne de conversion en °C n'est pas commentée d'ou la conversion finale !!

Autant pour moi, j'ai voulu faire une manip et je n'ai pas remis le code hors commentaire.
Donc après cette petite erreur, j'ai envoyé dans le controleur, quand je place mon doigt sur la capteur, voilà ce que j'ai et en température ambiant (air) je suis à +/- 20C° mais le moniteur affiche 0.41

Tension : 0.9091V
Valeur analogue :185
La temperature actuelle est:-6.43 C°

Tension : 1.1926V
Valeur analogue :244
La temperature actuelle est:0.41 C°

la thermistance de ton KY-028 n'est sans doute pas le même que celle des KY-13
Pour avoir une valeur de température correcte il faut que les coefficients A et B du code correspondent au composant

Il y a un lien vers un code pour la partie analogique dans mon message précédent. Je ne peux pas le voir, je suis au supermarché...

lesept:
Il y a un lien vers un code pour la partie analogique dans mon message précédent. Je ne peux pas le voir, je suis au supermarché...

Oui, c'est la partie pour convertir ce qui rentre en Tension.

al1fch:
la thermistance de ton KY-028 n'est sans doute pas le même que celle des KY-13
Pour avoir une valeur de température correcte il faut que les coefficients A et B du code correspondent au composant

Voici un lien vers un site qui explique comment calculer les coefficients (il faut un multimètre)