Bonjour,
je suis un débutant en en arduino, et j'ai réussi à modifier un programme trouvé sur le net pour mesurer des température avec une sonde ds18b20. Je souhaite faire s'afficher le temps de chaque acquisition (3s entre chaque mesure) devant la température. Est ce que vous pourriez me dire comment modifier ce programme pour que s'affiche "le temps - la température"
Merci d'avance à tous.
Patrice
[I]int i = 0;
#include <OneWire.h>
int DS18S20_Pin = 15;
OneWire ds(DS18S20_Pin); // Connecter la sonde sur l'entrée analogique A1
void setup(void) {
Serial.begin(9600);
Serial.println("CLEARSHEET"); // Initialisation de la feuille de calculs
//Création des 2 colonnes "Timer" and "temperature"
Serial.println("duree,Temperat ure1");
}
void loop(void) {
float temperature = getTemp();
//Serial.println(temperature);
Serial.println( (String) "duree" + temperature );
delay(3000); //Délais entre deux mesures en millisecondes
}
float getTemp(){
//Cette fonction sert à retourner la valeur mesurée par le capteur DS18S20 en degré Celsius
byte data[12];
byte addr[8];
if ( !ds.search(addr)) {
ds.reset_search();
return -1000;
}
if ( OneWire::crc8( addr, 7) != addr[7]) {
Serial.println("CRC is not valid!");
return -1000;
}
if ( addr[0] != 0x10 && addr[0] != 0x28) {
Serial.print("Device is not recognized");
return -1000;
}
ds.reset();
ds.select(addr);
ds.write(0x44,1);
byte present = ds.reset();
ds.select(addr);
ds.write(0xBE);
for (int i = 0; i < 9; i++) {
data = ds.read();
}
ds.reset_search();
byte MSB = data[1];
byte LSB = data[0];
float tempRead = ((MSB << 8) | LSB);
float TemperatureSum = tempRead / 16;
return TemperatureSum;
}
/*
* lire un unique capteur DS18B20 sur un bus 1-Wire.
*/
-----