Attribut:ItemLongDescription

This is a property of type Text.

Affichage de 20 pages utilisant cette propriété.
C
<nowiki>== Caractéristiques ==<br />Ce module de haute précision possède 12 boutons tactiles et supporte la communication I2C. <br /><br />Il peut être facilement interfacé avec n'importe quel microcontrôleur. <br /><br /><br />Il n'y a pas de régulateur sur la carte, donc la tension d'alimentation doit être comprise entre 1.7 et 3.6VDC.<br /><br /><br />Il comporte 18 broches :<br /><br /><br />6 broches à gauche :<br /><br />*    VCC : Alimentation du module - 3.3V<br />*    IRQ : Sortie d'interruption<br />*    SCL : Entrée horloge série pour le protocole I2C<br />*    SDA : Entrée/sortie de données série pour le protocole I2C<br />*    ADD : Adresse d'ajustement pour le protocole I2C<br />*    GND : Masse<br /><br />12 broches sur la droite :<br /><br />*    0-11 : Boutons tactiles<br /><br /><br/><br /><br />== Bibliothèque ==<br />Il peut s'utiliser avec plusieurs bibliothèques. A partir du gestionnaire de bibliothèque, ajoutez la bibliothèque Adafruit MPR121<br /><br />== Câblage ==<br /><div class="annotatedImageDiv" typeof="Image" data-resource="Fichier:Item-Capteur Capacitif MPR121 CapteurcapacitifMPR121 bb.png" data-sourceimage="https://www.wikidebrouillard.org/images/5/5c/Item-Capteur_Capacitif_MPR121_CapteurcapacitifMPR121_bb.png"><span ><div class="center"><div class="floatnone"><a href="/wiki/Fichier:Item-Capteur_Capacitif_MPR121_CapteurcapacitifMPR121_bb.png" class="image" title="Capteur tactile capacitif MPR121"><img alt="Capteur tactile capacitif MPR121" src="/images/5/5c/Item-Capteur_Capacitif_MPR121_CapteurcapacitifMPR121_bb.png" width="729" height="432" data-file-width="729" data-file-height="432" /></a></div></div></span></div><br/><br /><br />== Code minimal ==<br /><br/><br /><table class="wikitable" width="617" cellspacing="0" cellpadding="2"><br /><tr><br /><td width="98" height="17" bgcolor="#999999"><br /></td><td width="199" bgcolor="#999999"><br /></td><td width="308" bgcolor="#999999">MPR121<br /></td></tr><tr><br /><td rowspan="2" width="98" bgcolor="#999999">Avant le Setup<br /></td><td width="199" bgcolor="#999999">Importation de la bibliothèque<br /></td><td width="308">#include <Wire.h><br /><br />#include "Adafruit_MPR121.h"<br /></td></tr><tr><br /><td width="199" bgcolor="#999999">Création de l’objet<br /></td><td width="308">Adafruit_MPR121 capteur = Adafruit_MPR121();<br /><br /><br />// Déclaration de variable<br /><br />uint16_t actuelleTouche = 0;<br /></td></tr><tr><br /><td width="98" height="17" bgcolor="#999999">Dans le Setup<br /></td><td width="199" bgcolor="#999999">Démarrage de l’objet<br /></td><td width="308">if (!capteur.begin(0x5A)) {<br /><br />while (1);<br /><br />}<br /></td></tr><tr><br /><td width="98" height="17" bgcolor="#999999">Dans le Loop<br /></td><td width="199" bgcolor="#999999">Utilisation<br /></td><td width="308">actuelleTouche = capteur.touched();<br/><br /></td></tr></table><br /><br /><br />== Exemple ==<br /><br/><div class="mw-highlight mw-content-ltr" dir="ltr"><pre><span></span><span class="lineno"> 1 </span><span class="c1">////////////////////////</span><br /><span class="lineno"> 2 </span><span class="c1">// Capteur Capacitif //</span><br /><span class="lineno"> 3 </span><span class="c1">// MPR121 //</span><br /><span class="lineno"> 4 </span><span class="c1">////////////////////////</span><br /><span class="lineno"> 5 </span><br /><span class="lineno"> 6 </span><span class="cm">/*</span><br /><span class="lineno"> 7 </span><br /><span class="lineno"> 8 </span><span class="cm">LOLIN (wemos)D1 mini </span><br /><span class="lineno"> 9 </span><span class="cm"> _______________________________ Capteur capacitif MPR121</span><br /><span class="lineno">10 </span><span class="cm"> / _________________ \ _________________</span><br /><span class="lineno">11 </span><span class="cm"> / / D1 mini \ \ | L 11[ ]|</span><br /><span class="lineno">12 </span><span class="cm"> / |[ ]RST TX[ ]| \ | E 10[ ]|</span><br /><span class="lineno">13 </span><span class="cm"> | |[ ]A0 -GPIO RX[ ]| \ | D 9[ ]|</span><br /><span class="lineno">14 </span><span class="cm"> | |[ ]D0-16 5-D1[X]| SCL----------. \-|[X]3,3V / 8[ ]|</span><br /><span class="lineno">15 </span><span class="cm"> | |[ ]D5-14 4-D2[X]| SDA---------. \ |[ ]IRQ e 7[ ]|</span><br /><span class="lineno">16 </span><span class="cm"> | |[ ]D6-12 0-D3[ ]| \ \-|[X]SCL l 6[ ]|</span><br /><span class="lineno">17 </span><span class="cm"> | |[ ]D7-13 2-D4[ ]| LED_BUILTIN \--|[X]SDA e 5[ ]|</span><br /><span class="lineno">18 </span><span class="cm"> | |[ ]D8-15 GND[X]|--------------. |[ ]ADD c 4[ ]|</span><br /><span class="lineno">19 </span><span class="cm"> \--|[X]3V3 5V[ ]| \--|[X]GND t 3[ ]|</span><br /><span class="lineno">20 </span><span class="cm"> | +---+ | | r 2[ ]|</span><br /><span class="lineno">21 </span><span class="cm"> |_______|USB|_______| | o 1[ ]|</span><br /><span class="lineno">22 </span><span class="cm"> | MPR121 d 0[ ]|</span><br /><span class="lineno">23 </span><span class="cm"> |_________e_______| </span><br /><span class="lineno">24 </span><br /><span class="lineno">25 </span><span class="cm">Matériel :</span><br /><span class="lineno">26 </span><span class="cm"> - Des fils dupont</span><br /><span class="lineno">27 </span><span class="cm"> - Un LOLIN (ou Wemos) D1 mini</span><br /><span class="lineno">28 </span><span class="cm"> - Capteur capacitif MPR121</span><br /><span class="lineno">29 </span><br /><span class="lineno">30 </span><span class="cm"> </span><br /><span class="lineno">31 </span><span class="cm"> Schéma de l'Arduino en ASCII-ART CC-By http://busyducks.com/ascii-art-arduinos</span><br /><span class="lineno">32 </span><span class="cm"> Sous licence CC-By-Sa (http://creativecommons.org/licenses/by-nc-sa/3.0/)</span><br /><span class="lineno">33 </span><span class="cm"> ___</span><br /><span class="lineno">34 </span><span class="cm"> / ___ \</span><br /><span class="lineno">35 </span><span class="cm"> |_| | </span><br /><span class="lineno">36 </span><span class="cm"> /_/</span><br /><span class="lineno">37 </span><span class="cm"> _ ___ _</span><br /><span class="lineno">38 </span><span class="cm"> |_| |___|_| |_</span><br /><span class="lineno">39 </span><span class="cm"> ___|_ _|</span><br /><span class="lineno">40 </span><span class="cm"> |___| |_|</span><br /><span class="lineno">41 </span><span class="cm"> Les petits Débrouillards - février 2023 - CC-By-Sa http://creativecommons.org/licenses/by-nc-sa/3.0/</span><br /><span class="lineno">42 </span><br /><span class="lineno">43 </span><span class="cm"> Inspiré de : https://electropeak.com/learn/interfacing-mpr121-capacitive-touch-sensor-module-with-arduino/</span><br /><span class="lineno">44 </span><span class="cm"> Modified by MehranMaleki from Arduino Examples - janvier 2021</span><br /><span class="lineno">45 </span><span class="cm">*/</span><br /><span class="lineno">46 </span><br /><span class="lineno">47 </span><span class="cp">#include</span> <span class="cpf"><Wire.h></span><span class="cp"></span><br /><span class="lineno">48 </span><span class="cp">#include</span> <span class="cpf">"Adafruit_MPR121.h"</span><span class="cp"></span><br /><span class="lineno">49 </span><br /><span class="lineno">50 </span><span class="cp">#ifndef _BV</span><br /><span class="lineno">51 </span><span class="cp">#define _BV(bit) (1 << (bit))</span><br /><span class="lineno">52 </span><span class="cp">#endif</span><br /><span class="lineno">53 </span><br /><span class="lineno">54 </span><span class="c1">// Vous pouvez en avoir jusqu'à 4 MPR121 sur un bus i2c mais un seul suffit pour les tests !</span><br /><span class="lineno">55 </span><span class="n">Adafruit_MPR121</span> <span class="n">cap</span> <span class="o">=</span> <span class="n">Adafruit_MPR121</span><span class="p">();</span><br /><span class="lineno">56 </span><br /><span class="lineno">57 </span><span class="c1">// Garde la trace des dernières broches touchés.</span><br /><span class="lineno">58 </span><span class="c1">// Ainsi, nous savons quand les boutons sont 'relâchés'.</span><br /><span class="lineno">59 </span><span class="kr">uint16_t</span> <span class="n">precedentTouche</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span><br /><span class="lineno">60 </span><span class="kr">uint16_t</span> <span class="n">actuelTouche</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span><br /><span class="lineno">61 </span><br /><span class="lineno">62 </span><span class="kr">void</span> <span class="nb">setup</span> <span class="p">()</span> <span class="p">{</span><br /><span class="lineno">63 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">begin</span><span class="p">(</span><span class="mi">9600</span><span class="p">);</span><br /><span class="lineno">64 </span><br /><span class="lineno">65 </span> <span class="k">while</span> <span class="p">(</span><span class="o">!</span><span class="nf">Serial</span><span class="p">)</span> <span class="p">{</span> <span class="c1">// indispensable pour empêcher un Arduino leonardo/micro de démarrer trop vite !</span><br /><span class="lineno">66 </span> <span class="nf">delay</span><span class="p">(</span><span class="mi">10</span><span class="p">);</span><br /><span class="lineno">67 </span> <span class="p">}</span><br /><span class="lineno">68 </span><br /><span class="lineno">69 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"Programme de test du capteur capacitif MPR121 avec la bibliothèque Adafruit MPR121"</span><span class="p">);</span><br /><span class="lineno">70 </span><br /><span class="lineno">71 </span> <span class="c1">// L'adresse par défaut est 0x5A, si elle est liée à 3.3V, elle est 0x5B.</span><br /><span class="lineno">72 </span> <span class="c1">// Si elle est liée à SDA, c'est 0x5C et si elle est liée à SCL, c'est 0x5D.</span><br /><span class="lineno">73 </span> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">cap</span><span class="p">.</span><span class="nf">begin</span><span class="p">(</span><span class="mh">0x5A</span><span class="p">))</span> <span class="p">{</span><br /><span class="lineno">74 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"Le MPR121 n'a pas été trouvé, vérifiez le cablage ?"</span><span class="p">);</span><br /><span class="lineno">75 </span> <span class="k">while</span> <span class="p">(</span><span class="mi">1</span><span class="p">);</span><br /><span class="lineno">76 </span> <span class="p">}</span><br /><span class="lineno">77 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"MPR121 trouvé !"</span><span class="p">);</span><br /><span class="lineno">78 </span><span class="p">}</span><br /><span class="lineno">79 </span><br /><span class="lineno">80 </span><span class="kr">void</span> <span class="nb">loop</span><span class="p">()</span> <span class="p">{</span><br /><span class="lineno">81 </span> <span class="c1">// récupère les broches actuellement touchés</span><br /><span class="lineno">82 </span> <span class="n">actuelTouche</span> <span class="o">=</span> <span class="n">cap</span><span class="p">.</span><span class="n">touched</span><span class="p">();</span><br /><span class="lineno">83 </span><br /><span class="lineno">84 </span> <span class="k">for</span> <span class="p">(</span><span class="kr">uint8_t</span> <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o"><</span> <span class="mi">12</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span><br /><span class="lineno">85 </span> <span class="c1">// si *est* touché et *n'était pas* touché avant, alerte !</span><br /><span class="lineno">86 </span> <span class="k">if</span> <span class="p">((</span><span class="n">actuelTouche</span> <span class="o">&</span> <span class="n">_BV</span><span class="p">(</span><span class="n">i</span><span class="p">))</span> <span class="o">&&</span> <span class="o">!</span><span class="p">(</span><span class="n">precedentTouche</span> <span class="o">&</span> <span class="n">_BV</span><span class="p">(</span><span class="n">i</span><span class="p">))</span> <span class="p">)</span> <span class="p">{</span><br /><span class="lineno">87 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">print</span><span class="p">(</span><span class="s">"Broche N° "</span><span class="p">);</span><span class="nf">Serial</span><span class="p">.</span><span class="nf">print</span><span class="p">(</span><span class="n">i</span><span class="p">);</span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">print</span><span class="p">(</span><span class="s">" touché"</span><span class="p">);</span><br /><span class="lineno">88 </span> <span class="p">}</span><br /><span class="lineno">89 </span> <span class="c1">// si elle *était* touchée et qu'elle ne l'est plus, alerte !</span><br /><span class="lineno">90 </span> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="p">(</span><span class="n">actuelTouche</span> <span class="o">&</span> <span class="n">_BV</span><span class="p">(</span><span class="n">i</span><span class="p">))</span> <span class="o">&&</span> <span class="p">(</span><span class="n">precedentTouche</span> <span class="o">&</span> <span class="n">_BV</span><span class="p">(</span><span class="n">i</span><span class="p">))</span> <span class="p">)</span> <span class="p">{</span><br /><span class="lineno">91 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">print</span><span class="p">(</span><span class="s">"Broche N° "</span><span class="p">);</span><span class="nf">Serial</span><span class="p">.</span><span class="nf">print</span><span class="p">(</span><span class="n">i</span><span class="p">);</span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"relachée"</span><span class="p">);</span><br /><span class="lineno">92 </span> <span class="p">}</span><br /><span class="lineno">93 </span> <span class="p">}</span><br /><span class="lineno">94 </span><br /><span class="lineno">95 </span> <span class="c1">// Mémorisation</span><br /><span class="lineno">96 </span> <span class="n">precedentTouche</span> <span class="o">=</span> <span class="n">actuelTouche</span><span class="p">;</span><br /><span class="lineno">97 </span><br /><span class="lineno">98 </span><span class="p">}</span><br /></pre></div><br/></nowiki>  
<nowiki><div class="icon-instructions info-icon"><br /><div class="icon-instructions-icon"><i class="fa fa-info-circle"></i></div><br /><div class="icon-instructions-text">Il doit être alimenté en 5V</div><br /></div><br /><br /><br />plus d'infos : <br />=Caractéristiques=<br /><br />*alimentation maxi : 5V<br /><br /><br/><br />=Bibliothèque : =<br />Pour utiliser facilement cet Interrupteur, nous vous conseillons d'utiliser la bibliothèque<br /><br />ezButton (présente dans le gestionnaire de bibliothèques arduino)<br /><br />plus d'infos pour [[Importer des bibliothèques dans l'interface Arduino]]<br /><br/><div class="annotatedImageDiv" typeof="Image" data-resource="Fichier:Item-End-Stop Sensor Library.png" data-sourceimage="https://www.wikidebrouillard.org/images/5/5f/Item-End-Stop_Sensor_Library.png"><span ><div class="center"><div class="floatnone"><a href="/wiki/Fichier:Item-End-Stop_Sensor_Library.png" class="image"><img alt="Item-End-Stop Sensor Library" src="/images/5/5f/Item-End-Stop_Sensor_Library.png" width="1031" height="228" data-file-width="1031" data-file-height="228" /></a></div></div></span></div><br /><br /><br /><br />La bibliothèque est disponible ici : https://github.com/ArduinoGetStarted/button<br />=Câblage : =<br /><div class="annotatedImageDiv" typeof="Image" data-resource="Fichier:Item-End-Stop Sensor.png" data-sourceimage="https://www.wikidebrouillard.org/images/9/97/Item-End-Stop_Sensor.png"><span ><div class="center"><div class="floatnone"><a href="/wiki/Fichier:Item-End-Stop_Sensor.png" class="image"><img alt="Item-End-Stop Sensor" src="/images/9/97/Item-End-Stop_Sensor.png" width="1041" height="690" data-file-width="1041" data-file-height="690" /></a></div></div></span></div><br /><br /><br />=Le code minimal : =<br /><table class="wikitable" cellspacing="0" border="0"><br /><tr><br /><td height="17" bgcolor="#999999" align="left"><br /></td><td valign="middle" bgcolor="#999999" align="center"><br /></td><td bgcolor="#999999" align="center">End-Stop Sensor<br /></td></tr><tr><br /><td rowspan="2" valign="middle" height="49" bgcolor="#999999" align="center">Avant le Setup<br /></td><td valign="middle" bgcolor="#999999" align="center">Importation de la bibliothèque<br /></td><td valign="middle" align="left">#include <ezButton.h><br /></td></tr><tr><br /><td valign="middle" bgcolor="#999999" align="center">Création de l'objet et Configuration de la broche<br /></td><td valign="middle" align="left">ezButton limitSwitch(7); <br /></td></tr><tr><br /><td valign="middle" height="17" bgcolor="#999999" align="center">Dans le Setup<br /></td><td valign="middle" bgcolor="#999999" align="center">Configuration du temps de rebond<br /></td><td valign="middle" align="left">limitSwitch.setDebounceTime(50);<br /></td></tr><tr><br /><td valign="middle" height="41" bgcolor="#999999" align="center">Dans le Loop<br /></td><td valign="middle" bgcolor="#999999" align="center">Utilisation<br /></td><td valign="middle" align="left">limitSwitch.loop(); <br /><br />  if(limitSwitch.isPressed())<br /><br />    Serial.println("L'interrupteur de fin de course: NON TOUCHÉ -> TOUCHÉ");<br /><br />  if(limitSwitch.isReleased())<br /><br />    Serial.println("L'interrupteur de fin de course: TOUCHÉ -> NON TOUCHÉ");<br /><br />  int state = limitSwitch.getState();<br /><br />  if(state == HIGH)<br /><br />    Serial.println("L'interrupteur de fin de course: NON TOUCHÉ");<br /><br />  else<br /><br />    Serial.println("L'interrupteur de fin de course: TOUCHÉ");<br /></td></tr></table><br />=Autres fonctionnalités=<br />Aucune autres fonctionnalités<br />=Exemple : =<br /><div class="mw-highlight mw-content-ltr" dir="ltr"><pre><span></span><span class="lineno"> 1 </span><span class="cp">#include</span> <span class="cpf"><ezButton.h></span><span class="cp"></span><br /><span class="lineno"> 2 </span><br /><span class="lineno"> 3 </span><span class="n">ezButton</span> <span class="nf">limitSwitch</span><span class="p">(</span><span class="mi">7</span><span class="p">);</span> <span class="c1">// créer un objet ezButton qui s'attache à la broche 7</span><br /><span class="lineno"> 4 </span><br /><span class="lineno"> 5 </span><span class="kr">void</span> <span class="nb">setup</span><span class="p">()</span> <span class="p">{</span><br /><span class="lineno"> 6 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">begin</span><span class="p">(</span><span class="mi">9600</span><span class="p">);</span><br /><span class="lineno"> 7 </span> <span class="n">limitSwitch</span><span class="p">.</span><span class="n">setDebounceTime</span><span class="p">(</span><span class="mi">50</span><span class="p">);</span> <span class="c1">// fixer le temps de rebond à 50 millisecondes</span><br /><span class="lineno"> 8 </span><br /><span class="lineno"> 9 </span><span class="p">}</span><br /><span class="lineno">10 </span><br /><span class="lineno">11 </span><span class="kr">void</span> <span class="nb">loop</span><span class="p">()</span> <span class="p">{</span><br /><span class="lineno">12 </span> <span class="n">limitSwitch</span><span class="p">.</span><span class="nb">loop</span><span class="p">();</span> <span class="c1">// DOIT appeler la fonction loop() en premier</span><br /><span class="lineno">13 </span><br /><span class="lineno">14 </span> <span class="k">if</span><span class="p">(</span><span class="n">limitSwitch</span><span class="p">.</span><span class="nf">isPressed</span><span class="p">())</span><br /><span class="lineno">15 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"L'interrupteur de fin de course: NON TOUCHÉ -> TOUCHÉ"</span><span class="p">);</span><br /><span class="lineno">16 </span><br /><span class="lineno">17 </span> <span class="k">if</span><span class="p">(</span><span class="n">limitSwitch</span><span class="p">.</span><span class="n">isReleased</span><span class="p">())</span><br /><span class="lineno">18 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"L'interrupteur de fin de course: TOUCHÉ -> NON TOUCHÉ"</span><span class="p">);</span><br /><span class="lineno">19 </span><br /><span class="lineno">20 </span> <span class="kr">int</span> <span class="n">state</span> <span class="o">=</span> <span class="n">limitSwitch</span><span class="p">.</span><span class="n">getState</span><span class="p">();</span><br /><span class="lineno">21 </span> <span class="k">if</span><span class="p">(</span><span class="n">state</span> <span class="o">==</span> <span class="kr">HIGH</span><span class="p">)</span><br /><span class="lineno">22 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"L'interrupteur de fin de course: NON TOUCHÉ"</span><span class="p">);</span><br /><span class="lineno">23 </span> <span class="k">else</span><br /><span class="lineno">24 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"L'interrupteur de fin de course: TOUCHÉ"</span><span class="p">);</span><br /><span class="lineno">25 </span><br /><span class="lineno">26 </span><span class="p">}</span><br /></pre></div><span> </span></nowiki>  
Le capteur Mi-flora fonctionne en Bluetooth Il permet de mesurer les grandeurs suivantes : - Température en °C - Humidité du sol en % - Conductivité en µS/cm (Indice de fertilisation) - Luminosité en Lux  +
<nowiki>'''DHT''' c'est pour "'''D'''igital-output relative '''H'''umidity & '''T'''emperature sensor", ce qui signifie à peu près capteur d'humidité relative et température à sortie numérique.<br /><br /><br />il fonctionne de 3,3 V à 6V et sur une plage de température de -40°C à +80°C. <br /><br /><br />Ses dimension sont de :<br /><br />*14*18*5.5mm, pour le petit modèle<br />*22*28*5mm , pour le grand modèle<br /><br />Il s'utilise avec Arduino, Raspberry pi ou n'importe quel microcontrôleur ou ordinateur.<br /><br /><br/><br /><br />==Caractéristiques : ==<br /><br />*Alimentation: 3,3 à 6 Vcc<br />*Consommation maxi: 1,5 mA<br />*Consommation au repos: 50 µA<br />*Plage de mesure: - température: -40 à +80 °C - humidité: 0 à 100 % RH<br />*Précision: - température: ± 0,5 °C - humidité: ± 2 % RH<br />*Dimensions: 25 x 15 x 9 mm<br /><br /><br/><br />==Bibliothèque : ==<br />Pour utiliser facilement ce capteur, nous vous conseillons d'utiliser la bibliothèque "'''''DHT Sensor Library by Adafruit'''''" (présente dans le gestionnaire de bibliothèques arduino)<br /><br />plus d'infos pour [[Importer des bibliothèques dans l'interface Arduino]]<div class="annotatedImageDiv" typeof="Image" data-resource="Fichier:Item-Capteur dhumidite-Temperature DHT22 Arduino-lib-DHT.png" data-sourceimage="https://www.wikidebrouillard.org/images/8/8e/Item-Capteur_dhumidite-Temperature_DHT22_Arduino-lib-DHT.png"><span ><div class="center"><div class="floatnone"><a href="/wiki/Fichier:Item-Capteur_dhumidite-Temperature_DHT22_Arduino-lib-DHT.png" class="image"><img alt="Item-Capteur dhumidite-Temperature DHT22 Arduino-lib-DHT.png" src="/images/8/8e/Item-Capteur_dhumidite-Temperature_DHT22_Arduino-lib-DHT.png" width="780" height="100" data-file-width="780" data-file-height="100" /></a></div></div></span></div>La bibliothèque est ici : https://github.com/adafruit/DHT-sensor-library<br /><br /><br /><br />Installez la dépendance Adafruit Unified Sensor Library si le gestionnaire de Bibliothèque ne vous la propose pas :<div class="annotatedImageDiv" typeof="Image" data-resource="Fichier:Item-Capteur dhumidite-Temperature DHT22 Capture decran du 2020-12-08 16-25-59.png" data-sourceimage="https://www.wikidebrouillard.org/images/e/e9/Item-Capteur_dhumidite-Temperature_DHT22_Capture_decran_du_2020-12-08_16-25-59.png"><span ><div class="center"><div class="floatnone"><a href="/wiki/Fichier:Item-Capteur_dhumidite-Temperature_DHT22_Capture_decran_du_2020-12-08_16-25-59.png" class="image"><img alt="Item-Capteur dhumidite-Temperature DHT22 Capture decran du 2020-12-08 16-25-59.png" src="/images/e/e9/Item-Capteur_dhumidite-Temperature_DHT22_Capture_decran_du_2020-12-08_16-25-59.png" width="831" height="128" data-file-width="831" data-file-height="128" /></a></div></div></span></div><br/><br /><br />==Câblage : ==<br />Attention utilisez une résistance de 10KOhm pour la résistance de PULLUP !<div class="annotatedImageDiv" typeof="Image" data-resource="Fichier:Item-Capteur dhumidite-Temperature DHT22 DHT22 bb.jpg" data-sourceimage="https://www.wikidebrouillard.org/images/5/56/Item-Capteur_dhumidite-Temperature_DHT22_DHT22_bb.jpg"><span ><div class="center"><div class="floatnone"><a href="/wiki/Fichier:Item-Capteur_dhumidite-Temperature_DHT22_DHT22_bb.jpg" class="image"><img alt="Item-Capteur dhumidite-Temperature DHT22 DHT22 bb.jpg" src="/images/5/56/Item-Capteur_dhumidite-Temperature_DHT22_DHT22_bb.jpg" width="567" height="768" data-file-width="567" data-file-height="768" /></a></div></div></span></div><br/><br />==Code Minimal==<br /><br/><br /><table class="wikitable" cellspacing="0" border="0"><br /><tr><br /><td height="17" bgcolor="#999999" align="left"><br /></td><td valign="middle" bgcolor="#999999" align="center"><br /></td><td bgcolor="#999999" align="center">Capteur DHT22<br /></td></tr><tr><br /><td rowspan="2" valign="middle" height="49" bgcolor="#999999" align="center">Avant le Setup<br /></td><td valign="middle" bgcolor="#999999" align="center">Importation de la bibliothèque<br /></td><td valign="middle" align="left">#include "DHT.h"<br /></td></tr><tr><br /><td valign="middle" bgcolor="#999999" align="center">Création de l’objet<br /></td><td valign="middle" align="left">DHT dht(broche, DHT22);<br /></td></tr><tr><br /><td valign="middle" height="17" bgcolor="#999999" align="center">Dans le Setup<br /></td><td valign="middle" bgcolor="#999999" align="center">Démarrage de l’objet<br /></td><td valign="middle" align="left">dht.begin();<br /></td></tr><tr><br /><td valign="middle" height="41" bgcolor="#999999" align="center">Dans le Loop<br /></td><td valign="middle" bgcolor="#999999" align="center">Utilisation<br /></td><td valign="middle" align="left">int temp = dht.readTemperature();<br />int hum = dht.readHumidity();<br /></td></tr></table><br /><br/><div class="mw-highlight mw-content-ltr" dir="ltr"><pre><span></span><span class="lineno"> 1 </span><span class="c1">//Ajout de la bibliothèque DHT Sensor Library</span><br /><span class="lineno"> 2 </span><span class="cp">#include</span> <span class="cpf">"DHT.h"</span><span class="cp"></span><br /><span class="lineno"> 3 </span><br /><span class="lineno"> 4 </span><span class="c1">// Broche où est connectée le capteur DHT</span><br /><span class="lineno"> 5 </span><span class="cp">#define DHTPIN D2</span><br /><span class="lineno"> 6 </span><br /><span class="lineno"> 7 </span><span class="c1">// Définir le type de capteur DHT</span><br /><span class="lineno"> 8 </span><span class="cp">#define DHTTYPE DHT22 </span><br /><span class="lineno"> 9 </span><br /><span class="lineno">10 </span><span class="c1">// Initialisation du Capteur DHT</span><br /><span class="lineno">11 </span><span class="n">DHT</span> <span class="nf">dht</span><span class="p">(</span><span class="n">DHTPIN</span><span class="p">,</span> <span class="n">DHTTYPE</span><span class="p">);</span><br /><span class="lineno">12 </span><br /><span class="lineno">13 </span><span class="kr">void</span> <span class="nb">setup</span><span class="p">()</span> <span class="p">{</span><br /><span class="lineno">14 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">begin</span><span class="p">(</span><span class="mi">9600</span><span class="p">);</span> <span class="c1">// démarrage de la connexion série</span><br /><span class="lineno">15 </span> <span class="n">dht</span><span class="p">.</span><span class="nf">begin</span><span class="p">();</span><br /><span class="lineno">16 </span><span class="p">}</span><br /><span class="lineno">17 </span><br /><span class="lineno">18 </span><span class="kr">void</span> <span class="nb">loop</span><span class="p">()</span> <span class="p">{</span><br /><span class="lineno">19 </span> <span class="cm">/* Mesure de température et d'humidité */</span><br /><span class="lineno">20 </span> <span class="c1">//Lecture de l'humidité ambiante</span><br /><span class="lineno">21 </span> <span class="kr">float</span> <span class="n">h</span> <span class="o">=</span> <span class="n">dht</span><span class="p">.</span><span class="n">readHumidity</span><span class="p">();</span><br /><span class="lineno">22 </span> <span class="c1">// Lecture de la température en Celcius</span><br /><span class="lineno">23 </span> <span class="kr">float</span> <span class="n">t</span> <span class="o">=</span> <span class="n">dht</span><span class="p">.</span><span class="nf">readTemperature</span><span class="p">();</span><br /><span class="lineno">24 </span> <span class="c1">//Affichage de la température dans le moniteur série</span><br /><span class="lineno">25 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">print</span><span class="p">(</span><span class="s">"Température : "</span><span class="p">);</span><br /><span class="lineno">26 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="n">t</span><span class="p">);</span><br /><span class="lineno">27 </span> <span class="c1">//Affichage de l'humidité dans le moniteur série</span><br /><span class="lineno">28 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">print</span><span class="p">(</span><span class="s">"Humidité : "</span><span class="p">);</span><br /><span class="lineno">29 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="n">h</span><span class="p">);</span><br /><span class="lineno">30 </span><span class="p">}</span><br /></pre></div></nowiki>  
<nowiki><div class="icon-instructions info-icon"><br /><div class="icon-instructions-icon"><i class="fa fa-info-circle"></i></div><br /><div class="icon-instructions-text">Il doit être alimenté en 5V</div><br /></div><br/><br />=Caractéristiques : =<br /><br />*alimentation maxi : 5V<br/><br /><br />=Bibliothèque : =<br />Pour utiliser le capteur d'inclinaison à bille il n'y a besoin d'aucunes bibliothèques <br />=Câblage : =<br /><div class="annotatedImageDiv" typeof="Image" data-resource="Fichier:Item-Capteur dinclinaison SW-520D.png" data-sourceimage="https://www.wikidebrouillard.org/images/f/f5/Item-Capteur_dinclinaison_SW-520D.png"><span ><div class="center"><div class="floatnone"><a href="/wiki/Fichier:Item-Capteur_dinclinaison_SW-520D.png" class="image"><img alt="Item-Capteur dinclinaison SW-520D" src="/images/f/f5/Item-Capteur_dinclinaison_SW-520D.png" width="1024" height="1024" data-file-width="1024" data-file-height="1024" /></a></div></div></span></div><br/><br />=Le code minimal : =<br /><table class="wikitable" cellspacing="0" border="0"><br /><tr><br /><td height="17" bgcolor="#999999" align="left"><br /></td><td valign="middle" bgcolor="#999999" align="center"><br /></td><td bgcolor="#999999" align="center">SW-520D<br /></td></tr><tr><br /><td rowspan="2" valign="middle" height="49" bgcolor="#999999" align="center">Avant le Setup<br /></td><td valign="middle" bgcolor="#999999" align="center">Importation de la bibliothèque<br /></td><td valign="middle" align="left">Aucune Librairies<br /></td></tr><tr><br /><td valign="middle" bgcolor="#999999" align="center">Définition des pins et des variables<br /></td><td valign="middle" align="left">#define inPin 7<br />int value = 0<br /></td></tr><tr><br /><td valign="middle" height="17" bgcolor="#999999" align="center">Dans le Setup<br /></td><td valign="middle" bgcolor="#999999" align="center">Configuration des pins<br /></td><td valign="middle" align="left">pinMode(inPin, INPUT);<br />Serial.begin(9600);<br /></td></tr><tr><br /><td valign="middle" height="41" bgcolor="#999999" align="center">Dans le Loop<br /></td><td valign="middle" bgcolor="#999999" align="center">Utilisation<br /></td><td valign="middle" align="left">value = digitalRead(inPin);<br /></td></tr></table><br />=Autres fonctionnalités=<br />Aucune autres fonctionalités <br />=Exemple : =<br /><div class="mw-highlight mw-content-ltr" dir="ltr"><pre><span></span><span class="cp">#define inPin 7</span><br /><span class="kr">int</span> <span class="n">value</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span><br /><br /><span class="kr">void</span> <span class="nb">setup</span><span class="p">()</span> <span class="p">{</span><br /> <span class="nf">pinMode</span><span class="p">(</span><span class="n">inPin</span><span class="p">,</span> <span class="kr">INPUT</span><span class="p">);</span><br /> <span class="nf">Serial</span><span class="p">.</span><span class="nf">begin</span><span class="p">(</span><span class="mi">9600</span><span class="p">);</span><br /><span class="p">}</span><br /><span class="kr">void</span> <span class="nb">loop</span><span class="p">()</span> <span class="p">{</span><br /> <span class="n">value</span> <span class="o">=</span> <span class="nf">digitalRead</span><span class="p">(</span><span class="n">inPin</span><span class="p">);</span><br /> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"Valeur: "</span><span class="p">);</span><br /> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="n">value</span><span class="p">);</span><br /><span class="p">}</span><br /></pre></div><span> </span><br /><br /><br/></nowiki>  
<nowiki>==Principe: ==<br />Le capteur CO2 Sensair S8, est un capteur NDIR (InfraRouge non Dispersif), le principe de mesure est un principe optique :<br /><br />Une chambre de mesure est parcourue par un faisceau infrarouge et de l'autre coté de la chambre un capteur ultra sensible mesure les variations d’absorption de la lumière. En fonction des ondes absorbées par la présence de CO2 il en déduit la quantité. Cette mesure utilise le principe de la spectrométrie. (expérience en lien [[Lumière : dispersion de la lumière]] )<div class="annotatedImageDiv" typeof="Image" data-resource="Fichier:Schema de principe du capteur.png" data-sourceimage="https://www.wikidebrouillard.org/images/8/86/Schema_de_principe_du_capteur.png"><span ><div class="center"><div class="floatnone"><a href="/wiki/Fichier:Schema_de_principe_du_capteur.png" class="image" title="Schema de principe"><img alt="Schema de principe" src="/images/8/86/Schema_de_principe_du_capteur.png" width="697" height="333" data-file-width="697" data-file-height="333" /></a></div></div></span></div><br /><br /><br />Selon le Fablab Central Supélec La Fabrique, les capteurs NDIR sont plus fiables et robustes que les capteurs de CO2 utilisant d'autres technologies (chimiques, MOX ...). Plus d'infos http://projetco2.fr/documents/presentation_PM_webinaireco2_v5_bpd.pdf<br />==Caractéristiques : ==<br />Document PDF : http://co2meters.com/Documentation/Manuals/DS_SE_0119_CM_0177_Revised8.pdf<br /><br />*Mesure du CO2 : infrarouge non dispersif (NDIR)<br />*Méthode de mesure : diffusion<br />*Plage de mesure : (0-10 000 ppm)<br />*Temps de réponse : 90% à 2 minutes<br />*Intervalle de mesure: 0,5 Hz (toutes les 2 secondes)<br />*Précision CO2: ± 70ppm ± 3% de la valeur mesurée<br />*Options de communication: UART Modbus<br />*Sortie disponible : analogique<br />*Espérance de vie du capteur : > 15 ans<br />*Intervalle de maintenance : aucun entretien requis<br />*Autodiagnostic : contrôle de fonctionnement complet au démarrage<br /><br /><br/><br />==Bibliothèque : ==<br />Pour utiliser facilement ce capteur, nous vous conseillons d'utiliser la bibliothèque ''AirGradient Air Quality Sensor'' que vous trouverez dans le catalogue de bibliothèques d'Arduino plus d'infos pour la procédure [[Importer des bibliothèques dans l'interface Arduino|<u>Importer des bibliothèques dans l'interface Arduino</u>]]<br /><br/><div class="annotatedImageDiv" typeof="Image" data-resource="Fichier:Item-Capteur de CO2 SENSEAIR S8 Image2.png" data-sourceimage="https://www.wikidebrouillard.org/images/7/7b/Item-Capteur_de_CO2_SENSEAIR_S8_Image2.png"><span ><div class="center"><div class="floatnone"><a href="/wiki/Fichier:Item-Capteur_de_CO2_SENSEAIR_S8_Image2.png" class="image"><img alt="Item-Capteur de CO2 SENSEAIR S8 Image2.png" src="/images/7/7b/Item-Capteur_de_CO2_SENSEAIR_S8_Image2.png" width="827" height="147" data-file-width="827" data-file-height="147" /></a></div></div></span></div><br/>Plus d'infos et sources : <u>https://github.com/airgradienthq/arduino</u><br />==Câblage==<br /><div class="annotatedImageDiv" typeof="Image" data-resource="Fichier:Item-Capteur de CO2 SENSEAIR S8 Capture decran du 2021-04-02 10-56-35.png" data-sourceimage="https://www.wikidebrouillard.org/images/7/75/Item-Capteur_de_CO2_SENSEAIR_S8_Capture_decran_du_2021-04-02_10-56-35.png"><span ><div class="center"><div class="floatnone"><a href="/wiki/Fichier:Item-Capteur_de_CO2_SENSEAIR_S8_Capture_decran_du_2021-04-02_10-56-35.png" class="image"><img alt="Item-Capteur de CO2 SENSEAIR S8 Imageschema.png" src="/images/thumb/7/75/Item-Capteur_de_CO2_SENSEAIR_S8_Capture_decran_du_2021-04-02_10-56-35.png/872px-Item-Capteur_de_CO2_SENSEAIR_S8_Capture_decran_du_2021-04-02_10-56-35.png" width="872" height="591" srcset="/images/thumb/7/75/Item-Capteur_de_CO2_SENSEAIR_S8_Capture_decran_du_2021-04-02_10-56-35.png/1308px-Item-Capteur_de_CO2_SENSEAIR_S8_Capture_decran_du_2021-04-02_10-56-35.png 1.5x, /images/7/75/Item-Capteur_de_CO2_SENSEAIR_S8_Capture_decran_du_2021-04-02_10-56-35.png 2x" data-file-width="1386" data-file-height="939" /></a></div></div></span></div><br/><br />==Code Minimal==<br /><table class="wikitable" cellspacing="0" border="0"><br /><tr><br /><td rowspan="2" valign="middle" height="60" bgcolor="#999999" align="center">Avant le Setup<br /></td><td valign="middle" bgcolor="#999999" align="center">Importation de la bibliothèque<br /></td><td valign="middle" align="left">#include <AirGradient.h><br /></td></tr><tr><br /><td valign="middle" bgcolor="#999999" align="center">Création de l’objet<br /></td><td valign="middle" align="left">AirGradient monCapteur = AirGradient();<br /></td></tr><tr><br /><td valign="middle" height="17" bgcolor="#999999" align="center">Dans le Setup<br /></td><td valign="middle" bgcolor="#999999" align="center">Démarrage de l’objet<br /></td><td valign="middle" align="left">monCapteur.CO2_Init(D4,D3); // coté wemos broche RX (D4), broche TX (D3)<br /></td></tr><tr><br /><td valign="middle" height="17" bgcolor="#999999" align="center">Dans le Loop<br /></td><td valign="middle" bgcolor="#999999" align="center">Utilisation<br /></td><td valign="middle" align="left">int CO2 = monCapteur.getCO2_Raw(); <br /></td></tr></table>Astuce: il est possible RX et TX soient inversé, dans ce cas il vous suffit d'inverser D3 et D4 dans votre code. ATTENTION Valable uniquement pour un wemos ESP8266<br />==Exemple==<br /><br/><div class="mw-highlight mw-content-ltr" dir="ltr"><pre><span></span><span class="lineno"> 0 </span><span class="cp">#include</span> <span class="cpf"><AirGradient.h> // import de la bibliothèque Air Gradient</span><span class="cp"></span><br /><span class="lineno"> 1 </span><span class="n">AirGradient</span> <span class="n">monCapteur</span> <span class="o">=</span> <span class="n">AirGradient</span><span class="p">();</span> <span class="c1">// Création de l'objet "monCapteur"</span><br /><span class="lineno"> 2 </span><br /><span class="lineno"> 3 </span><span class="kr">void</span> <span class="nb">setup</span><span class="p">(){</span><br /><span class="lineno"> 4 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">begin</span><span class="p">(</span><span class="mi">9600</span><span class="p">);</span> <span class="c1">// Démarrage de la liaison série</span><br /><span class="lineno"> 5 </span> <span class="n">monCapteur</span><span class="p">.</span><span class="n">CO2_Init</span><span class="p">(</span><span class="n">D4</span><span class="p">,</span><span class="n">D3</span><span class="p">);</span> <span class="c1">// Démarrage et initialisation de l'objet, définition des broches RX (D4) et TX (D3) du Wemos</span><br /><span class="lineno"> 6 </span><span class="p">}</span><br /><span class="lineno"> 7 </span><br /><span class="lineno"> 8 </span><span class="kr">void</span> <span class="nb">loop</span><span class="p">(){</span><br /><span class="lineno"> 9 </span><span class="kr">int</span> <span class="n">CO2</span> <span class="o">=</span> <span class="n">monCapteur</span><span class="p">.</span><span class="n">getCO2_Raw</span><span class="p">();</span> <span class="c1">// mesure brute du CO2 placée dans la variable "CO2"</span><br /><span class="lineno">10 </span><span class="nf">Serial</span><span class="p">.</span><span class="nf">print</span><span class="p">(</span><span class="s">"Taux de CO2 : "</span><span class="p">);</span><br /><span class="lineno">11 </span><span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="n">CO2</span><span class="p">);</span> <span class="c1">// Affichage du CO2 en ppm </span><br /><span class="lineno">12 </span><span class="nf">delay</span><span class="p">(</span><span class="mi">5000</span><span class="p">);</span> <span class="c1">// attente de 5 secondes (le temps de mesure du capteur est de 2s)</span><br /><span class="lineno">13 </span><span class="p">}</span><br /></pre></div><br /><br />== Le capteurs en ASCII pour de beaux codes ! ==<br /><div class="mw-highlight mw-content-ltr" dir="ltr"><pre><span></span><span class="cm">/*</span><br /><span class="cm">Senseair S8</span><br /><span class="cm"> ________________________</span><br /><span class="cm">|*/</span><br /></pre></div>Exemple pour décrire la connexion à un D1 mini :<div class="mw-highlight mw-content-ltr" dir="ltr"><pre><span></span><span class="cm">/* D1 mini</span><br /><span class="cm"> BROCHAGE </span><br /><span class="cm"> _________________ </span><br /><span class="cm"> / D1 mini \ </span><br /><span class="cm"> |[ ]RST TX[ ]| </span><br /><span class="cm"> |[ ]A0 -GPIO RX[ ]| </span><br /><span class="cm"> |[ ]D0-16 5-D1[ ]| </span><br /><span class="cm"> |[ ]D5-14 4-D2[ ]| </span><br /><span class="cm"> |[ ]D6-12 0-D3[X]| -> UART_RxD </span><br /><span class="cm"> |[ ]D7-13 2-D4[X]| -> UART_TxD </span><br /><span class="cm"> |[ ]D8-15 GND[X]| -> G0 </span><br /><span class="cm"> |[ ]3V3 . 5V[X]| -> G+ </span><br /><span class="cm"> | +---+ | </span><br /><span class="cm"> |_______|USB|_______| </span><br /><br /><span class="cm"> ________________________</span><br /><span class="cm"> | |° ° ° ° ° °| | |</span><br /><span class="cm"> +5V <- G+ |[X]| ° ° ° ° °/ |[ ]| DVCC_out</span><br /><span class="cm"> GND <- G0 |[X]|° ° ° ° °/ |[X]| UART_RxD -> D3</span><br /><span class="cm"> Alarm_OC |[ ]|_°_°_°_°| |[X]| UART_TxD -> D4</span><br /><span class="cm"> PWM 1Khz |[ ]| |[ ]| UART_R/T</span><br /><span class="cm"> | | SenseAir® S8 |[ ]| bCAL_in/CAL</span><br /><span class="cm"> |___|________________|___|</span><br /><span class="cm">*/</span><br /></pre></div><br/><br />==<span>Note pour la calibration du Capteur</span>==<br />Il est possible que votre capteur de dérègle ou que vous le receviez non étalonné. Pour calibrer votre capteur '''il suffit de le placer à l'extérieur,''' à l’abri de toute pollution (évitez les abords d'une autoroute. ) et '''d'appuyer sur le bouton calibration pendant 6 secondes''' (entre 4 et 8 secondes, pas plus sinon au bout de 13 secondesil passe dans un autre mode de calibration ).<br /><br />Votre capteur devrait alors indiquer 400 ppm valeur nominale de quantité de CO2 à l'extérieur.<br /><br />==Liens Utiles : ==<br />Projet CO2 :<br /><br />http://projetco2.fr/<br /><br />http://lafabrique.centralesupelec.fr/projetco2/document/la_fabrique_projetCO2_v7.pdf<br /><br /><br />Expériences en lien avec le fonctionnement du capteur (absorption de la lumière, spectrométrie) :<br /><br />[[Pourquoi le ciel est-il bleu]]<br /><br />[[Arc-en-ciel de chambre]]<br /><br />[[Lumière : dispersion de la lumière]]<br /><br />[[Disque de Newton]]<br /><br />[[Gonfler un ballon sans souffler]]<br /><br />==Idées pour frankencoder : ==<br />Un capteur connecté :<br /><br />[[Créer un compte chez AdafruitIO pour envoyer des données dans le web]]<br /><br />[[Envoyer des données sur le WEB grâce à MQTT]]<br /><br /><br />Une interface WEB :<br /><br />[[Créer une Interface Web pour ESP32]]<br /><br /><br />Un capteur avec un écran :<br /><br />[[Item:Ecran OLED 1.3 pouces I2C]]<br /><br /><br/></nowiki>  
<nowiki><div class="icon-instructions info-icon"><br /><div class="icon-instructions-icon"><i class="fa fa-info-circle"></i></div><br /><div class="icon-instructions-text">Il doit être alimenté en 5V</div><br /></div><br/><br />=Caractéristiques : =<br /><br />*alimentation maxi : 6V<br/><br /><br />=Bibliothèque : =<br />Pour utiliser le capteur de couleur il n'y a besoin d'aucunes bibliothèques<br /><br/><br /><br />=Câblage : =<br /><div class="annotatedImageDiv" typeof="Image" data-resource="Fichier:Item-Color Sensor TCS 3200.png" data-sourceimage="https://www.wikidebrouillard.org/images/2/26/Item-Color_Sensor_TCS_3200.png"><span ><div class="center"><div class="floatnone"><a href="/wiki/Fichier:Item-Color_Sensor_TCS_3200.png" class="image"><img alt="Item-Color Sensor TCS 3200" src="/images/2/26/Item-Color_Sensor_TCS_3200.png" width="842" height="501" data-file-width="842" data-file-height="501" /></a></div></div></span></div><br /><br /><br />=Le code minimal : =<br /><table class="wikitable" cellspacing="0" border="0"><br /><tr><br /><td height="17" bgcolor="#999999" align="left"><br /></td><td valign="middle" bgcolor="#999999" align="center"><br /></td><td bgcolor="#999999" align="center">TCS 3200<br /></td></tr><tr><br /><td rowspan="2" valign="middle" height="49" bgcolor="#999999" align="center">Avant le Setup<br /></td><td valign="middle" bgcolor="#999999" align="center">Importation de la bibliothèque<br /></td><td valign="middle" align="left">Aucune Librairies<br /></td></tr><tr><br /><td valign="middle" bgcolor="#999999" align="center">Définition des pins et des variables<br /></td><td valign="middle" align="left">#define S0 4<br /><br />#define S1 5<br /><br />#define S2 6<br /><br />#define S3 7<br /><br />#define sensorOut 8<br /><br />int redFrequency = 0;<br /><br />int greenFrequency = 0;<br /><br />int blueFrequency = 0;<br /><br/><br /></td></tr><tr><br /><td valign="middle" height="17" bgcolor="#999999" align="center">Dans le Setup<br /></td><td valign="middle" bgcolor="#999999" align="center">Configuration des pins & initialisation des valeurs<br /></td><td valign="middle" align="left">pinMode(S0, OUTPUT);<br /><br />pinMode(S1, OUTPUT);<br /><br />pinMode(S2, OUTPUT);<br /><br />pinMode(S3, OUTPUT); <br /><br />pinMode(sensorOut, INPUT);<br /><br />digitalWrite(S0,HIGH);<br /><br />digitalWrite(S1,LOW);<br /></td></tr><tr><br /><td valign="middle" height="41" bgcolor="#999999" align="center">Dans le Loop<br /></td><td valign="middle" bgcolor="#999999" align="center">Utilisation<br /></td><td valign="middle" align="left">redFrequency = pulseIn(sensorOut, LOW);<br /><br />greenFrequency = pulseIn(sensorOut, LOW);<br /><br />blueFrequency = pulseIn(sensorOut, LOW);<br /></td></tr></table><br /><br />=Autres fonctionnalités=<br />Aucune autres fonctionalités<br /><br/><br /><br />=Exemple : =<br /><div class="mw-highlight mw-content-ltr" dir="ltr"><pre><span></span><span class="cp">#define S0 4</span><br /><span class="cp">#define S1 5</span><br /><span class="cp">#define S2 6</span><br /><span class="cp">#define S3 7</span><br /><span class="cp">#define sensorOut 8</span><br /><br /><span class="kr">int</span> <span class="n">redFrequency</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span><br /><span class="kr">int</span> <span class="n">greenFrequency</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span><br /><span class="kr">int</span> <span class="n">blueFrequency</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span><br /><br /><span class="kr">void</span> <span class="nb">setup</span><span class="p">()</span> <span class="p">{</span><br /> <span class="nf">pinMode</span><span class="p">(</span><span class="n">S0</span><span class="p">,</span> <span class="kr">OUTPUT</span><span class="p">);</span><br /> <span class="nf">pinMode</span><span class="p">(</span><span class="n">S1</span><span class="p">,</span> <span class="kr">OUTPUT</span><span class="p">);</span><br /> <span class="nf">pinMode</span><span class="p">(</span><span class="n">S2</span><span class="p">,</span> <span class="kr">OUTPUT</span><span class="p">);</span><br /> <span class="nf">pinMode</span><span class="p">(</span><span class="n">S3</span><span class="p">,</span> <span class="kr">OUTPUT</span><span class="p">);</span><br /> <br /> <span class="nf">pinMode</span><span class="p">(</span><span class="n">sensorOut</span><span class="p">,</span> <span class="kr">INPUT</span><span class="p">);</span><br /> <br /> <span class="nf">digitalWrite</span><span class="p">(</span><span class="n">S0</span><span class="p">,</span><span class="kr">HIGH</span><span class="p">);</span><br /> <span class="nf">digitalWrite</span><span class="p">(</span><span class="n">S1</span><span class="p">,</span><span class="kr">LOW</span><span class="p">);</span><br /> <br /> <span class="nf">Serial</span><span class="p">.</span><span class="nf">begin</span><span class="p">(</span><span class="mi">9600</span><span class="p">);</span><br /><span class="p">}</span><br /><span class="kr">void</span> <span class="nb">loop</span><span class="p">()</span> <span class="p">{</span><br /> <span class="nf">digitalWrite</span><span class="p">(</span><span class="n">S2</span><span class="p">,</span><span class="kr">LOW</span><span class="p">);</span><br /> <span class="nf">digitalWrite</span><span class="p">(</span><span class="n">S3</span><span class="p">,</span><span class="kr">LOW</span><span class="p">);</span><br /> <br /> <span class="n">redFrequency</span> <span class="o">=</span> <span class="nf">pulseIn</span><span class="p">(</span><span class="n">sensorOut</span><span class="p">,</span> <span class="kr">LOW</span><span class="p">);</span><br /> <br /> <span class="nf">Serial</span><span class="p">.</span><span class="nf">print</span><span class="p">(</span><span class="s">"R = "</span><span class="p">);</span><br /> <span class="nf">Serial</span><span class="p">.</span><span class="nf">print</span><span class="p">(</span><span class="n">redFrequency</span><span class="p">);</span><br /> <span class="nf">delay</span><span class="p">(</span><span class="mi">100</span><span class="p">);</span><br /> <br /> <span class="nf">digitalWrite</span><span class="p">(</span><span class="n">S2</span><span class="p">,</span><span class="kr">HIGH</span><span class="p">);</span><br /> <span class="nf">digitalWrite</span><span class="p">(</span><span class="n">S3</span><span class="p">,</span><span class="kr">HIGH</span><span class="p">);</span><br /> <br /> <span class="n">greenFrequency</span> <span class="o">=</span> <span class="nf">pulseIn</span><span class="p">(</span><span class="n">sensorOut</span><span class="p">,</span> <span class="kr">LOW</span><span class="p">);</span><br /> <br /> <span class="nf">Serial</span><span class="p">.</span><span class="nf">print</span><span class="p">(</span><span class="s">" V = "</span><span class="p">);</span><br /> <span class="nf">Serial</span><span class="p">.</span><span class="nf">print</span><span class="p">(</span><span class="n">greenFrequency</span><span class="p">);</span><br /> <span class="nf">delay</span><span class="p">(</span><span class="mi">100</span><span class="p">);</span><br /> <br /> <span class="nf">digitalWrite</span><span class="p">(</span><span class="n">S2</span><span class="p">,</span><span class="kr">LOW</span><span class="p">);</span><br /> <span class="nf">digitalWrite</span><span class="p">(</span><span class="n">S3</span><span class="p">,</span><span class="kr">HIGH</span><span class="p">);</span><br /> <br /> <span class="n">blueFrequency</span> <span class="o">=</span> <span class="nf">pulseIn</span><span class="p">(</span><span class="n">sensorOut</span><span class="p">,</span> <span class="kr">LOW</span><span class="p">);</span><br /> <br /> <span class="nf">Serial</span><span class="p">.</span><span class="nf">print</span><span class="p">(</span><span class="s">" B = "</span><span class="p">);</span><br /> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="n">blueFrequency</span><span class="p">);</span><br /> <span class="nf">delay</span><span class="p">(</span><span class="mi">100</span><span class="p">);</span><br /><span class="p">}</span><br /></pre></div><br/></nowiki>  
<nowiki><div class="icon-instructions info-icon"><br /><div class="icon-instructions-icon"><i class="fa fa-info-circle"></i></div><br /><div class="icon-instructions-text">Il doit être alimenté en 5V</div><br /></div><br /><br /><br /><br />plus d'infos sur [https://pdf1.alldatasheet.fr/datasheet-pdf/view/652087/ETC2/SW-420.html la notice du composant "datasheet".]<br />=Caractéristiques=<br /><br />*alimentation maxi : 5V<br /><br /><br/><br />=Bibliothèque : =<br />Pour utiliser le capteur de vibration il n'y a besoin d'aucunes bibliothèques<br />=Câblage : =<br /><br/><div class="annotatedImageDiv" typeof="Image" data-resource="Fichier:Item Vibration Sensor SW420.png" data-sourceimage="https://www.wikidebrouillard.org/images/c/ce/Item_Vibration_Sensor_SW420.png"><span ><div class="center"><div class="floatnone"><a href="/wiki/Fichier:Item_Vibration_Sensor_SW420.png" class="image"><img alt="Item Vibration Sensor SW420" src="/images/c/ce/Item_Vibration_Sensor_SW420.png" width="971" height="518" data-file-width="971" data-file-height="518" /></a></div></div></span></div><br/><br />=Le code minimal : =<br /><table class="wikitable" cellspacing="0" border="0"><br /><tr><br /><td height="17" bgcolor="#999999" align="left"><br /></td><td valign="middle" bgcolor="#999999" align="center"><br /></td><td bgcolor="#999999" align="center">Vibration Sensor SW-420<br /></td></tr><tr><br /><td rowspan="2" valign="middle" height="49" bgcolor="#999999" align="center">Avant le Setup<br /></td><td valign="middle" bgcolor="#999999" align="center">Importation de la bibliothèque<br /></td><td valign="middle" align="left">Aucunes bibliothèques<br /></td></tr><tr><br /><td valign="middle" bgcolor="#999999" align="center">Création des variables<br /></td><td valign="middle" align="left">int Vibration_signal = 7;<br />int Sensor_state = 1;<br /></td></tr><tr><br /><td valign="middle" height="17" bgcolor="#999999" align="center">Dans le Setup<br /></td><td valign="middle" bgcolor="#999999" align="center">Configuration de la broche<br /></td><td valign="middle" align="left">pinMode(Vibration_signal, INPUT);<br /></td></tr><tr><br /><td valign="middle" height="41" bgcolor="#999999" align="center">Dans le Loop<br /></td><td valign="middle" bgcolor="#999999" align="center">Utilisation<br /></td><td valign="middle" align="left">Serial.print("État des vibrations : ");<br /><br />Sensor_state = digitalRead(Vibration_signal);<br /><br />if (Sensor_state == 1) {<br /><br />Serial.println("Détection des vibrations");<br /><br />} else {<br /><br />Serial.println("Pas de vibration");<br /><br />}<br /><br />delay(50);<br /></td></tr></table><br />=Autres fonctionnalités=<br />Aucune autres fonctionnalités<br />=Exemple : =<br /><div class="mw-highlight mw-content-ltr" dir="ltr"><pre><span></span><span class="lineno"> 1 </span><span class="kr">int</span> <span class="n">Vibration_signal</span> <span class="o">=</span> <span class="mi">7</span><span class="p">;</span><br /><span class="lineno"> 2 </span><span class="kr">int</span> <span class="n">Sensor_state</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span><br /><span class="lineno"> 3 </span><br /><span class="lineno"> 4 </span><span class="kr">void</span> <span class="nb">setup</span><span class="p">()</span> <span class="p">{</span><br /><span class="lineno"> 5 </span> <span class="nf">pinMode</span><span class="p">(</span><span class="n">Vibration_signal</span><span class="p">,</span> <span class="kr">INPUT</span><span class="p">);</span><br /><span class="lineno"> 6 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">begin</span><span class="p">(</span><span class="mi">9600</span><span class="p">);</span><br /><span class="lineno"> 7 </span><span class="p">}</span><br /><span class="lineno"> 8 </span><br /><span class="lineno"> 9 </span><span class="kr">void</span> <span class="nb">loop</span><span class="p">()</span> <span class="p">{</span><br /><span class="lineno">10 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">print</span><span class="p">(</span><span class="s">"État des vibrations : "</span><span class="p">);</span><br /><span class="lineno">11 </span> <span class="n">Sensor_state</span> <span class="o">=</span> <span class="nf">digitalRead</span><span class="p">(</span><span class="n">Vibration_signal</span><span class="p">);</span><br /><span class="lineno">12 </span> <span class="k">if</span> <span class="p">(</span><span class="n">Sensor_state</span> <span class="o">==</span> <span class="mi">1</span><span class="p">)</span> <span class="p">{</span><br /><span class="lineno">13 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"Détection des vibrations"</span><span class="p">);</span><br /><span class="lineno">14 </span> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span><br /><span class="lineno">15 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"Pas de vibration"</span><span class="p">);</span><br /><span class="lineno">16 </span> <span class="p">}</span><br /><span class="lineno">17 </span> <span class="nf">delay</span><span class="p">(</span><span class="mi">50</span><span class="p">);</span><br /><span class="lineno">18 </span><span class="p">}</span><br /></pre></div><span> </span></nowiki>  
<nowiki><div class="icon-instructions info-icon"><br /><div class="icon-instructions-icon"><i class="fa fa-info-circle"></i></div><br /><div class="icon-instructions-text">Il doit être alimenté en 3.3V</div><br /></div><br/><br />=Caractéristiques : =<br /><br />*alimentation maxi : 5V<br/><br /><br />=Bibliothèque : =<br />Pour utiliser facilement ce capteur, nous vous conseillons d'utiliser la bibliothèque<br /><br />AdaFruit TCS34725(présente dans le gestionnaire de bibliothèques arduino)<br /><br />plus d'infos pour [[Importer des bibliothèques dans l'interface Arduino]]<br /><br/><div class="annotatedImageDiv" typeof="Image" data-resource="Fichier:Item-RGB Color Sensor TCS3472 Library.png" data-sourceimage="https://www.wikidebrouillard.org/images/d/df/Item-RGB_Color_Sensor_TCS3472_Library.png"><span ><div class="center"><div class="floatnone"><a href="/wiki/Fichier:Item-RGB_Color_Sensor_TCS3472_Library.png" class="image"><img alt="Item-RGB Color Sensor TCS3472 Library" src="/images/d/df/Item-RGB_Color_Sensor_TCS3472_Library.png" width="1033" height="196" data-file-width="1033" data-file-height="196" /></a></div></div></span></div><br /><br /><br />La bibliothèque est disponible ici : https://github.com/adafruit/Adafruit_TCS34725<br /><br />=Câblage : =<br /><br/><div class="annotatedImageDiv" typeof="Image" data-resource="Fichier:Item-RGB Color Sensor TCS3472.png" data-sourceimage="https://www.wikidebrouillard.org/images/6/6c/Item-RGB_Color_Sensor_TCS3472.png"><span ><div class="center"><div class="floatnone"><a href="/wiki/Fichier:Item-RGB_Color_Sensor_TCS3472.png" class="image"><img alt="Item-RGB Color Sensor TCS3472" src="/images/6/6c/Item-RGB_Color_Sensor_TCS3472.png" width="908" height="574" data-file-width="908" data-file-height="574" /></a></div></div></span></div><br/><br />=Le code minimal : =<br /><table class="wikitable" cellspacing="0" border="0"><br /><tr><br /><td height="17" bgcolor="#999999" align="left"><br /></td><td valign="middle" bgcolor="#999999" align="center"><br /></td><td bgcolor="#999999" align="center">TCS 3472<br /></td></tr><tr><br /><td rowspan="2" valign="middle" height="49" bgcolor="#999999" align="center">Avant le Setup<br /></td><td valign="middle" bgcolor="#999999" align="center">Importation de la bibliothèque<br /></td><td valign="middle" align="left">#include <Wire.h><br />#include "Adafruit_TCS34725.h"<br /></td></tr><tr><br /><td valign="middle" bgcolor="#999999" align="center">Initialisation de l'objet<br /></td><td valign="middle" align="left">Adafruit_TCS34725 tcs = Adafruit_TCS34725(TCS34725_INTEGRATIONTIME_614MS, TCS34725_GAIN_1X);<br /></td></tr><tr><br /><td valign="middle" height="17" bgcolor="#999999" align="center">Dans le Setup<br /></td><td valign="middle" bgcolor="#999999" align="center">Configuration de l'objet<br /></td><td valign="middle" align="left">if (tcs.begin()) {<br />    Serial.println("Capteur Trouvé");<br /><br />} else {<br /><br />    Serial.println("Aucun TCS34725 trouvé ... vérifie la connections");<br /><br />    while (1);<br /><br />}<br /></td></tr><tr><br /><td valign="middle" height="41" bgcolor="#999999" align="center">Dans le Loop<br /></td><td valign="middle" bgcolor="#999999" align="center">Utilisation<br /></td><td valign="middle" align="left">uint16_t r, g, b, c, colorTemp, lux;<br />tcs.getRawData(&r, &g, &b, &c);<br /><br />colorTemp = tcs.calculateColorTemperature_dn40(r, g, b, c);<br /><br />lux = tcs.calculateLux(r, g, b);<br /><br />Serial.println("Détection des couleurs");<br /><br />Serial.print("Lux: ");<br /><br />Serial.println(lux, DEC);<br /><br />Serial.print("ROUGE: ");<br /><br />Serial.println(r, DEC);<br /><br />Serial.print("VERT: ");<br /><br />Serial.println(g, DEC);<br /><br />Serial.print("BLEU: ");<br /><br />Serial.println(b, DEC);<br /><br /><br/><br /></td></tr></table><br />=Autres fonctionnalités=<br />Aucune autres fonctionalités <br />=Exemple : =<br /><div class="mw-highlight mw-content-ltr" dir="ltr"><pre><span></span><span class="cp">#include</span> <span class="cpf"><Wire.h></span><span class="cp"></span><br /><span class="cp">#include</span> <span class="cpf">"Adafruit_TCS34725.h"</span><span class="cp"></span><br /><br /><span class="n">Adafruit_TCS34725</span> <span class="n">tcs</span> <span class="o">=</span> <span class="n">Adafruit_TCS34725</span><span class="p">(</span><span class="n">TCS34725_INTEGRATIONTIME_614MS</span><span class="p">,</span> <span class="n">TCS34725_GAIN_1X</span><span class="p">);</span><br /><br /><span class="kr">void</span> <span class="nb">setup</span><span class="p">()</span> <span class="p">{</span><br /> <span class="nf">Serial</span><span class="p">.</span><span class="nf">begin</span><span class="p">(</span><span class="mi">9600</span><span class="p">);</span><br /><br /> <span class="k">if</span> <span class="p">(</span><span class="n">tcs</span><span class="p">.</span><span class="nf">begin</span><span class="p">())</span> <span class="p">{</span><br /> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"Capteur Trouvé"</span><span class="p">);</span><br /> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span><br /> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"Aucun TCS34725 trouvé ... vérifier la connections"</span><span class="p">);</span><br /> <span class="k">while</span> <span class="p">(</span><span class="mi">1</span><span class="p">);</span><br /> <span class="p">}</span><br /><span class="p">}</span><br /><br /><span class="kr">void</span> <span class="nb">loop</span><span class="p">()</span> <span class="p">{</span><br /> <span class="kr">uint16_t</span> <span class="n">r</span><span class="p">,</span> <span class="n">g</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">c</span><span class="p">,</span> <span class="n">colorTemp</span><span class="p">,</span> <span class="n">lux</span><span class="p">;</span><br /><br /> <span class="n">tcs</span><span class="p">.</span><span class="n">getRawData</span><span class="p">(</span><span class="o">&</span><span class="n">r</span><span class="p">,</span> <span class="o">&</span><span class="n">g</span><span class="p">,</span> <span class="o">&</span><span class="n">b</span><span class="p">,</span> <span class="o">&</span><span class="n">c</span><span class="p">);</span><br /> <span class="n">colorTemp</span> <span class="o">=</span> <span class="n">tcs</span><span class="p">.</span><span class="n">calculateColorTemperature_dn40</span><span class="p">(</span><span class="n">r</span><span class="p">,</span> <span class="n">g</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">c</span><span class="p">);</span><br /> <span class="n">lux</span> <span class="o">=</span> <span class="n">tcs</span><span class="p">.</span><span class="n">calculateLux</span><span class="p">(</span><span class="n">r</span><span class="p">,</span> <span class="n">g</span><span class="p">,</span> <span class="n">b</span><span class="p">);</span><br /><br /> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"Détection des couleurs"</span><span class="p">);</span><br /> <span class="nf">Serial</span><span class="p">.</span><span class="nf">print</span><span class="p">(</span><span class="s">"Lux: "</span><span class="p">);</span><br /> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="n">lux</span><span class="p">,</span> <span class="n">DEC</span><span class="p">);</span><br /> <span class="nf">Serial</span><span class="p">.</span><span class="nf">print</span><span class="p">(</span><span class="s">"ROUGE: "</span><span class="p">);</span><br /> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="n">r</span><span class="p">,</span> <span class="n">DEC</span><span class="p">);</span><br /> <span class="nf">Serial</span><span class="p">.</span><span class="nf">print</span><span class="p">(</span><span class="s">"VERT: "</span><span class="p">);</span><br /> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="n">g</span><span class="p">,</span> <span class="n">DEC</span><span class="p">);</span><br /> <span class="nf">Serial</span><span class="p">.</span><span class="nf">print</span><span class="p">(</span><span class="s">"BLEU: "</span><span class="p">);</span><br /> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="n">b</span><span class="p">,</span> <span class="n">DEC</span><span class="p">);</span><br /><span class="p">}</span><br /></pre></div><span> </span><br /><br /><br/></nowiki>  
<nowiki>==Principe==<br />Le capteur de distance à ultrason permet d'évaluer la distance d'un objet vis a vis du capteur, il fonctionne sur le même principe que les chauves souris.<br /><br />Ce capteur est composé d'un émetteur à ultrasons et d'un micro à ultrason. Lorsque l’émetteur (haut parleur) envoie un ultrason ce dernier va etre réfléchis par l'objet qui est placé devant, puis le son va revenir dans le micro à ultrason du capteur. En mesurant le temps entre l’émission et la réception du son, et sachant que la vitesse du son est de 340,29 m / s on peux en déduire la distance.<br /><br/><div class="annotatedImageDiv" typeof="Image" data-resource="Fichier:Item-Capteur de distance a ultrasons HC-SR04 Principe Ultrasons 1-768x352.jpg" data-sourceimage="https://www.wikidebrouillard.org/images/4/4a/Item-Capteur_de_distance_a_ultrasons_HC-SR04_Principe_Ultrasons_1-768x352.jpg"><span ><div class="center"><div class="floatnone"><a href="/wiki/Fichier:Item-Capteur_de_distance_a_ultrasons_HC-SR04_Principe_Ultrasons_1-768x352.jpg" class="image"><img alt="Item-Capteur de distance a ultrasons HC-SR04 Principe Ultrasons 1-768x352.jpg" src="/images/4/4a/Item-Capteur_de_distance_a_ultrasons_HC-SR04_Principe_Ultrasons_1-768x352.jpg" width="768" height="352" data-file-width="768" data-file-height="352" /></a></div></div></span></div><br /><br />==Caractéristiques : ==<br /><br />*Alimentation: 3,3 ou 5 Vcc<br />*Consommation: 15 mA<br />*Fréquence: 40 kHz<br />*Portée: de 2 cm à 4 m<br />*Déclenchement: impulsion TTL positive de 10µs<br />*Signal écho: impulsion positive TTL proportionnelle à la distance.<br />*Calcul: distance (cm) = impulsion (µs) / 58<br />*Trous de fixation: 1,8 mm<br />*Dimensions: 45 x 20 x 18 mm<br /><br /><br/><br />==Bibliothèque : ==<br />Pour utiliser facilement ce capteur, nous vous conseillons d'utiliser la bibliothèque Ultrasonic (présente dans le gestionnaire de bibliothèques arduino)<br /><br />plus d'infos pour [[Importer des bibliothèques dans l'interface Arduino]]<div class="annotatedImageDiv" typeof="Image" data-resource="Fichier:Item-Capteur de distance a ultrasons HC-SR04 Capture decran du 2020-12-04 14-58-38.png" data-sourceimage="https://www.wikidebrouillard.org/images/1/13/Item-Capteur_de_distance_a_ultrasons_HC-SR04_Capture_decran_du_2020-12-04_14-58-38.png"><span ><div class="center"><div class="floatnone"><a href="/wiki/Fichier:Item-Capteur_de_distance_a_ultrasons_HC-SR04_Capture_decran_du_2020-12-04_14-58-38.png" class="image"><img alt="Item-Capteur de distance a ultrasons HC-SR04 Capture decran du 2020-12-04 14-58-38.png" src="/images/1/13/Item-Capteur_de_distance_a_ultrasons_HC-SR04_Capture_decran_du_2020-12-04_14-58-38.png" width="832" height="135" data-file-width="832" data-file-height="135" /></a></div></div></span></div><br /><br /><br />La bibliothèque est ici : https://github.com/ErickSimoes/Ultrasonic<br /><br />==Câblage : ==<br /><div class="annotatedImageDiv" typeof="Image" data-resource="Fichier:Item-Capteur de distance a ultrasons HC-SR04 Capture decran du 2020-12-04 14-34-42.png" data-sourceimage="https://www.wikidebrouillard.org/images/e/ec/Item-Capteur_de_distance_a_ultrasons_HC-SR04_Capture_decran_du_2020-12-04_14-34-42.png"><span ><div class="center"><div class="floatnone"><a href="/wiki/Fichier:Item-Capteur_de_distance_a_ultrasons_HC-SR04_Capture_decran_du_2020-12-04_14-34-42.png" class="image"><img alt="Item-Capteur de distance a ultrasons HC-SR04 Capture decran du 2020-12-04 14-34-42.png" src="/images/e/ec/Item-Capteur_de_distance_a_ultrasons_HC-SR04_Capture_decran_du_2020-12-04_14-34-42.png" width="494" height="534" data-file-width="494" data-file-height="534" /></a></div></div></span></div><br/><br /><br />==Code Minimal==<br /><table class="wikitable" cellspacing="0" border="0"><br /><tr><br /><td height="17" align="left" bgcolor="#999999"><br /></td><td align="center" valign="middle" bgcolor="#999999"><br /></td><td align="center" bgcolor="#999999">Capteur de distance SR04<br /></td></tr><tr><br /><td rowspan="2" height="60" align="center" valign="middle" bgcolor="#999999">Avant le Setup<br /></td><td align="center" valign="middle" bgcolor="#999999">Importation de la bibliothèque<br /></td><td align="left" valign="middle">#include <Ultrasonic.h><br /></td></tr><tr><br /><td align="center" valign="middle" bgcolor="#999999">Création de l’objet<br /></td><td align="left" valign="middle">Ultrasonic ultrasonic(broche trig, broche echo);<br /></td></tr><tr><br /><td height="17" align="center" valign="middle" bgcolor="#999999">Dans le Setup<br /></td><td align="center" valign="middle" bgcolor="#999999">Démarrage de l’objet<br /></td><td align="left" valign="middle"><br /></td></tr><tr><br /><td height="17" align="center" valign="middle" bgcolor="#999999">Dans le Loop<br /></td><td align="center" valign="middle" bgcolor="#999999">Utilisation<br /></td><td align="left" valign="middle">int distanceCM = ultrasonic.read();<br /></td></tr></table><br /><br />==Exemple : ==<br /><div class="mw-highlight mw-content-ltr" dir="ltr"><pre><span></span><span class="lineno"> 1 </span><span class="c1">//Ajout de la bibliothèque ultrasonic</span><br /><span class="lineno"> 2 </span><span class="cp">#include</span> <span class="cpf"><Ultrasonic.h></span><span class="cp"></span><br /><span class="lineno"> 3 </span><br /><span class="lineno"> 4 </span><span class="c1">//Création de l'objet ultrasonic</span><br /><span class="lineno"> 5 </span><span class="n">Ultrasonic</span> <span class="nf">ultrasonic</span><span class="p">(</span><span class="mi">12</span><span class="p">,</span> <span class="mi">13</span><span class="p">);</span><br /><span class="lineno"> 6 </span><br /><span class="lineno"> 7 </span><br /><span class="lineno"> 8 </span><span class="kr">void</span> <span class="nb">setup</span><span class="p">()</span> <span class="p">{</span><br /><span class="lineno"> 9 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">begin</span><span class="p">(</span><span class="mi">9600</span><span class="p">);</span> <span class="c1">// démarrage de la connexion série</span><br /><span class="lineno">10 </span><span class="p">}</span><br /><span class="lineno">11 </span><br /><span class="lineno">12 </span><span class="kr">void</span> <span class="nb">loop</span><span class="p">()</span> <span class="p">{</span><br /><span class="lineno">13 </span> <span class="c1">//utilisation de l'objet</span><br /><span class="lineno">14 </span> <span class="kr">int</span> <span class="n">distance</span> <span class="o">=</span> <span class="n">ultrasonic</span><span class="p">.</span><span class="nf">read</span><span class="p">();</span><br /><span class="lineno">15 </span> <span class="c1">// affichage de la distance dans le terminal série</span><br /><span class="lineno">16 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">print</span><span class="p">(</span><span class="s">"Distance in CM: "</span><span class="p">);</span><br /><span class="lineno">17 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="n">distance</span><span class="p">);</span><br /><span class="lineno">18 </span> <span class="nf">delay</span><span class="p">(</span><span class="mi">1000</span><span class="p">);</span> <span class="c1">//délais d'une seconde</span><br /><span class="lineno">19 </span><span class="p">}</span><br /></pre></div><br/></nowiki>  
<nowiki>'''Principe:'''<br /><br />Ce capteur est basé sur un laser SDS011 PM2.5/PM10 permettant de tester avec précision et fiabilité la qualité de l'air.<br /><br />Ce laser fiable, rapide et précis mesure le taux de particules dans l'air compris entre 0,3 et 10 µm.<br /><br />Il communique avec un microcontrôleur compatible via une sortie UART. <br /><br />Le capteur est livré sans cordon de raccordement mais peut être utilisé avec des cordons de prototypages M/F par exemple.<br /><br />Une librairie Arduino sous licence GPL est disponible en téléchargement . <br /><br />Librairie Nova_SDS011 Sensor <br /><br />Le capteur SDS011 peut également être utilisé sur un PC via un convertisseur USB vers UART TTL inclus.<br /><br /><br /><br />Caractéristiques :<br /> Alimentation: 4,7 à 5,3 Vcc<br /><br /> Consommation:<br /><br /> - au travail: 70 mA ±10mA<br /><br /> - au repos: < 4 mA <br /><br /> Plage de mesure: 0 à 999,9 µg/m³<br /><br /> Résolution: 0,3 µg/m³<br /><br /> Fréquence d'échantillonage: 1 Hz<br /><br /> Température de service: -10 à 50 °C<br /><br /> Humidité de service: 70 % RH maxi<br /><br /> Pression atmosphérique: 86 KPa à 110 KPa<br /><br /> Dimensions: 71 x 70 x 23 mm<br /><br/><br /><br />==Bibliothèque : ==<br /><div class="annotatedImageDiv" typeof="Image" data-resource="Fichier:Item-Capteur de particules SDS011 Sensor.png" data-sourceimage="https://www.wikidebrouillard.org/images/4/4d/Item-Capteur_de_particules_SDS011_Sensor.png"><span ><div class="center"><div class="floatnone"><a href="/wiki/Fichier:Item-Capteur_de_particules_SDS011_Sensor.png" class="image"><img alt="Item-Capteur de particules SDS011 Sensor.png" src="/images/4/4d/Item-Capteur_de_particules_SDS011_Sensor.png" width="751" height="126" data-file-width="751" data-file-height="126" /></a></div></div></span></div>Pour utiliser facilement ce capteur, nous vous conseillons d'utiliser la bibliothèque ''sds-dust-sensors-arduino-library'' que vous trouverez [https://github.com/lewapek/sds-dust-sensors-arduino-library ici, en cliquant sur ce lien]<br /><br /><br />==Câblage==<br /><div class="annotatedImageDiv" typeof="Image" data-resource="Fichier:Item-Capteur de particules SDS011 Dust sensor .jpg" data-sourceimage="https://www.wikidebrouillard.org/images/b/bd/Item-Capteur_de_particules_SDS011_Dust_sensor_.jpg"><span ><div class="floatleft"><a href="/wiki/Fichier:Item-Capteur_de_particules_SDS011_Dust_sensor_.jpg" class="image"><img alt="Item-Capteur de particules SDS011 Dust sensor .jpg" src="/images/thumb/b/bd/Item-Capteur_de_particules_SDS011_Dust_sensor_.jpg/600px-Item-Capteur_de_particules_SDS011_Dust_sensor_.jpg" width="600" height="312" srcset="/images/thumb/b/bd/Item-Capteur_de_particules_SDS011_Dust_sensor_.jpg/900px-Item-Capteur_de_particules_SDS011_Dust_sensor_.jpg 1.5x, /images/thumb/b/bd/Item-Capteur_de_particules_SDS011_Dust_sensor_.jpg/1200px-Item-Capteur_de_particules_SDS011_Dust_sensor_.jpg 2x" data-file-width="1446" data-file-height="753" /></a></div></span></div><div class="annotatedImageDiv" typeof="Image" data-resource="Fichier:Item-Capteur de particules SDS011 Branchements.png" data-sourceimage="https://www.wikidebrouillard.org/images/b/b4/Item-Capteur_de_particules_SDS011_Branchements.png"><span ><div class="center"><div class="floatnone"><a href="/wiki/Fichier:Item-Capteur_de_particules_SDS011_Branchements.png" class="image"><img alt="Item-Capteur de particules SDS011 Branchements.png" src="/images/b/b4/Item-Capteur_de_particules_SDS011_Branchements.png" width="538" height="294" data-file-width="538" data-file-height="294" /></a></div></div></span></div><div class="annotatedImageDiv" typeof="Image" data-resource="Fichier:Item-Capteur de particules SDS011 IMG 20201210 121324 resized 20201210 121436561.jpg" data-sourceimage="https://www.wikidebrouillard.org/images/9/9b/Item-Capteur_de_particules_SDS011_IMG_20201210_121324_resized_20201210_121436561.jpg"><span ><div class="center"><div class="floatnone"><a href="/wiki/Fichier:Item-Capteur_de_particules_SDS011_IMG_20201210_121324_resized_20201210_121436561.jpg" class="image"><img alt="Item-Capteur de particules SDS011 IMG 20201210 121324 resized 20201210 121436561.jpg" src="/images/thumb/9/9b/Item-Capteur_de_particules_SDS011_IMG_20201210_121324_resized_20201210_121436561.jpg/500px-Item-Capteur_de_particules_SDS011_IMG_20201210_121324_resized_20201210_121436561.jpg" width="500" height="667" srcset="/images/thumb/9/9b/Item-Capteur_de_particules_SDS011_IMG_20201210_121324_resized_20201210_121436561.jpg/750px-Item-Capteur_de_particules_SDS011_IMG_20201210_121324_resized_20201210_121436561.jpg 1.5x, /images/thumb/9/9b/Item-Capteur_de_particules_SDS011_IMG_20201210_121324_resized_20201210_121436561.jpg/1000px-Item-Capteur_de_particules_SDS011_IMG_20201210_121324_resized_20201210_121436561.jpg 2x" data-file-width="1368" data-file-height="1824" /></a></div></div></span></div><br /><br /><br />==Code Minimal==<br /><table class="wikitable" cellspacing="0" border="0"><br /><tr><br /><td rowspan="2" height="60" align="center" valign="middle" bgcolor="#999999">Avant le Setup<br /></td><td align="center" valign="middle" bgcolor="#999999">Importation de la bibliothèque<br /></td><td align="left" valign="middle">#include "SdsDustSensor.h"<br /></td></tr><tr><br /><td align="center" valign="middle" bgcolor="#999999">Création de l’objet<br /></td><td align="left" valign="middle">int rxPin = D5;<br /><br />int txPin = D6;<br /><br />SdsDustSensor sds(rxPin, txPin);<br /></td></tr><tr><br /><td height="17" align="center" valign="middle" bgcolor="#999999">Dans le Setup<br /></td><td align="center" valign="middle" bgcolor="#999999">Démarrage de l’objet<br /></td><td align="left" valign="middle">Serial.begin(9600);<br /><br />sds.begin();<br /></td></tr><tr><br /><td height="17" align="center" valign="middle" bgcolor="#999999">Dans le Loop<br /></td><td align="center" valign="middle" bgcolor="#999999">Utilisation<br /></td><td align="left" valign="middle">PmResult pm = sds.readPm();<br /><br />Serial.print("PM2.5 = ");<br /><br />Serial.print(pm.pm25);<br /><br />Serial.print(", PM10 = ");<br /><br />Serial.println(pm.pm10);<br /></td></tr></table><br />Astuce: il est possible RX et TX soient inverser, dans ce cas il vous suffit d'inverser D5 et D6 dans votre code.<br/><br /><br />==Exemple==<br /><br/><div class="mw-highlight mw-content-ltr" dir="ltr"><pre><span></span><span class="lineno"> 1 </span><span class="cp">#include</span> <span class="cpf">"SdsDustSensor.h"</span><span class="cp"></span><br /><span class="lineno"> 2 </span><br /><span class="lineno"> 3 </span><span class="kr">int</span> <span class="n">rxPin</span> <span class="o">=</span> <span class="n">D5</span><span class="p">;</span><br /><span class="lineno"> 4 </span><span class="kr">int</span> <span class="n">txPin</span> <span class="o">=</span> <span class="n">D6</span><span class="p">;</span><br /><span class="lineno"> 5 </span><span class="n">SdsDustSensor</span> <span class="nf">sds</span><span class="p">(</span><span class="n">rxPin</span><span class="p">,</span> <span class="n">txPin</span><span class="p">);</span><br /><span class="lineno"> 6 </span><br /><span class="lineno"> 7 </span><span class="kr">void</span> <span class="nb">setup</span><span class="p">()</span> <span class="p">{</span><br /><span class="lineno"> 8 </span> <br /><span class="lineno"> 9 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">begin</span><span class="p">(</span><span class="mi">9600</span><span class="p">);</span><br /><span class="lineno">10 </span> <span class="n">sds</span><span class="p">.</span><span class="nf">begin</span><span class="p">();</span><br /><span class="lineno">11 </span><br /><span class="lineno">12 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="n">sds</span><span class="p">.</span><span class="n">queryFirmwareVersion</span><span class="p">().</span><span class="n">toString</span><span class="p">());</span><br /><span class="lineno">13 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="n">sds</span><span class="p">.</span><span class="n">setActiveReportingMode</span><span class="p">().</span><span class="n">toString</span><span class="p">());</span><br /><span class="lineno">14 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="n">sds</span><span class="p">.</span><span class="n">setContinuousWorkingPeriod</span><span class="p">().</span><span class="n">toString</span><span class="p">());</span> <br /><span class="lineno">15 </span><span class="p">}</span><br /><span class="lineno">16 </span><br /><span class="lineno">17 </span><span class="kr">void</span> <span class="nb">loop</span><span class="p">()</span> <span class="p">{</span><br /><span class="lineno">18 </span> <br /><span class="lineno">19 </span> <span class="n">PmResult</span> <span class="n">pm</span> <span class="o">=</span> <span class="n">sds</span><span class="p">.</span><span class="n">readPm</span><span class="p">();</span><br /><span class="lineno">20 </span> <span class="k">if</span> <span class="p">(</span><span class="n">pm</span><span class="p">.</span><span class="n">isOk</span><span class="p">())</span> <span class="p">{</span><br /><span class="lineno">21 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">print</span><span class="p">(</span><span class="s">"PM2.5 = "</span><span class="p">);</span><br /><span class="lineno">22 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">print</span><span class="p">(</span><span class="n">pm</span><span class="p">.</span><span class="n">pm25</span><span class="p">);</span><br /><span class="lineno">23 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">print</span><span class="p">(</span><span class="s">", PM10 = "</span><span class="p">);</span><br /><span class="lineno">24 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="n">pm</span><span class="p">.</span><span class="n">pm10</span><span class="p">);</span><br /><span class="lineno">25 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="n">pm</span><span class="p">.</span><span class="n">toString</span><span class="p">());</span><br /><span class="lineno">26 </span> <span class="p">}</span> <br /><span class="lineno">27 </span> <span class="k">else</span> <span class="p">{</span><br /><span class="lineno">28 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">print</span><span class="p">(</span><span class="s">"Could not read values from sensor, reason: "</span><span class="p">);</span><br /><span class="lineno">29 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="n">pm</span><span class="p">.</span><span class="n">statusToString</span><span class="p">());</span><br /><span class="lineno">30 </span> <span class="p">}</span><br /><span class="lineno">31 </span><br /><span class="lineno">32 </span> <span class="nf">delay</span><span class="p">(</span><span class="mi">500</span><span class="p">);</span><br /><span class="lineno">33 </span><span class="p">}</span><br /></pre></div><br/></nowiki>  
Une '''sonde de pression''' (ou ''[https://fr.wikipedia.org/wiki/Capteur capteur] de pression'') est un dispositif destiné à convertir les variations de [https://fr.wikipedia.org/wiki/Pression pression] en variations de [https://fr.wikipedia.org/wiki/Tension_%C3%A9lectrique tension électrique]. Lorsque la [https://fr.wikipedia.org/wiki/Sonde sonde] est reliée à un [https://fr.wikipedia.org/wiki/Ordinateur système numérique], les variations [https://fr.wikipedia.org/wiki/Analogique analogiques] sont d'abord converties en signaux [https://fr.wikipedia.org/wiki/Num%C3%A9rique numériques] [https://fr.wikipedia.org/wiki/Syst%C3%A8me_binaire binaires] par un [https://fr.wikipedia.org/wiki/Convertisseur_analogique-num%C3%A9rique convertisseur analogique-numérique] avant d'être transmises à l'ordinateur de contrôle et de gestion. L'unité de pression fournie par la sonde peut être exprimée en différentes unités, telle que [https://fr.wikipedia.org/wiki/Bar_(unit%C3%A9) bar], [https://fr.wikipedia.org/wiki/Pascal_(unit%C3%A9) pascal], etc.  +
<nowiki>==Principe : ==<br />Ce module permet la mesure de 4 paramètres différents liés à la qualité de l'air :<br /><br />*la '''température''' ;<br />*'''l'humidité''' ;<br />*la '''pression atmosphérique''' ;<br />*la '''concentration en composés organiques volatils''' (COV) via un capteur MOx, qui contient une couche sensible semi-conductrice (oxydes métalliques) dont la conductivité est dépendante de la composition de l’air qui l’entoure. Le signal obtenu correspond donc à une résistance variable en fonction de l’évolution de la conductivité liée à la teneur en gaz COV.<br /><br />==Caractéristiques : ==<br /><table class="wikitable"><br /><tr><br /><td rowspan="4">Généralités<br /></td><td>Alimentation<br /></td><td>3 à 5 Vcc<br /></td></tr><tr><br /><td>Interface<br /></td><td>I2C et SPI sur connecteur au pas de 2,54 mm<br /></td></tr><tr><br /><td>Dimensions<br /></td><td>30 x 14 x 10 mm<br /></td></tr><tr><br /><td>Poids<br /></td><td>10 g<br /></td></tr><tr><br /><td>Température<br /></td><td>Plage de mesure<br /></td><td> - 40 à 85 °C<br /></td></tr><tr><br /><td rowspan="3">Humidité<br /></td><td>Plage de mesure<br /></td><td>0 à 100 % RH<br /></td></tr><tr><br /><td>Précision relative<br /></td><td>± 3 % RH<br /></td></tr><tr><br /><td>Temps de réponse<br /></td><td>8 sec<br /></td></tr><tr><br /><td rowspan="2">Pression atmosphérique<br /></td><td>Plage de mesure<br /></td><td>300 à 1100 hPa<br /></td></tr><tr><br /><td>Précision absolue<br /></td><td>± 1 hPa<br /></td></tr><tr><br /><td rowspan="2">Qualité de l'air (IAQ)<br /></td><td>Plage de mesure<br /></td><td>0 à 500 (valeur de résistance)<br /></td></tr><tr><br /><td>Temps de réponse<br /></td><td>1 sec<br /></td></tr></table><br />Documentation complète du capteur : https://cdn-shop.adafruit.com/product-files/3660/BME680.pdf<br /><br />==Bibliothèque : ==<br /><div class="annotatedImageDiv" typeof="Image" data-resource="Fichier:Item-Capteur de qualite de lair BME 680 Capture decran du 2022-01-21 11-22-22.png" data-sourceimage="https://www.wikidebrouillard.org/images/2/22/Item-Capteur_de_qualite_de_lair_BME_680_Capture_decran_du_2022-01-21_11-22-22.png"><span ><div class="center"><div class="floatnone"><a href="/wiki/Fichier:Item-Capteur_de_qualite_de_lair_BME_680_Capture_decran_du_2022-01-21_11-22-22.png" class="image"><img alt="Item-Capteur de qualite de lair BME 680 800-455-max.png" src="/images/thumb/2/22/Item-Capteur_de_qualite_de_lair_BME_680_Capture_decran_du_2022-01-21_11-22-22.png/800px-Item-Capteur_de_qualite_de_lair_BME_680_Capture_decran_du_2022-01-21_11-22-22.png" width="800" height="150" srcset="/images/2/22/Item-Capteur_de_qualite_de_lair_BME_680_Capture_decran_du_2022-01-21_11-22-22.png 1.5x" data-file-width="841" data-file-height="158" /></a></div></div></span></div><br /><br /><br /><br />Pour utiliser facilement ce capteur, nous vous conseillons d'utiliser la bibliothèque BSEC du constructeur BOSH [https://www.bosch-sensortec.com/software-tools/software/bsec/ (https://www.bosch-sensortec.com/software-tools/software/bsec/]), présente dans le gestionnaire de bibliothèques Arduino.Cette bibliothèque permet d'obtenir des mesures plus fiables grâce à son algorythme de calculs intégrés, elle permet aussi de mesurer la qualité de l'air intérieur, contrairement aux autres bibliothèques. Plus d'infos pour [[Importer des bibliothèques dans l'interface Arduino]].<br /><br /><br />'''Attention,''' cette bibliothèque n'est pas opensource est est soumise à un copyright. Bosh ne fournit pas les calculs pour obtenir l'indice de qualité de l'air, nous sommes donc obligés de passer par cette bibiothèque pour pouvoir avoir des valeurs fiables.<br/><br /><br />==Câblage : ==<br /><div class="annotatedImageDiv" typeof="Image" data-resource="Fichier:Item-Capteur de qualite de lair BME 680 BME680 bb.jpg" data-sourceimage="https://www.wikidebrouillard.org/images/0/0a/Item-Capteur_de_qualite_de_lair_BME_680_BME680_bb.jpg"><span ><div class="center"><div class="floatnone"><a href="/wiki/Fichier:Item-Capteur_de_qualite_de_lair_BME_680_BME680_bb.jpg" class="image"><img alt="Item-Capteur de qualite de lair BME 680 BME680 bb.jpg" src="/images/0/0a/Item-Capteur_de_qualite_de_lair_BME_680_BME680_bb.jpg" width="519" height="624" data-file-width="519" data-file-height="624" /></a></div></div></span></div><br/><br /><br />==Code minimal : ==<br /><table class="wikitable"><br /><tr><br /><th><br /></th><th><br /></th><th>Capteur BME 680<br /></th></tr><tr><br /><td rowspan="2">Avant le setup<br /></td><td>Importation des bibliothèques<br /></td><td>#include "bsec.h"<br /></td></tr><tr><br /><td>Création de l’objet<br /></td><td>Bsec ''objet;''<br /></td></tr><tr><br /><td>Dans le setup<br /></td><td>Démarrage de l’objet<br /></td><td>Wire.begin();<br />''objet''.begin(BME680_I2C_ADDR_SECONDARY, Wire);<br /><br />//Configuration du capteur<br /><br />bsec_virtual_sensor_t sensorList[4] = { <br /><br />BSEC_OUTPUT_RAW_PRESSURE,<br /><br />BSEC_OUTPUT_IAQ,<br /><br />BSEC_OUTPUT_SENSOR_HEAT_COMPENSATED_TEMPERATURE,<br /><br />BSEC_OUTPUT_SENSOR_HEAT_COMPENSATED_HUMIDITY,<br /><br />};<br /><br />''objet''.updateSubscription(sensorList, 4, BSEC_SAMPLE_RATE_LP);<br /><br/><br /></td></tr><tr><br /><td>Dans le loop<br /></td><td>Utilisation<br /></td><td>if(''objet''.run()){ // Dès que la mesure est effectuée, on affiche les valeurs<br />''objet''.temperature;<br /><br />''objet''.humidity;<br /><br />''objet''.pressure;<br /><br />''objet''.iaq; //indice de qualité de l'ai 0 -500<br /><br />''objet''.accuracy; // fiabilité des mesures (0 -> calibration 3-> mesures fiables)<br /><br />}<br /></td></tr></table><br/><br />==Exemple : ==<br /><div class="mw-highlight mw-content-ltr" dir="ltr"><pre><span></span><span class="lineno"> 1 </span><span class="cp">#include</span> <span class="cpf">"bsec.h" // ajout de la bibliothèque Bsec de Bosh</span><span class="cp"></span><br /><span class="lineno"> 2 </span><span class="n">Bsec</span> <span class="n">iaqSensor</span><span class="p">;</span> <span class="c1">// creation de l'objet Iaq</span><br /><span class="lineno"> 3 </span><br /><span class="lineno"> 4 </span><span class="kr">void</span> <span class="nb">setup</span><span class="p">(</span><span class="kr">void</span><span class="p">)</span><br /><span class="lineno"> 5 </span><span class="p">{</span><br /><span class="lineno"> 6 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">begin</span><span class="p">(</span><span class="mi">115200</span><span class="p">);</span> <span class="c1">// Initialisation de la connexion série</span><br /><span class="lineno"> 7 </span> <span class="nf">Wire</span><span class="p">.</span><span class="nf">begin</span><span class="p">();</span> <span class="c1">// Démarrage de la connexion I2C avec le capteur</span><br /><span class="lineno"> 8 </span><br /><span class="lineno"> 9 </span> <span class="n">iaqSensor</span><span class="p">.</span><span class="nf">begin</span><span class="p">(</span><span class="n">BME680_I2C_ADDR_SECONDARY</span><span class="p">,</span> <span class="nf">Wire</span><span class="p">);</span> <span class="c1">// démarrage du capteur</span><br /><span class="lineno">10 </span> <span class="n">bsec_virtual_sensor_t</span> <span class="n">sensorList</span><span class="p">[</span><span class="mi">4</span><span class="p">]</span> <span class="o">=</span> <span class="p">{</span> <span class="c1">// Configuration du capteur</span><br /><span class="lineno">11 </span> <span class="n">BSEC_OUTPUT_RAW_PRESSURE</span><span class="p">,</span><br /><span class="lineno">12 </span> <span class="n">BSEC_OUTPUT_IAQ</span><span class="p">,</span><br /><span class="lineno">13 </span> <span class="n">BSEC_OUTPUT_SENSOR_HEAT_COMPENSATED_TEMPERATURE</span><span class="p">,</span><br /><span class="lineno">14 </span> <span class="n">BSEC_OUTPUT_SENSOR_HEAT_COMPENSATED_HUMIDITY</span><span class="p">,</span><br /><span class="lineno">15 </span> <span class="p">};</span><br /><span class="lineno">16 </span><br /><span class="lineno">17 </span> <span class="n">iaqSensor</span><span class="p">.</span><span class="n">updateSubscription</span><span class="p">(</span><span class="n">sensorList</span><span class="p">,</span> <span class="mi">4</span><span class="p">,</span> <span class="n">BSEC_SAMPLE_RATE_LP</span><span class="p">);</span> <span class="c1">// configuration du capteur</span><br /><span class="lineno">18 </span><span class="p">}</span><br /><span class="lineno">19 </span><br /><span class="lineno">20 </span><span class="kr">void</span> <span class="nb">loop</span><span class="p">(</span><span class="kr">void</span><span class="p">)</span><br /><span class="lineno">21 </span><span class="p">{</span><br /><span class="lineno">22 </span> <span class="k">if</span> <span class="p">(</span><span class="n">iaqSensor</span><span class="p">.</span><span class="nf">run</span><span class="p">())</span> <span class="p">{</span> <span class="c1">// Dès que l'on reçoit des mesures</span><br /><span class="lineno">23 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">print</span><span class="p">(</span><span class="s">"temperature : "</span><span class="p">);</span><br /><span class="lineno">24 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="n">iaqSensor</span><span class="p">.</span><span class="n">temperature</span><span class="p">);</span> <span class="c1">// Affichage de la température</span><br /><span class="lineno">25 </span><br /><span class="lineno">26 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">print</span><span class="p">(</span><span class="s">"humidite : "</span><span class="p">);</span><br /><span class="lineno">27 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="n">iaqSensor</span><span class="p">.</span><span class="n">humidity</span><span class="p">);</span> <span class="c1">// Affichage de l'humidité</span><br /><span class="lineno">28 </span><br /><span class="lineno">29 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">print</span><span class="p">(</span><span class="s">"pression : "</span><span class="p">);</span><br /><span class="lineno">30 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="n">iaqSensor</span><span class="p">.</span><span class="n">pressure</span><span class="p">);</span> <span class="c1">// Affichage de la pression en Pascal</span><br /><span class="lineno">31 </span><br /><span class="lineno">32 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">print</span><span class="p">(</span><span class="s">"IAQ : "</span><span class="p">);</span><br /><span class="lineno">33 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="n">iaqSensor</span><span class="p">.</span><span class="n">iaq</span><span class="p">);</span> <span class="c1">// Indice de la qualité de l'air</span><br /><span class="lineno">34 </span><br /><span class="lineno">35 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">print</span><span class="p">(</span><span class="s">"iAQ accuracy : "</span><span class="p">);</span><br /><span class="lineno">36 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="n">iaqSensor</span><span class="p">.</span><span class="n">iaqAccuracy</span><span class="p">);</span> <span class="c1">// Indice de calibration (attendre qu'il passe à 3 pour exploiter les mesures environ 2h)</span><br /><span class="lineno">37 </span> <span class="p">}</span><br /><span class="lineno">38 </span><span class="p">}</span><br /></pre></div><br/>Note sur la mesure de COV (Composés Organiques Volatiles) :<br /><br /><br />Ce capteur est étalonné en laboratoire, il est capable de donner une indication de la qualité de l'air intérieur en fonction de la mesure de la résistance de celui-ci. Un indice d'état de la mesure (indice de calibration) nous indique la fiabilité de la mesure :<br /><br />Au démarrage du capteur, les valeurs fournies sont un indice de 25 de qualité de l'air et un indice d'etat de 0, il faut attendre au moins 2h pour commencer à avoir des resultats fiables (indice égal à 3). (La documentation indique 4 jours de calibration)<br /><br />Les gas ciblés par ce capteur sont les suivants :<div class="annotatedImageDiv" typeof="Image" data-resource="Fichier:Item-Capteur de qualite de lair BME 680 Capture decran du 2022-01-20 14-22-06.png" data-sourceimage="https://www.wikidebrouillard.org/images/2/27/Item-Capteur_de_qualite_de_lair_BME_680_Capture_decran_du_2022-01-20_14-22-06.png"><span ><div class="center"><div class="floatnone"><a href="/wiki/Fichier:Item-Capteur_de_qualite_de_lair_BME_680_Capture_decran_du_2022-01-20_14-22-06.png" class="image"><img alt="Item-Capteur de qualite de lair BME 680 Capture decran du 2022-01-20 14-22-06.png" src="/images/2/27/Item-Capteur_de_qualite_de_lair_BME_680_Capture_decran_du_2022-01-20_14-22-06.png" width="895" height="255" data-file-width="895" data-file-height="255" /></a></div></div></span></div>Voici les indices de qualité de l'air intérieur en fonction de la résistance obtenue :<br /><br/><div class="annotatedImageDiv" typeof="Image" data-resource="Fichier:Item-Capteur de qualite de lair BME 680 Iaq table 700.jpg" data-sourceimage="https://www.wikidebrouillard.org/images/b/b4/Item-Capteur_de_qualite_de_lair_BME_680_Iaq_table_700.jpg"><span ><div class="center"><div class="floatnone"><a href="/wiki/Fichier:Item-Capteur_de_qualite_de_lair_BME_680_Iaq_table_700.jpg" class="image"><img alt="Item-Capteur de qualite de lair BME 680 Capture decran du 2022-01-20 14-16-04.png" src="/images/b/b4/Item-Capteur_de_qualite_de_lair_BME_680_Iaq_table_700.jpg" width="700" height="364" data-file-width="700" data-file-height="364" /></a></div></div></span></div><br/></nowiki>  
Au départ la température a un lien avec la sensation de chaud et de froid. Par ailleurs les premiers thermoscopes étaient gradués en très chaud, chaud, tempéré, froid, très froid. Mais très vite nous pouvons voir les limites de cette notion. En effet si vous plongez la main dans de l'eau froide puis dans de l'eau tiède, celle-ci vous paraitra chaude maintenant plongez la main dans de l'eau chaude et remettez-la dans la même eau tiède celle-ci vous paraitra plus froide qu'après. Cette notion n'étant ni précise,ni fidèle, les scientifiques ont voulu trouver un autre moyen de définir et de mesurer la température. La physique statistique définit la température comme un degré d'agitation des atomes et/ou des molécules. Un peu plus tard viendra la notion de désordre avec l'entropie. La thermodynamique apporte une énorme contribution dans la définition de la température. En effet celle-ci est introduite par Sadi Carnot en 1824 dans la notion de machine thermique parfaite décrite par un cycle. Dans cette notion le rapport de températures est défini par un rapport d'énergies. La température est une grandeur intensive, c'est-à-dire qu'elle traduit un "état" du système étudié au même titre qu'une tension électrique, une altitude ou un potentiel chimique, etc. On peut comparer les valeurs d'une grandeur intensive de deux systèmes, mais on ne peut pas en faire la somme. Une grandeur intensive est un potentiel d'où dérive un champ. À une grandeur intensive est associée une grandeur extensive. En thermique, la grandeur extensive associé à la température est l'entropie. Afin de mesurer la température il est nécessaire que le capteur mesure une grandeur physique qui dépend de la température de l'élément à mesurer. C'est-à-dire qu’il existe une relation mathématique qui relie la grandeur G à la température :  +
<nowiki>C'est un capteur One Wire qui renvoie donc l'information avec un seul fil.<br /><br /><br/><br /><br />=== Bibliothèques ===<br />Il faut importer les bibliothèque <br /><br />- OneWire<br /><br />- DallasTemperature<br/><br /><br />===Schéma de câblage===<br /><div class="annotatedImageDiv" typeof="Image" data-resource="Fichier:Item-Capteur de temp rature DS18B20 DS18B20-cablage.png" data-sourceimage="https://www.wikidebrouillard.org/images/f/f1/Item-Capteur_de_temp_rature_DS18B20_DS18B20-cablage.png"><span ><div class="center"><div class="floatnone"><a href="/wiki/Fichier:Item-Capteur_de_temp_rature_DS18B20_DS18B20-cablage.png" class="image" title="cablage DS18B20"><img alt="cablage DS18B20" src="/images/f/f1/Item-Capteur_de_temp_rature_DS18B20_DS18B20-cablage.png" width="1024" height="576" data-file-width="1024" data-file-height="576" /></a></div></div></span></div><br/><br /><br />===Code Minimal===<br /><br /><br /><table class="wikitable" cellspacing="0" border="0"><br /><tr><br /><td height="17" bgcolor="#999999" align="left"><br /></td><td valign="middle" bgcolor="#999999" align="center"><br /></td><td bgcolor="#999999" align="center">DS18B20<br /></td></tr><tr><br /><td rowspan="2" valign="middle" height="49" bgcolor="#999999" align="center">Avant le Setup<br /></td><td valign="middle" bgcolor="#999999" align="center">Importation de la bibliothèque<br /></td><td valign="middle" align="left">#include <OneWire.h><br />#include <DallasTemperature.h><br /></td></tr><tr><br /><td valign="middle" bgcolor="#999999" align="center">Création de l’objet<br /></td><td valign="middle" align="left">OneWire oneWire(ONE_WIRE_BUS); // je crée une instance OneWire<br />DallasTemperature sensors(&oneWire); //je passe One Wire à Dallas temperature<br /></td></tr><tr><br /><td valign="middle" height="17" bgcolor="#999999" align="center">Dans le Setup<br /></td><td valign="middle" bgcolor="#999999" align="center">Démarrage de l’objet<br /></td><td valign="middle" align="left">sensors.begin();<br /></td></tr><tr><br /><td valign="middle" height="41" bgcolor="#999999" align="center">Dans le Loop<br /></td><td valign="middle" bgcolor="#999999" align="center">Utilisation<br /></td><td valign="middle" align="left">sensors.requestTemperatures(); //commande pour récupoérer la température<br />//Nous utilisons la fonction ByIndex et, à titre d'exemple, nous obtenons la température du premier capteur uniquement.<br /><br />float tempC = sensors.getTempCByIndex(0);<br /></td></tr></table><br /><br />===Exemple===<br /><div class="mw-highlight mw-content-ltr" dir="ltr"><pre><span></span><span class="lineno"> 1 </span><span class="c1">// Include the libraries we need</span><br /><span class="lineno"> 2 </span><span class="cp">#include</span> <span class="cpf"><OneWire.h></span><span class="cp"></span><br /><span class="lineno"> 3 </span><span class="cp">#include</span> <span class="cpf"><DallasTemperature.h></span><span class="cp"></span><br /><span class="lineno"> 4 </span><br /><span class="lineno"> 5 </span><span class="c1">// Data wire is plugged into port 2 on the Arduino</span><br /><span class="lineno"> 6 </span><span class="cp">#define ONE_WIRE_BUS 2</span><br /><span class="lineno"> 7 </span><br /><span class="lineno"> 8 </span><span class="c1">// Setup a oneWire instance to communicate with any OneWire devices (not just Maxim/Dallas temperature ICs)</span><br /><span class="lineno"> 9 </span><span class="n">OneWire</span> <span class="nf">oneWire</span><span class="p">(</span><span class="n">ONE_WIRE_BUS</span><span class="p">);</span><br /><span class="lineno">10 </span><br /><span class="lineno">11 </span><span class="c1">// Pass our oneWire reference to Dallas Temperature. </span><br /><span class="lineno">12 </span><span class="n">DallasTemperature</span> <span class="nf">sensors</span><span class="p">(</span><span class="o">&</span><span class="n">oneWire</span><span class="p">);</span><br /><span class="lineno">13 </span><br /><span class="lineno">14 </span><span class="cm">/*</span><br /><span class="lineno">15 </span><span class="cm"> * The setup function. We only start the sensors here</span><br /><span class="lineno">16 </span><span class="cm"> */</span><br /><span class="lineno">17 </span><span class="kr">void</span> <span class="nb">setup</span><span class="p">(</span><span class="kr">void</span><span class="p">)</span><br /><span class="lineno">18 </span><span class="p">{</span><br /><span class="lineno">19 </span> <span class="c1">// start serial port</span><br /><span class="lineno">20 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">begin</span><span class="p">(</span><span class="mi">9600</span><span class="p">);</span><br /><span class="lineno">21 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"Dallas Temperature IC Control Library Demo"</span><span class="p">);</span><br /><span class="lineno">22 </span><br /><span class="lineno">23 </span> <span class="c1">// Start up the library</span><br /><span class="lineno">24 </span> <span class="n">sensors</span><span class="p">.</span><span class="nf">begin</span><span class="p">();</span><br /><span class="lineno">25 </span><span class="p">}</span><br /><span class="lineno">26 </span><br /><span class="lineno">27 </span><span class="cm">/*</span><br /><span class="lineno">28 </span><span class="cm"> * Main function, get and show the temperature</span><br /><span class="lineno">29 </span><span class="cm"> */</span><br /><span class="lineno">30 </span><span class="kr">void</span> <span class="nb">loop</span><span class="p">(</span><span class="kr">void</span><span class="p">)</span><br /><span class="lineno">31 </span><span class="p">{</span> <br /><span class="lineno">32 </span> <span class="c1">// call sensors.requestTemperatures() to issue a global temperature </span><br /><span class="lineno">33 </span> <span class="c1">// request to all devices on the bus</span><br /><span class="lineno">34 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">print</span><span class="p">(</span><span class="s">"Requesting temperatures..."</span><span class="p">);</span><br /><span class="lineno">35 </span> <span class="n">sensors</span><span class="p">.</span><span class="n">requestTemperatures</span><span class="p">();</span> <span class="c1">// Send the command to get temperatures</span><br /><span class="lineno">36 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"DONE"</span><span class="p">);</span><br /><span class="lineno">37 </span> <span class="c1">// After we got the temperatures, we can print them here.</span><br /><span class="lineno">38 </span> <span class="c1">// We use the function ByIndex, and as an example get the temperature from the first sensor only.</span><br /><span class="lineno">39 </span> <span class="kr">float</span> <span class="n">tempC</span> <span class="o">=</span> <span class="n">sensors</span><span class="p">.</span><span class="n">getTempCByIndex</span><span class="p">(</span><span class="mi">0</span><span class="p">);</span><br /><span class="lineno">40 </span><br /><span class="lineno">41 </span> <span class="c1">// Check if reading was successful</span><br /><span class="lineno">42 </span> <span class="k">if</span><span class="p">(</span><span class="n">tempC</span> <span class="o">!=</span> <span class="n">DEVICE_DISCONNECTED_C</span><span class="p">)</span> <br /><span class="lineno">43 </span> <span class="p">{</span><br /><span class="lineno">44 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">print</span><span class="p">(</span><span class="s">"Temperature for the device 1 (index 0) is: "</span><span class="p">);</span><br /><span class="lineno">45 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="n">tempC</span><span class="p">);</span><br /><span class="lineno">46 </span> <span class="p">}</span> <br /><span class="lineno">47 </span> <span class="k">else</span><br /><span class="lineno">48 </span> <span class="p">{</span><br /><span class="lineno">49 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"Error: Could not read temperature data"</span><span class="p">);</span><br /><span class="lineno">50 </span> <span class="p">}</span><br /><span class="lineno">51 </span><span class="p">}</span><br /></pre></div><br/></nowiki>  
Pour utiliser le DHT 11 c'est la même procédure que pour le DHT22. Le code minimal est disponible sur la page [[Item:Capteur d'humidité-Température DHT22]] Pour plus d'info, consultez le site du carnet du Maker : https://www.carnetdumaker.net/articles/utiliser-un-capteur-de-temperature-et-dhumidite-dht11-dht22-avec-une-carte-arduino-genuino/  +
Applications: mesure de température, détecteur de mouvement, interrupteur, automation, etc. Ce module se raccorde sur une entrée analogique du Grove [https://www.gotronic.fr/art-module-grove-base-shield-sld12148p-19068.htm Base Shield] ou du [https://www.gotronic.fr/art-module-grove-mega-shield-sld90147p-19065.htm Mega Shield] via un câble 4 conducteurs inclus. Interface: compatible Grove Alimentation: 3 à 5 vcc Consommation: 200 µA maxi Plage de mesure: -10 à +100 °C Précision: ±2 °C Distance nominale de mesure: 9 cm Dimensions: 40 x 20 x 13 mm Connectique non compatible avec Tinker Kit Référence Seeedstudio: 101020062 (remplace SEN01041P) ''(source gotronic.fr)'' Documentation en anglais : https://wiki.seeedstudio.com/Grove-Infrared_Temperature_Sensor/ Achat :https://www.gotronic.fr/art-capteur-de-temperature-ir-grove-101020062-18966.htm <br/>  +
Ces détecteurs fonctionnent par absorption de photons infrarouge et photogénération de porteurs de charge (effet photovoltaïque ou photoconducteur) créant un excès de courant dans le matériau (photocourant). Les principaux photodétecteurs sont les photodiodes PN (principalement en tellurure de mercure-cadmium - HgCdTe), les photodiodes PIN à hétérojonction de type II, à base d'antimoine, les QWIP (quantum well infrared photodetector) et les QDIP (quantum dot infrared photodetector). Si la sensibilité et le temps de réponse de photodétecteurs sont meilleures que celles des thermodétecteurs, ainsi que pour les premiers la possibilité de détecter simultanément de multiples longueurs d'ondes, les photodétecteurs nécessitent en général d'être refroidis à des températures cryogéniques à cause du bruit thermique.  +
<nowiki>=Caractéristiques du capteur tactile capacitif TTP223=<br />Ce capteur fonctionne par la détection de variation du champ électrique qu'il émet lorsqu'on s'en approche.<br /><br /><br />Ce capteur peut reconnaître des objets même derrière du verre et des surfaces fines. <br /><br />La tension de fonctionnement est de 2 à 5,5 V. <br /><br />Le temps de réponse maximal est de 220 millisecondes. <br /><br />Ce module possède deux broches de réglage non soudées : A et B. <br /><br /><br />Les modes de fonctionnement sont les suivants :<br /><br />*A et B toutes deux ouvertes : La valeur par défaut de la broche de sortie est LOW. Lorsque le capteur est soumis à un toucher, la sortie est HIGH, et lorsqu'aucun toucher n'est détecté, elle redevient LOW.<br />*A ouvert et B fermé : la valeur par défaut de la broche de sortie est LOW. Lorsque le capteur est soumis à un contact, la sortie est HIGH et reste HIGH jusqu'au prochain contact.<br />*B ouvert et A fermé : la valeur par défaut de la broche de sortie est HIGH. Lorsque le capteur est soumis à un contact, la sortie est LOW et lorsqu'aucun contact n'est détecté, elle redevient HIGH.<br />*B fermé et A fermé : La valeur par défaut de la broche de sortie est HIGH. Lorsque le capteur est soumis à un contact, la sortie est LOW et reste LOW jusqu'au prochain contact.<br /><br /><br/><br /><br />==Câblage==<br /><div class="annotatedImageDiv" typeof="Image" data-resource="Fichier:Item-capteur tactile capacitif TTP223 Capteurcapacitif-TTP223-230210 bb.png" data-sourceimage="https://www.wikidebrouillard.org/images/b/b3/Item-capteur_tactile_capacitif_TTP223_Capteurcapacitif-TTP223-230210_bb.png"><span ><div class="center"><div class="floatnone"><a href="/wiki/Fichier:Item-capteur_tactile_capacitif_TTP223_Capteurcapacitif-TTP223-230210_bb.png" class="image" title="brochage du capteur capacitif TTP223"><img alt="brochage du capteur capacitif TTP223" src="/images/b/b3/Item-capteur_tactile_capacitif_TTP223_Capteurcapacitif-TTP223-230210_bb.png" width="624" height="432" data-file-width="624" data-file-height="432" /></a></div></div></span></div><br/><br /><br />==Code minimal==<br /><br/><br /><table class="wikitable" width="617" cellspacing="0" cellpadding="2"><br /><tr><br /><td width="98" height="17" bgcolor="#999999"><br /></td><td width="199" bgcolor="#999999"><br /></td><td width="308" bgcolor="#999999">TTP223<br /></td></tr><tr><br /><td rowspan="2" width="98" bgcolor="#999999">Avant le Setup<br /></td><td width="199" bgcolor="#999999">Importation de la bibliothèque<br /></td><td width="308"><br /></td></tr><tr><br /><td width="199" bgcolor="#999999">Création de l’objet<br /></td><td width="308">const int brocheCapteur = D2;<br/><br /></td></tr><tr><br /><td width="98" height="17" bgcolor="#999999">Dans le Setup<br /></td><td width="199" bgcolor="#999999">Démarrage de l’objet<br /></td><td width="308">pinMode(brocheBouton, INPUT);<br /></td></tr><tr><br /><td width="98" height="17" bgcolor="#999999">Dans le Loop<br /></td><td width="199" bgcolor="#999999">Utilisation<br /></td><td width="308">digitalRead(brocheCapteur);<br /><br/><br /></td></tr></table><br /><br /><br />==Exemple==<br /><br/><div class="mw-highlight mw-content-ltr" dir="ltr"><pre><span></span><span class="lineno"> 1 </span><span class="c1">///////////////////////</span><br /><span class="lineno"> 2 </span><span class="c1">// Capteur Capacitif //</span><br /><span class="lineno"> 3 </span><span class="c1">// TTP223 //</span><br /><span class="lineno"> 4 </span><span class="c1">///////////////////////</span><br /><span class="lineno"> 5 </span><br /><span class="lineno"> 6 </span><span class="cm">/*</span><br /><span class="lineno"> 7 </span><span class="cm">Ce programme est un exemple de base du capteur capacitif TTP223.</span><br /><span class="lineno"> 8 </span><span class="cm">Il écrit "vous avez touché le capetur !" sur le moniteur série lorsque le capteur est activé.</span><br /><span class="lineno"> 9 </span><br /><span class="lineno">10 </span><span class="cm">Lolin (Wemos) D1 mini</span><br /><span class="lineno">11 </span><span class="cm"> </span><br /><span class="lineno">12 </span><span class="cm"> _________________</span><br /><span class="lineno">13 </span><span class="cm"> / D1 mini \</span><br /><span class="lineno">14 </span><span class="cm"> |[ ]RST TX[ ]| Capteur capacitif TTP223</span><br /><span class="lineno">15 </span><span class="cm"> |[ ]A0 -GPIO RX[ ]| +-------------+</span><br /><span class="lineno">16 </span><span class="cm"> |[ ]D0-16 5-D1[ ]| .--|[X]VCC /‾‾‾‾\|</span><br /><span class="lineno">17 </span><span class="cm"> |[ ]D5-14 4-D2[X]|-----------|--|[X]I/O| |</span><br /><span class="lineno">18 </span><span class="cm"> |[ ]D6-12 0-D3[ ]| .-----|--|[X]GND \____/| </span><br /><span class="lineno">19 </span><span class="cm"> |[ ]D7-13 2-D4[ ]| / | |_____________|</span><br /><span class="lineno">20 </span><span class="cm"> |[ ]D8-15 GND[X]|---' /</span><br /><span class="lineno">21 </span><span class="cm"> |[ ]3V3 . 5V[X]|----------'</span><br /><span class="lineno">22 </span><span class="cm"> | +---+ |</span><br /><span class="lineno">23 </span><span class="cm"> |_______|USB|_______|</span><br /><span class="lineno">24 </span><br /><span class="lineno">25 </span><br /><span class="lineno">26 </span><span class="cm"> Matériel :</span><br /><span class="lineno">27 </span><span class="cm"> - Des fils dupont.</span><br /><span class="lineno">28 </span><span class="cm"> - Un LOLIN (Wemos) D1 mini</span><br /><span class="lineno">29 </span><span class="cm"> - Capteur capacitif TTP223</span><br /><span class="lineno">30 </span><br /><span class="lineno">31 </span><span class="cm"> </span><br /><span class="lineno">32 </span><span class="cm"> Schéma de l'Arduino en ASCII-ART CC-By http://busyducks.com/ascii-art-arduinos</span><br /><span class="lineno">33 </span><span class="cm"> Sous licence CC-By-Sa (http://creativecommons.org/licenses/by-nc-sa/3.0/)</span><br /><span class="lineno">34 </span><span class="cm"> ___</span><br /><span class="lineno">35 </span><span class="cm"> / ___ \</span><br /><span class="lineno">36 </span><span class="cm"> |_| | </span><br /><span class="lineno">37 </span><span class="cm"> /_/</span><br /><span class="lineno">38 </span><span class="cm"> _ ___ _</span><br /><span class="lineno">39 </span><span class="cm"> |_| |___|_| |_</span><br /><span class="lineno">40 </span><span class="cm"> ___|_ _|</span><br /><span class="lineno">41 </span><span class="cm"> |___| |_|</span><br /><span class="lineno">42 </span><span class="cm"> Les petits Débrouillards - janvier 2023- CC-By-Sa http://creativecommons.org/licenses/by-nc-sa/3.0/</span><br /><span class="lineno">43 </span><span class="cm"> Inspiré de :</span><br /><span class="lineno">44 </span><span class="cm"> TTP223B-Capacitive-Touch-Switch-Module - 08 Nov 2020</span><br /><span class="lineno">45 </span><span class="cm"> by Amir Mohammad Shojaee @ Electropeak</span><br /><span class="lineno">46 </span><span class="cm"> https://electropeak.com/learn/interfacing-ttp223-capacitive-switch-butto-touch-sensor-with-arduino/</span><br /><span class="lineno">47 </span><br /><span class="lineno">48 </span><span class="cm">*/</span><br /><span class="lineno">49 </span><span class="kr">const</span> <span class="kr">int</span> <span class="n">brocheCapteur</span> <span class="o">=</span> <span class="n">D2</span><span class="p">;</span><br /><span class="lineno">50 </span> <br /><span class="lineno">51 </span><span class="kr">void</span> <span class="nb">setup</span><span class="p">()</span> <span class="p">{</span><br /><span class="lineno">52 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">begin</span><span class="p">(</span><span class="mi">9600</span><span class="p">);</span><br /><span class="lineno">53 </span> <span class="c1">// initialisation de la broche en entrée (INPUT)</span><br /><span class="lineno">54 </span> <span class="nf">pinMode</span><span class="p">(</span><span class="n">brocheCapteur</span><span class="p">,</span> <span class="kr">INPUT</span><span class="p">);</span><br /><span class="lineno">55 </span><span class="p">}</span><br /><span class="lineno">56 </span><br /><span class="lineno">57 </span><span class="kr">void</span> <span class="nb">loop</span><span class="p">()</span> <span class="p">{</span><br /><span class="lineno">58 </span> <span class="k">if</span><span class="p">(</span><span class="nf">digitalRead</span><span class="p">(</span><span class="n">brocheCapteur</span><span class="p">)</span> <span class="o">==</span> <span class="kr">HIGH</span><span class="p">){</span><br /><span class="lineno">59 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"Vous avez touché le capteur !"</span><span class="p">);</span><br /><span class="lineno">60 </span> <span class="k">while</span><span class="p">(</span><span class="nf">digitalRead</span><span class="p">(</span><span class="n">brocheCapteur</span><span class="p">)</span> <span class="o">==</span> <span class="kr">HIGH</span><span class="p">){}</span><br /><span class="lineno">61 </span> <span class="p">}</span><br /><span class="lineno">62 </span><span class="p">}</span><br /></pre></div><br/></nowiki>  
Le carbonate de calcium s'utilise principalement dans les dentifrices comme épaississant et abrasif doux. Il est aussi intéressant pour son pouvoir opacifiant, notamment comme support blanc dans les produits de maquillage. Connu sous le nom "blanc de Meudon" il s'utilise également pour l'entretien ménager, pour nettoyer et polir les surfaces fragiles. Pour plus d'infos : https://www.aroma-zone.com/info/fiche-technique/carbonate-de-calcium-aroma-zone  +