Bonjour,
Je bosse sur un projet de boitier qui affiche une direction en fonction de la température (pas encore fini mais voilà le contexte)
En gros le problème c'est que j'aimerais arrondir les températures (en gros quand j'essaye ça m'affiche 24,71 au lieu de 25° pile) comment je pourrais faire ?
Merci d'avance
(Le code)
/*
Ce programme met en oeuvre un montage de type "flash" de 4 LED
*/
#define led1 2 // led1 branchée sur la broche 2
#define led2 3 // led2 branchée sur la broche 3
#define led3 4 // led3 branchée sur la broche 4
#define led4 5 // led4 branchée sur la broche 5
#define led5 6 // led5 branchée sur la broche 6
int capteur_temp = 0;
bool etat;
float temperature_max = 120;
void setup() // setup est déroulé une seule fois après la remise à zéro
{
pinMode(led1, OUTPUT); // la broche led1 (2) est initialisée en sortie
pinMode(led2, OUTPUT); // la broche led2 (3) est initialisée en sortie
pinMode(led3, OUTPUT); // la broche led3 (4) est initialisée en sortie
pinMode(led4, OUTPUT); // la broche led4 (5) est initialisée en sortie
pinMode(led5, OUTPUT);
Serial.begin(9600);
}
void loop() // loop est déroulé indéfiniment
{
delay(250);
digitalWrite(led1, HIGH); // allume la LED1
digitalWrite(led2, HIGH); // allume la LED2
digitalWrite(led3, HIGH); // allume la LED3
digitalWrite(led4, HIGH);
digitalWrite(led5, HIGH);
delay(100); // attente de 1/10 seconde
digitalWrite(led1, LOW); // éteint la LED1
digitalWrite(led2, LOW); // éteint la LED2
digitalWrite(led3, LOW); // éteint la LED3
digitalWrite(led4, LOW);
digitalWrite(led5, LOW);
delay(500); // attente de 1/2 seconde
// Lecture de l'entrée analogique
int reading = analogRead(capteur_temp);
// Conversion de la lecture d'entrée en tension
float volt = reading * 5.0;
volt = volt / 1024.0;
// Afficher la tension d'entrée
Serial.print(volt); Serial.println(" volts");
//Afficher la température
float temperature = (volt - 0.5) * 100; // Convertir la tension en temperature
Serial.print(temperature);
Serial.println(" degrees C");
delay (500);
}