Bonjour à tous,
Je suis newbee sur Arduino, j'essaie depuis des heures à afficher le point des décimales de ma température relevée sur un afficheur 7 segments 1637 sans succès.
Une bonne âme pourrait-il m'aider?
Mon code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
 
#include <TM1637Display.h>
#include <DHT.h>
#include <Wire.h>
#define DHTPIN 7
 
#define CLK 2
#define DIO 3
#define DHTTYPE DHT22   // DHT 22 
                                                              // PIN connectée au D7 de l'Arduino
 
TM1637Display display(CLK, DIO);
DHT dht(DHTPIN, DHTTYPE);                                                     // Initialisation Sensor DHT pour un Arduino 16mhz 
// Create degree Celsius symbol:
const uint8_t degre[] = {
  SEG_A | SEG_B | SEG_F | SEG_G  // Circle
  };
const uint8_t point[] = {
  SEG_DP   // Point
  };
 
void setup() {
  display.setBrightness(7); 
  Wire.begin();
  dht.begin();
  Serial.begin(9600);
 
  delay(1500); // Delay to let the system boot
}
 
void displayTemp()
    {                                                                                // La lecture de la température ou de l'humidité prend  entre
                                                                                // +/- 250 millisecondes et 2 secondes. 
                                                                                // Ce sensor est très lent
      float h = dht.readHumidity();                                             // Lecture du taux d'humidité sur le sensor
      float t = dht.readTemperature();                                          // Lecture de la température en Celsius
      float f = dht.readTemperature(true);                                      // Lecture de la température en Fahrenheit
      if (isnan(h) || isnan(t) || isnan(f)) 
        {                                                                       // Vérification que toutes les données ont bien été lue
          Serial.println("La lecture du données DHT a échoué ! ");              // Affichage d'un message dans le moniteur série
          return;
        }
                                                                              // Calcul de la température ressentie en se basant sur la température 
                                                                                // en Fahrenheit et le taux d'humidité.
      float hi = dht.computeHeatIndex(f, h);                                    // Affichage sur moniteur série
      Serial.print("Hum: ");                                                    // Taux d'humidité 
      Serial.print(h);
      Serial.print(" %\t");                                                     // en %
      Serial.print("Temperature: ");                                            // Température
      Serial.print(t);
      Serial.print("°C ");                                                      // en °Celsius
      Serial.print(f);
      Serial.print(" *F\t");                                                    // en °Fahrenheit
      Serial.print("Temp ressentie: ");                                         // Température ressentie  
      Serial.print(hi);
      Serial.println(" *F");                                                    // en °Fahrenheit
      display.clear();
 
 
 
 
      display.showNumberDecEx(t*10,(0x80 >> 3),false,3);
 
      display.setSegments(degre,1,3);
 
 
      delay(2000);                                                              // On garde l'affichage pendant 2 secondes pour permettre la lecture
    }
void loop() {
  displayTemp();
    delay(1000);
  }
d'avance merci