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:
d'avance merci
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); }
Partager