Ba spas pour de suite car le bidule me fait des caprices:
J'ai choppé un code pour faire fonctionner ma sonde de température (signal non linéaire d'où le Log dans le prog): affichage sur l'ordi (sérial monitor du logiciel arduino) avec température cohérente (autour de 20°).
Code:
int a;
int del=1000; // duration between temperature readings
float temperature;
int B=3975;
float resistance;
void setup()
{
Serial.begin(9600);
}
void loop()
{
a=analogRead(A1);
resistance=(float)(1023-a)*10000/a;
temperature=1/(log(resistance/10000)/B+1/298.15)-273.15;
delay(del);
Serial.println(temperature);
}
Je reprends le même code mais adapté à mon afficheur et la il m'affiche n'importe quoi: soit 64°, soit il va dans le négatif (et de plus en plus froid quand je mets le capteur dans la main...)
//Lecture de la temperature avec Afficheur LCD.
#include
LiquidCrystal lcd(10, 11, 12, 13, 14, 15, 16);
int a;
int del=1000; // duration between temperature readings
float temperature;
int B=3975;
float resistance;
void setup()
{
lcd.begin(16, 2);
}
void loop()
{
a=analogRead(A1);
resistance=(float)(1023-a)*10000/a;
temperature=1/(log(resistance/10000)/B+1/298.15)-273.15;
delay(del);
lcd.print(temperature);
}