{"id":1349,"date":"2025-02-19T10:48:39","date_gmt":"2025-02-19T15:48:39","guid":{"rendered":"http:\/\/ve2cuy.com\/420-1c4\/?page_id=1349"},"modified":"2025-02-24T13:36:58","modified_gmt":"2025-02-24T18:36:58","slug":"grove-module-humidite-et-temperature","status":"publish","type":"page","link":"https:\/\/ve2cuy.com\/420-1c4\/index.php\/grove-module-humidite-et-temperature\/","title":{"rendered":"SHT31 et TM1637"},"content":{"rendered":"\n<h1 class=\"wp-block-heading\">1 &#8211; Le module humidit\u00e9 et temp\u00e9rature &#8211; SHT31<\/h1>\n\n\n\n<p><strong><br>Grove &#8211; I2C High Accuracy Temp&amp;Humi Sensor (<a href=\"https:\/\/www.seeedstudio.com\/Grove-I2C-High-Accuracy-Temp-Humi-Sensor-SHT35.html\">SHT31<\/a>)<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" src=\"http:\/\/ve2cuy.com\/420-1c4\/wp-content\/uploads\/2021\/10\/Humidite-et-temperature-1024x768.jpg\" alt=\"\" class=\"wp-image-1350\" srcset=\"https:\/\/ve2cuy.com\/420-1c4\/wp-content\/uploads\/2021\/10\/Humidite-et-temperature-1024x768.jpg 1024w, https:\/\/ve2cuy.com\/420-1c4\/wp-content\/uploads\/2021\/10\/Humidite-et-temperature-300x225.jpg 300w, https:\/\/ve2cuy.com\/420-1c4\/wp-content\/uploads\/2021\/10\/Humidite-et-temperature-768x576.jpg 768w, https:\/\/ve2cuy.com\/420-1c4\/wp-content\/uploads\/2021\/10\/Humidite-et-temperature.jpg 1400w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Type de connexion: <span class=\"has-inline-color has-vivid-purple-color\">I2C<\/span><\/h2>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading has-vivid-cyan-blue-color has-text-color\">1.1 &#8211; Description<\/h2>\n\n\n\n<p>Le module SHT31 propose deux capteurs en un; un capteur de temp\u00e9rature et un capteur d&rsquo;humidit\u00e9 relative.<\/p>\n\n\n\n<p>Ce capteur peut-\u00eatre utilis\u00e9 pour lire en temps r\u00e9el la temp\u00e9rature et l&rsquo;humidit\u00e9 d&rsquo;une pi\u00e8ce.<\/p>\n\n\n\n<p><strong><span class=\"has-inline-color has-vivid-red-color\">Note<\/span><\/strong>: Il ne doit pas \u00eatre expos\u00e9 directement aux al\u00e9as du climat ext\u00e9rieure.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading has-vivid-green-cyan-color has-text-color\">1.2 &#8211; Installation de la librairie<\/h2>\n\n\n\n<p>Comme pour les autres modules complexes de Grove, il faut installer une librairie de support pour le capteur SHT31.<\/p>\n\n\n\n<p>Cette librairie est disponible directement \u00e0 partir de l&rsquo;option librairie de l&rsquo;IDE 2.x d&rsquo;Arduino ou de PlatformIO.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"606\" height=\"1024\" src=\"http:\/\/ve2cuy.com\/420-1c4\/wp-content\/uploads\/2021\/10\/Capture-decran-le-2021-10-14-a-11.03.52-606x1024.png\" alt=\"\" class=\"wp-image-1356\" style=\"aspect-ratio:0.5925925925925926;width:239px;height:auto\" srcset=\"https:\/\/ve2cuy.com\/420-1c4\/wp-content\/uploads\/2021\/10\/Capture-decran-le-2021-10-14-a-11.03.52-606x1024.png 606w, https:\/\/ve2cuy.com\/420-1c4\/wp-content\/uploads\/2021\/10\/Capture-decran-le-2021-10-14-a-11.03.52-178x300.png 178w, https:\/\/ve2cuy.com\/420-1c4\/wp-content\/uploads\/2021\/10\/Capture-decran-le-2021-10-14-a-11.03.52.png 722w\" sizes=\"auto, (max-width: 606px) 100vw, 606px\" \/><\/figure>\n<\/div>\n\n\n<p><\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">; platformio.ini\nlib_deps = \n\tseeed-studio\/Grove SHT31 Temp Humi Sensor@^1.0.0<\/pre>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading has-vivid-purple-color has-text-color\">1.3 &#8211; Utilisation de la classe SHT31<\/h2>\n\n\n\n<h3 class=\"wp-block-heading has-text-align-left\">1.3.1 &#8211; Librairie et d\u00e9claration et d&rsquo;un objet de type SHT31<\/h3>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ Inclure la librairie pour I2C (le capteur SHT31 est de type I2C)\n#include &lt;Wire.h>\n\/\/ Inclure la librairie pour le capteur de temp\u00e9rature et d'humidit\u00e9 SHT31\n#include \"SHT31.h\"\n\n\/\/ D\u00e9clarer un objet de type SHT31 pour pouvoir interagir avec le capteur \u00e0 partir des m\u00e9thodes \n\/\/ et des propri\u00e9t\u00e9s de la classe SHT31\n\nSHT31 sht31;  \/\/ D\u00e9claration \n\n\/\/ NOTE:  Il est aussi possible de d\u00e9clarer un objet de la fa\u00e7on suivante:\nSHT31 sht31 = SHT31();  \/\/ d\u00e9claration et cr\u00e9ation (instanciation)\n\n<\/pre>\n\n\n\n<h3 class=\"wp-block-heading has-text-align-left\">1.3.2 &#8211; Initialiser un objet de type SHT31, la m\u00e9thode <em>begin<\/em>()<\/h3>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"> sht31.begin();<\/pre>\n\n\n\n<h3 class=\"wp-block-heading has-text-align-left\">1.3.3 &#8211; Obtenir des valeurs de lecture de la temp\u00e9rature, la m\u00e9thode <em>getTemperature<\/em>()<\/h3>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">float temperature = sht31.getTemperature();<\/pre>\n\n\n\n<h3 class=\"wp-block-heading has-text-align-left\">1.3.4 &#8211; Obtenir des valeurs de lecture de l&rsquo;humidit\u00e9, la m\u00e9thode <em>getHumidity<\/em>();<\/h3>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">float hum = sht31.getHumidity();<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">1.3.5 &#8211; <span class=\"has-inline-color has-vivid-red-color\">Laboratoire<\/span><\/h2>\n\n\n\n<p>\u00c9crire un programme qui affiche la temp\u00e9rature et l&rsquo;humidit\u00e9, capt\u00e9es par le module SHT31, dans la console s\u00e9rie.<\/p>\n\n\n\n<p>L&rsquo;affichage est actualis\u00e9 \u00e0 toutes les trois secondes.<\/p>\n\n\n\n<p>Voici un exemple du r\u00e9sultat souhait\u00e9:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\nD\u00e9but du programme ...\n\nLa temp\u00e9rature actuelle est de 23.79C\nL'humidit\u00e9 est \u00e0 63.33%\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<p>Variation, la fonction round(unFloat) permet d&rsquo;arrondir un nombre et de laisser tomber sa partie d\u00e9cimale.  Modifier le programme du <span class=\"has-inline-color has-vivid-red-color\">labo 3.5<\/span> pour afficher que la partie enti\u00e8re de la temp\u00e9rature et de l&rsquo;humidit\u00e9.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1.3.6 &#8211; <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-red-color\">Laboratoire<\/mark><\/h2>\n\n\n\n<p>Reprendre le labo pr\u00e9c\u00e9dent en y ajoutant l&rsquo;affichage sur LCD.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">1.4 &#8211; Lecture de la temp\u00e9rature sous Wokwi<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">1.4.1a &#8211; <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-cyan-blue-color\">Code source<\/mark><\/h3>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">#include \"DHT.h\"\n#include &lt;Streaming.h>\n\n#define DHTPIN            2     \/\/ Broche de connexion du capteur de temp\u00e9rature\n#define UN_TI_MOMENT      500\n#define VITESSE_UART      9600\n\n#define MSG_DEBUT       \"D\u00e9but du programme de test de la DHT22\"\n#define MSG_TEMPERATURE \"Temp\u00e9rature = \"\n#define MSG_HUMIDITE    \", Humidit\u00e9 = \"   \n\n\/\/ variable de contr\u00f4le du capture temp\/hum.\nDHT dht(DHTPIN, DHT22);\n\nvoid setup() {\n  Serial.begin(VITESSE_UART);\n  Serial &lt;&lt; MSG_DEBUT; \n  dht.begin();\n}\n\nvoid loop() {\n  Serial &lt;&lt; MSG_TEMPERATURE &lt;&lt; dht.readTemperature() &lt;&lt; \"c\";\n  Serial &lt;&lt; MSG_HUMIDITE &lt;&lt; dht.readHumidity() &lt;&lt; \"%\" &lt;&lt; endl;\n  \/\/ Attendre un ti moment ;-)\n  delay(UN_TI_MOMENT);\n}<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">1.4.1b &#8211; <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-purple-color\">Code source &#8211; Anglais\/Fran\u00e7ais<\/mark><\/h3>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">#define FRANCAIS        1\n#define ANGLAIS         2\n#define LANGUE          FRANCAIS\n\n#include \"DHT.h\"\n#include &lt;Streaming.h>\n\n#define DHTPIN            2     \/\/ Broche de connexion du capteur de temp\u00e9rature\n#define UN_TI_MOMENT      500\n#define VITESSE_UART      9600\n\n#if (LANGUE == FRANCAIS)\n  #define MSG_DEBUT       \"D\u00e9but du programme de test de la DHT22\"\n  #define MSG_TEMPERATURE \"Temp\u00e9rature = \"\n  #define MSG_HUMIDITE    \", Humidit\u00e9 = \"   \n#endif\n\n#if (LANGUE == ANGLAIS)\n  #define MSG_DEBUT       \"Start of test program for the DHT22\"\n  #define MSG_TEMPERATURE \"Temperature = \"\n  #define MSG_HUMIDITE    \", Humidity = \"  \n#endif\n\n\/\/ variable de controle du capture temp\/hum.\nDHT dht(DHTPIN, DHT22);\n\nvoid setup() {\n  Serial.begin(VITESSE_UART);\n  Serial &lt;&lt; MSG_DEBUT; \n  dht.begin();\n}\n\nvoid loop() {\n  Serial &lt;&lt; MSG_TEMPERATURE &lt;&lt; dht.readTemperature() &lt;&lt; \"c\";\n  Serial &lt;&lt; MSG_HUMIDITE &lt;&lt; dht.readHumidity() &lt;&lt; \"%\" &lt;&lt; endl;\n \/\/ Attendre un ti moment ;-)\n  delay(UN_TI_MOMENT);\n}<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">1.4.2 &#8211; Sch\u00e9ma \u00e9lectronique Wokwi<\/h3>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">{\n  \"version\": 1,\n  \"author\": \"Alain Boudreault\",\n  \"editor\": \"wokwi\",\n  \"parts\": [\n    { \"type\": \"wokwi-arduino-uno\", \"id\": \"uno\", \"top\": 121.17, \"left\": 11.36, \"attrs\": {} },\n    { \"type\": \"wokwi-dht22\", \"id\": \"dht1\", \"top\": -40.74, \"left\": 156.36, \"attrs\": {} }\n  ],\n  \"connections\": [\n    [ \"dht1:VCC\", \"uno:5V\", \"red\", [ \"v0.44\", \"h-178.66\", \"v267.43\", \"h185.24\" ] ],\n    [ \"dht1:GND\", \"uno:GND.1\", \"black\", [ \"v25.91\", \"h-76.58\" ] ],\n    [ \"dht1:SDA\", \"uno:2\", \"green\", [ \"v17.8\", \"h67.11\" ] ]\n  ]\n}<\/pre>\n\n\n\n<p>Version Wokwi disponible <a href=\"https:\/\/wokwi.com\/projects\/345799457851310676\">ici<\/a><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">1.5 &#8211; Utilisation d&rsquo;une macro pour remplacer une fonction.<\/h2>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">#include \"SHT31.h\"\nSHT31 sht31;   \n\n#ifdef ...\n  #define lectureTemperature()    getTemperature()\n#else\n  #define lectureTemperature()    readTemperature()\n#endif\n\nvoid setup() {\n   sht31.begin;\n   float temperature = sht31.lectureTemperature();\n}\n<\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">1.6 &#8211; <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-red-color\">Labo: <\/mark>Application universelle (Arduino IDE\/Wokwi) <\/h2>\n\n\n\n<p>\u00c9crire une application universelle &#8211; C-A-D que l&rsquo;application roule aussi bien sur Wokwi que sur Arduino IDE &#8211; qui affiche la temp\u00e9rature et l&rsquo;humidit\u00e9 sur un LCD I2C 16&#215;2.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1.6.2 &#8211; Version alternative du <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-red-color\">labo<\/mark><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u00c9crire une application qui affiche la temp\u00e9rature et l&rsquo;humidit\u00e9 sur un RGB_LCD Grove<\/li>\n\n\n\n<li>Avec le potentiom\u00e8tre, permet d&rsquo;ajuster la vitesse d&rsquo;affichage \u00e0 l&rsquo;\u00e9cran de 100 \u00e0 1000 millisecondes.\n<ul class=\"wp-block-list\">\n<li>La valeur du d\u00e9lai doit \u00eatre affich\u00e9e sur les quatre derni\u00e8res positions de la deuxi\u00e8me ligne du LCD en utilisant le format 0000.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"460\" height=\"212\" src=\"http:\/\/ve2cuy.com\/420-1c4\/wp-content\/uploads\/2022\/10\/labo-1.5.png\" alt=\"\" class=\"wp-image-2231\" srcset=\"https:\/\/ve2cuy.com\/420-1c4\/wp-content\/uploads\/2022\/10\/labo-1.5.png 460w, https:\/\/ve2cuy.com\/420-1c4\/wp-content\/uploads\/2022\/10\/labo-1.5-300x138.png 300w\" sizes=\"auto, (max-width: 460px) 100vw, 460px\" \/><\/figure>\n<\/div>\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">2 &#8211; Le module <a href=\"https:\/\/wiki.seeedstudio.com\/Grove-4-Digit_Display\/\">4-Digit Display<\/a> &#8211; TM1637<\/h1>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"683\" src=\"http:\/\/ve2cuy.com\/420-1c4\/wp-content\/uploads\/2021\/10\/Grove-4_digit_display-1024x683.jpg\" alt=\"\" class=\"wp-image-1361\" srcset=\"https:\/\/ve2cuy.com\/420-1c4\/wp-content\/uploads\/2021\/10\/Grove-4_digit_display-1024x683.jpg 1024w, https:\/\/ve2cuy.com\/420-1c4\/wp-content\/uploads\/2021\/10\/Grove-4_digit_display-300x200.jpg 300w, https:\/\/ve2cuy.com\/420-1c4\/wp-content\/uploads\/2021\/10\/Grove-4_digit_display-768x512.jpg 768w, https:\/\/ve2cuy.com\/420-1c4\/wp-content\/uploads\/2021\/10\/Grove-4_digit_display-1536x1024.jpg 1536w, https:\/\/ve2cuy.com\/420-1c4\/wp-content\/uploads\/2021\/10\/Grove-4_digit_display-2048x1366.jpg 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Type de connexion: <span class=\"has-inline-color has-vivid-purple-color\">digitale<\/span> (2 gpio)<\/h2>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">2.1 &#8211; Description<\/h2>\n\n\n\n<p>Ce module permet un affichage alpha num\u00e9rique \u00e0 partir de 7 segments de type LED.  Il est habituellement utilis\u00e9 pour l&rsquo;affichage des nombres de 0 \u00e0 9.  Il peut aussi \u00eatre employ\u00e9 pour pr\u00e9senter certain caract\u00e8res alphab\u00e9tiques.<\/p>\n\n\n\n<p>Il faut habituellement 7 signaux digitaux pour contr\u00f4ler un seul affichage 7 segments.  Le module Grove en poss\u00e8de 4, ce qui am\u00e8ne le nombre de signaux \u00e0 14 (certains signaux sont r\u00e9utilis\u00e9s, par multiplexage, entre les affichages).<\/p>\n\n\n\n<p>\u00c9tant donn\u00e9 le nombre restreint de GPIO disponible sur l&rsquo;Arduino Uno, le module Grove 4-Digit display utilise la puce <a href=\"https:\/\/www.mcielectronics.cl\/website_MCI\/static\/documents\/Datasheet_TM1637.pdf\">TM1637<\/a> pour r\u00e9duire ce nombre \u00e0 2 GPIO.  Il faudra donc installer une <a href=\"https:\/\/www.arduino.cc\/reference\/en\/libraries\/tm1637\/\">librairie<\/a> pour piloter cette puce.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"367\" height=\"498\" src=\"http:\/\/ve2cuy.com\/420-1c4\/wp-content\/uploads\/2021\/10\/7segment-display-digital.gif\" alt=\"\" class=\"wp-image-1363\" style=\"width:172px;height:233px\"\/><\/figure>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\">2.2 &#8211; Installation des librairies<\/h2>\n\n\n\n<p><strong><span class=\"has-inline-color has-vivid-red-color\">ATTENTION<\/span><\/strong>: <strong><span class=\"has-inline-color has-vivid-purple-color\">Ne pas installer cette version de la librairie mais plut\u00f4t celle qui est propos\u00e9e \u00e0 l&rsquo;\u00e9tape 2.2.2.<\/span><\/strong><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"612\" height=\"1024\" src=\"http:\/\/ve2cuy.com\/420-1c4\/wp-content\/uploads\/2021\/10\/Capture-decran-le-2021-10-14-a-14.14.47-612x1024.png\" alt=\"\" class=\"wp-image-1366\" style=\"aspect-ratio:0.6524822695035462;width:216px;height:auto\" srcset=\"https:\/\/ve2cuy.com\/420-1c4\/wp-content\/uploads\/2021\/10\/Capture-decran-le-2021-10-14-a-14.14.47-612x1024.png 612w, https:\/\/ve2cuy.com\/420-1c4\/wp-content\/uploads\/2021\/10\/Capture-decran-le-2021-10-14-a-14.14.47-179x300.png 179w, https:\/\/ve2cuy.com\/420-1c4\/wp-content\/uploads\/2021\/10\/Capture-decran-le-2021-10-14-a-14.14.47.png 716w\" sizes=\"auto, (max-width: 612px) 100vw, 612px\" \/><\/figure>\n<\/div>\n\n\n<p><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-red-color\">NOTE<\/mark><\/strong>: Les m\u00e9thodes de la classe TM1637 de Grove sont limit\u00e9s en fonctionnalit\u00e9s. Une librairie alternative, qui supporte le module Grove est celle de Avishorp.<\/p>\n\n\n\n<p>Voici la d\u00e9pendance \u00e0 utiliser sous PlatformIO:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">lib_deps = smougenot\/TM1637@0.0.0-alpha+sha.9486982048<\/pre>\n\n\n\n<p><a href=\"https:\/\/github.com\/Seeed-Studio\/Grove_4Digital_Display\/archive\/master.zip\">Lien vers la librairie<\/a><\/p>\n\n\n\n<p>Tester avec l&rsquo;exemple infoVE2CUY<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"555\" height=\"246\" src=\"http:\/\/ve2cuy.com\/420-1c4\/wp-content\/uploads\/2021\/10\/Capture-decran-le-2021-10-20-a-12.41.23.png\" alt=\"\" class=\"wp-image-1431\" srcset=\"https:\/\/ve2cuy.com\/420-1c4\/wp-content\/uploads\/2021\/10\/Capture-decran-le-2021-10-20-a-12.41.23.png 555w, https:\/\/ve2cuy.com\/420-1c4\/wp-content\/uploads\/2021\/10\/Capture-decran-le-2021-10-20-a-12.41.23-300x133.png 300w\" sizes=\"auto, (max-width: 555px) 100vw, 555px\" \/><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">2.2.1 &#8211; Installation manuelle d&rsquo;une librairie<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">2.2.1.1 &#8211; <span class=\"has-inline-color has-vivid-purple-color\">Localiser<\/span>, <span class=\"has-inline-color has-vivid-green-cyan-color\">t\u00e9l\u00e9charger<\/span> et <span class=\"has-inline-color has-vivid-cyan-blue-color\">installer<\/span> une librairie <\/h3>\n\n\n\n<p class=\"has-vivid-purple-color has-text-color has-medium-font-size\"><strong>Localiser<\/strong><\/p>\n\n\n\n<p>Par exemple, librairie pour le module <a href=\"https:\/\/github.com\/Seeed-Studio\/Grove_Temper_Humidity\">TH06<\/a><\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong><span class=\"has-inline-color has-vivid-green-cyan-color\">T\u00e9l\u00e9charger<\/span><\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"594\" src=\"http:\/\/ve2cuy.com\/420-1c4\/wp-content\/uploads\/2021\/10\/arduino_install_lib_github-1024x594.gif\" alt=\"\" class=\"wp-image-1419\" srcset=\"https:\/\/ve2cuy.com\/420-1c4\/wp-content\/uploads\/2021\/10\/arduino_install_lib_github-1024x594.gif 1024w, https:\/\/ve2cuy.com\/420-1c4\/wp-content\/uploads\/2021\/10\/arduino_install_lib_github-300x174.gif 300w, https:\/\/ve2cuy.com\/420-1c4\/wp-content\/uploads\/2021\/10\/arduino_install_lib_github-768x445.gif 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"has-medium-font-size\"><strong><span class=\"has-inline-color has-vivid-cyan-blue-color\">Installer<\/span><\/strong><\/p>\n\n\n\n<p>D\u00e9compresser le fichier Zip et d\u00e9placer dans le dossier &lsquo;<strong><em>libraries<\/em><\/strong>&lsquo; d&rsquo;Arduino:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Sous Windows: <strong><em>Mes Documents\/Arduino\/libraries<\/em><\/strong><\/li>\n\n\n\n<li>Sous MacOS: <strong><em>User\/Documents\/Arduino\/libraries<\/em><\/strong><\/li>\n\n\n\n<li>Sous Linux: <strong><em>\/home\/user\/Arduino\/libraries<\/em><\/strong><\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">2.2.2 &#8211; <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-purple-color\">Installer la librairie TM1637V2 adapt\u00e9e par VE2CUY<\/mark><\/h2>\n\n\n\n<p><a href=\"https:\/\/github.com\/ve2cuy\/ve2cuy-Grove_4Digital_Display_V2\">Lien vers la librairie<\/a><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">2.2.2.1 &#8211; \ud83d\udc49 Installer la librairie sous PlatformeIO<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Cr\u00e9er un dossier &lsquo;src&rsquo; sous le dossier &lsquo;lib&rsquo; du projet<\/li>\n\n\n\n<li>Y copier les fichiers de la librairie (.cpp, .h, &#8230;)<\/li>\n\n\n\n<li><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-red-color\">NOTE<\/mark><\/strong>: Chaque librairie doit-\u00eatre plac\u00e9e dans un dossier diff\u00e9rent.  Voir l&rsquo;exemple du fichier README dans le dossier &lsquo;lib&rsquo;.<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"274\" height=\"377\" src=\"https:\/\/ve2cuy.com\/420-1c4\/wp-content\/uploads\/2025\/02\/lib-perso.png\" alt=\"\" class=\"wp-image-2936\" style=\"width:198px;height:auto\" srcset=\"https:\/\/ve2cuy.com\/420-1c4\/wp-content\/uploads\/2025\/02\/lib-perso.png 274w, https:\/\/ve2cuy.com\/420-1c4\/wp-content\/uploads\/2025\/02\/lib-perso-218x300.png 218w\" sizes=\"auto, (max-width: 274px) 100vw, 274px\" \/><\/figure>\n<\/div>\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">2.3 &#8211; Utilisation de la classe TM1637V2<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">2.3.1 -Utilisation de la librairie et d\u00e9claration d&rsquo;un objet de type TM1637V2<\/h3>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">#include \"TM1637V2.h\"\n\n\/\/ D\u00e9finitions des broches pour la TM1637\n\/\/ La puce TM1637 n\u00e9cessite deux broches pour fonctionner.\n\/\/ Note:  Le connecteur D6 du Hat Grove donne acc\u00e8s aux broches 6 et 7\nconst int CLK = 6;  \/\/ Broche utilis\u00e9e pour la synchronisation entre TM1637 et Arduino\nconst int DIO = 7;  \/\/ Broche utilis\u00e9e pour le transfert des donn\u00e9es.\n\n\/\/ Cr\u00e9ation d'un objet de type TM1637 \u00e0 partir du constructeur de la classe\nTM1637V2 tm1637(CLK, DIO);<\/pre>\n\n\n\n<p><strong><span class=\"has-inline-color has-vivid-red-color\">NOTE<\/span><\/strong>: Il est possible d&rsquo;utiliser tous les connecteurs<strong> D2..D8<\/strong> du Hat de Grove.  Ils proposent tous deux broches GPIO par connecteur.  Il suffit de renseigner correctement les constantes <strong>CLK<\/strong> et <strong>DIO<\/strong>.<\/p>\n\n\n\n<p class=\"has-vivid-red-color has-text-color has-link-color wp-elements-c04bbcfe98ced61ff7689f7ce9f128ed\">\ud83d\uded1 <strong>Par contre, le connecteur digital suivant ne sera plus disponible pour le montage.  <\/strong><\/p>\n\n\n\n<p>Par exemple, <\/p>\n\n\n\n<p class=\"has-text-align-left\">Un module TM1637 connect\u00e9 sur D6 occupera un des circuits de D7 ce qui invalidera son utilisation.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">2.3.2 &#8211; Initialiser un objet de type TM1637 et renseigner l&rsquo;intensit\u00e9<\/h3>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ Initialiser l'objet tm1637 \ntm1637.init();\n\/\/ Ou bien .begin() disponible dans la version Ve2cuy de la librairie.\n\n\/\/ Renseigner l'intensit\u00e9 d'affichage\n\/\/ BRIGHT_TYPICAL = 2, BRIGHT_DARKEST = 0, BRIGHTEST = 7;\n\/\/ Ou bien ECRAN_FAIBLE, ECRAN_MOYEN, ECRAN_FORT dans la version V2.\ntm1637.set(ECRAN_FORT);\n<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">2.3.3. &#8211; Afficher un nombre sur le module 4-Digit, la m\u00e9thode displayNum()<\/h3>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">int   unEntier = 123;\nfloat pi       = 3.1415;\n\/\/ Afficher sans la partie d\u00e9cimale.\ntm1637.displayNum(pi);    \/\/ Affiche: 3\ndelay(1500);\n\n\/\/ Afficher une d\u00e9cimale (sans point ou virgule).\ntm1637.displayNum(pi, 1); \/\/ Affiche: 31\ndelay(1500);\n\n\/\/ Afficher deux d\u00e9cimales - (affiche un ':' comme s\u00e9parateur).\ntm1637.displayNum(pi, 2); \/\/ Affiche: 3:14\ndelay(1500);\n\n\/\/ Afficher un nombre n\u00e9gatif.\ntm1637.displayNum(unEntier * -1);\ndelay(1500);\n\n\/\/ Afficher un nombre n\u00e9gatif sans signe.\ntm1637.displayNum(-555, 0, false);\n<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">2.3.4 &#8211; Afficher les multiples de 2, par multiplication<\/h3>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">#include \"TM1637V2.h\"\n\nconst int CLK = 6, DIO = 7;\n\nTM1637V2 tm1637(CLK, DIO);\n\nvoid setup() {\n    tm1637.init();\n    tm1637.set(7);  \/\/ Intensit\u00e9 maximum\n} \/\/ setup\n\nvoid loop() {\n    static int nombre = 2;\n    tm1637.displayNum(nombre);\n    nombre *= 2;\n    if (nombre > 8192) {\n        while(true);  \/\/ Boucle sans fin ...\n    } \/\/ if\n    delay(500);\n} \/\/ loop\n<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">2.3.5 &#8211; Afficher les multiples de 2, par d\u00e9calage des bits vers la gauche<\/h3>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">void loop() {\n    static int nombre = 1;\n    tm1637.displayNum(nombre);\n    nombre &lt;&lt;= 1;  \/\/ D\u00e9caler (shift) les bits de 'nombre' d'une position vers la gauche\n    if (nombre > 8192) {\n        nombre = 2;\n    }\n    delay(500);\n}<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">2.4 &#8211; Afficher des chaines de caract\u00e8res, la m\u00e9thode displayStr()<\/h3>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">#include \"TM1637V2.h\"\n#define DELAI_ENTRE_LES_EXEMPLES  2000\n#define DELAI_FIN                 500\n\n\/\/ D\u00e9finition des broches pour la TM1637\nconst int CLK = 6, DIO = 7;\nTM1637V2 tm1637(CLK, DIO);\n\nvoid setup() {\n    tm1637.init();\n    tm1637.set(BRIGHT_TYPICAL);\n\n    Serial.begin(9600);\n    Serial.println(tm1637.info());\n   \n    tm1637.displayStr(\"toto\");\n    delay(DELAI_ENTRE_LES_EXEMPLES);\n\n    \/\/ loop\n    tm1637.displayStr(\"Bonjour 420-1C4\", 300);  \/\/ 500 est la valeur par d\u00e9faut\n    delay(DELAI_ENTRE_LES_EXEMPLES);\n\n    \/\/ ON\n    tm1637.displayStr(\"0N\");\n    delay(DELAI_ENTRE_LES_EXEMPLES);\n\n    \/\/ OFF\n    tm1637.displayStr(\"0FF\");\n    delay(DELAI_ENTRE_LES_EXEMPLES);\n}\n\nvoid loop() {\n    \/\/ Effacer l'affichage\n    tm1637.clearDisplay();\n    delay(DELAI_FIN);\n    tm1637.displayStr(\"Fin\");\n    delay(DELAI_FIN);\n}<\/pre>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">2.5 &#8211; <span class=\"has-inline-color has-vivid-red-color\">Laboratoire<\/span> (40 minutes)<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u00c9crire une application qui affiche, sur le module <strong>4-digit<\/strong> de Grove, sous forme de chaine de caract\u00e8res, la <strong>temp\u00e9rature<\/strong> et <strong>l&rsquo;humidit\u00e9<\/strong> en respectant la forme suivante:<\/li>\n<\/ul>\n\n\n\n<p class=\"has-vivid-cyan-blue-color has-text-color\"><strong>T-99c &#8211; H-99p<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>L&rsquo;affichage doit \u00eatre r\u00e9actualis\u00e9 continuellement.<\/li>\n\n\n\n<li>Le d\u00e9lai d\u00e9placement des caract\u00e8res vers la gauche doit-\u00eatre fix\u00e9 \u00e0 333 millisecondes.  <\/li>\n<\/ul>\n\n\n\n<p><strong><span class=\"has-inline-color has-vivid-red-color\">Astuces<\/span><\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Utiliser la fonction <strong><em>sprintf<\/em><\/strong>() pour construire le message \u00e0 afficher.<\/li>\n\n\n\n<li>Utiliser la fonction <strong><em>round<\/em><\/strong>() pour convertir les <strong>float<\/strong> en <strong>int<\/strong>.  Rappel, <strong>sprintf<\/strong>() d&rsquo;Arduino ne supporte pas le type <strong>float<\/strong>.<\/li>\n\n\n\n<li>Il est possible de souffler d\u00e9licatement sur le capteur pour faire varier les valeurs de temp\u00e9rature et humidit\u00e9.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading has-black-color has-text-color\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-red-color\">D\u00e9fi facultatif suppl\u00e9mentaire<\/mark> (20 minutes)<\/h2>\n\n\n\n<p>Le module <strong>4-Digit<\/strong> ne supporte pas l&rsquo;affichage de &lsquo;.&rsquo; ou &lsquo;,&rsquo; et la fonction <strong>sprintf<\/strong> d&rsquo;Arduino ne supportent pas les <strong>float<\/strong>.<\/p>\n\n\n\n<p>Il n&rsquo;est donc pas possible d&rsquo;afficher les d\u00e9cimales de la temp\u00e9rature ou de l&rsquo;humidit\u00e9.<\/p>\n\n\n\n<p><strong><span class=\"has-inline-color has-vivid-red-color\">Modifier<\/span><\/strong> l&rsquo;application pr\u00e9c\u00e9dente pour afficher sur le <strong><em>rgb_lcd<\/em><\/strong> les informations suivantes:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Ligne 1: Temp.   : 99,99c\nLigne 2: Humidite: 99,99% <\/code><\/pre>\n\n\n\n<p class=\"has-vivid-red-color has-text-color\"><strong>Astuces<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>La fonction <a href=\"https:\/\/www.programmingelectronics.com\/dtostrf\/\"><strong>dtostrf<\/strong>()<\/a> permet de convertir un float en chaine de caract\u00e8re.<\/li>\n\n\n\n<li>Pour ins\u00e9rer le caract\u00e8re &lsquo;%&rsquo; avec sprintf(), il faut le doubler \u00ab\u00a0%%\u00a0\u00bb.<\/li>\n<\/ul>\n\n\n\n<p>Par exemple,<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>char resultat&#91;17];  \/\/ Longueur d'une ligne du LCD + 1\nfloat humidite = 45.55;\nchar chaine&#91;6]; \/\/ Variable pour convertir le float. 6 = Longueur totale de la chaine + 1\ndtostrf(pi,5,2,chaine); \/\/ 5 = longueur du nombre incluant le point, 2 = le nombre de d\u00e9cimales\n\nsprintf(resultat, \"Humidite = %s%%\", chaine);  \/\/ Va produire:  Humidite = 45.55%<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Autre possibilit\u00e9 pour la conversion, utilisation de la librairie Streaming. <\/li>\n<\/ul>\n\n\n\n<p class=\"has-vivid-red-color has-text-color\"><strong>R\u00e9sultat<\/strong><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"289\" src=\"http:\/\/ve2cuy.com\/420-1c4\/wp-content\/uploads\/2021\/10\/temphumidite-1024x289.gif\" alt=\"\" class=\"wp-image-1399\" style=\"width:438px;height:124px\" srcset=\"https:\/\/ve2cuy.com\/420-1c4\/wp-content\/uploads\/2021\/10\/temphumidite-1024x289.gif 1024w, https:\/\/ve2cuy.com\/420-1c4\/wp-content\/uploads\/2021\/10\/temphumidite-300x85.gif 300w, https:\/\/ve2cuy.com\/420-1c4\/wp-content\/uploads\/2021\/10\/temphumidite-768x216.gif 768w, https:\/\/ve2cuy.com\/420-1c4\/wp-content\/uploads\/2021\/10\/temphumidite-1536x433.gif 1536w, https:\/\/ve2cuy.com\/420-1c4\/wp-content\/uploads\/2021\/10\/temphumidite-2048x577.gif 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">2.6 &#8211; TM-1637 sur Wokwi<\/h2>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"435\" height=\"526\" src=\"http:\/\/ve2cuy.com\/420-1c4\/wp-content\/uploads\/2022\/10\/Capture-de\u0301cran-2022-10-23-a\u0300-14.17.32.png\" alt=\"\" class=\"wp-image-2245\" srcset=\"https:\/\/ve2cuy.com\/420-1c4\/wp-content\/uploads\/2022\/10\/Capture-de\u0301cran-2022-10-23-a\u0300-14.17.32.png 435w, https:\/\/ve2cuy.com\/420-1c4\/wp-content\/uploads\/2022\/10\/Capture-de\u0301cran-2022-10-23-a\u0300-14.17.32-248x300.png 248w\" sizes=\"auto, (max-width: 435px) 100vw, 435px\" \/><\/figure>\n<\/div>\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ Exemple d'un compteur TM1637 7 Segments sur Wokwi \n\n#include &lt;TM1637.h>. \/\/ Grove 4-Digit Display \u00e0 ajouter de le gestionnaire de lib.\n\nconst int CLK = 2;\nconst int DIO = 3;\n\nTM1637 tm(CLK, DIO);\n\nvoid setup() {\n  tm.init();\n  tm.set(BRIGHT_TYPICAL);\n}\n\nunsigned int counter = 0;\n\nvoid loop() {\n  tm.display(0, (counter \/ 1000) % 10);   \/\/ Afficher les milliers\n  tm.display(1, (counter \/ 100) % 10);    \/\/ Afficher les centaines\n  tm.display(2, (counter \/ 10) % 10);     \/\/ Afficher les dizaines\n  tm.display(3, counter % 10);            \/\/ Afficher les unit\u00e9s\n\n  counter++;\n  if (counter == 10000) {\n    counter = 0;\n  }\n\n  delay(100);\n}\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>1 &#8211; Le module humidit\u00e9 et temp\u00e9rature &#8211; SHT31 Grove &#8211; I2C High Accuracy Temp&amp;Humi Sensor (SHT31) Type de connexion: I2C 1.1 &#8211; Description Le module SHT31 propose deux capteurs en un; un capteur de temp\u00e9rature et un capteur d&rsquo;humidit\u00e9 relative. Ce capteur peut-\u00eatre utilis\u00e9 pour lire en temps r\u00e9el la temp\u00e9rature et l&rsquo;humidit\u00e9 d&rsquo;une [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"ub_ctt_via":"","footnotes":""},"class_list":["post-1349","page","type-page","status-publish","hentry"],"featured_image_src":null,"_links":{"self":[{"href":"https:\/\/ve2cuy.com\/420-1c4\/index.php\/wp-json\/wp\/v2\/pages\/1349","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ve2cuy.com\/420-1c4\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/ve2cuy.com\/420-1c4\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/ve2cuy.com\/420-1c4\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ve2cuy.com\/420-1c4\/index.php\/wp-json\/wp\/v2\/comments?post=1349"}],"version-history":[{"count":71,"href":"https:\/\/ve2cuy.com\/420-1c4\/index.php\/wp-json\/wp\/v2\/pages\/1349\/revisions"}],"predecessor-version":[{"id":3030,"href":"https:\/\/ve2cuy.com\/420-1c4\/index.php\/wp-json\/wp\/v2\/pages\/1349\/revisions\/3030"}],"wp:attachment":[{"href":"https:\/\/ve2cuy.com\/420-1c4\/index.php\/wp-json\/wp\/v2\/media?parent=1349"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}