Affichage de 20 pages utilisant cette propriété.
<nowiki><div class="icon-instructions info-icon"><br /><div class="icon-instructions-icon"><i class="fa fa-info-circle" aria-hidden="true"></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://wikidebrouillard.qualif.dokit.app/images/5/5f/Item-End-Stop_Sensor_Library.png"><span ><figure class="mw-halign-center" typeof="mw:File/Frameless"><a href="/wiki/Fichier:Item-End-Stop_Sensor_Library.png" class="mw-file-description"><img alt="Item-End-Stop Sensor Library" src="/images/5/5f/Item-End-Stop_Sensor_Library.png" decoding="async" loading="lazy" width="1031" height="228" class="mw-file-element" data-file-width="1031" data-file-height="228" /></a><figcaption></figcaption></figure></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://wikidebrouillard.qualif.dokit.app/images/9/97/Item-End-Stop_Sensor.png"><span ><figure class="mw-halign-center" typeof="mw:File/Frameless"><a href="/wiki/Fichier:Item-End-Stop_Sensor.png" class="mw-file-description"><img alt="Item-End-Stop Sensor" src="/images/9/97/Item-End-Stop_Sensor.png" decoding="async" loading="lazy" width="1041" height="690" class="mw-file-element" data-file-width="1041" data-file-height="690" /></a><figcaption></figcaption></figure></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-highlight-lang-arduino mw-content-ltr mw-highlight-lines" dir="ltr"><pre><span></span><span class="linenos" data-line="1"></span><span class="cp">#include</span><span class="w"> </span><span class="cpf"><ezButton.h></span><br /><span class="linenos" data-line="2"></span><br /><span class="linenos" data-line="3"></span><span class="n">ezButton</span><span class="w"> </span><span class="nf">limitSwitch</span><span class="p">(</span><span class="mi">7</span><span class="p">);</span><span class="w"> </span><span class="c1">// créer un objet ezButton qui s'attache à la broche 7</span><br /><span class="linenos" data-line="4"></span><br /><span class="linenos" data-line="5"></span><span class="kr">void</span><span class="w"> </span><span class="nb">setup</span><span class="p">()</span><span class="w"> </span><span class="p">{</span><br /><span class="linenos" data-line="6"></span><span class="w"> </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="linenos" data-line="7"></span><span class="w"> </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="w"> </span><span class="c1">// fixer le temps de rebond à 50 millisecondes</span><br /><span class="linenos" data-line="8"></span><br /><span class="linenos" data-line="9"></span><span class="p">}</span><br /><span class="linenos" data-line="10"></span><br /><span class="linenos" data-line="11"></span><span class="kr">void</span><span class="w"> </span><span class="nb">loop</span><span class="p">()</span><span class="w"> </span><span class="p">{</span><br /><span class="linenos" data-line="12"></span><span class="w"> </span><span class="n">limitSwitch</span><span class="p">.</span><span class="nb">loop</span><span class="p">();</span><span class="w"> </span><span class="c1">// DOIT appeler la fonction loop() en premier</span><br /><span class="linenos" data-line="13"></span><br /><span class="linenos" data-line="14"></span><span class="w"> </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="linenos" data-line="15"></span><span class="w"> </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="linenos" data-line="16"></span><br /><span class="linenos" data-line="17"></span><span class="w"> </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="linenos" data-line="18"></span><span class="w"> </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="linenos" data-line="19"></span><br /><span class="linenos" data-line="20"></span><span class="w"> </span><span class="kr">int</span><span class="w"> </span><span class="n">state</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">limitSwitch</span><span class="p">.</span><span class="n">getState</span><span class="p">();</span><br /><span class="linenos" data-line="21"></span><span class="w"> </span><span class="k">if</span><span class="p">(</span><span class="n">state</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="kr">HIGH</span><span class="p">)</span><br /><span class="linenos" data-line="22"></span><span class="w"> </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="linenos" data-line="23"></span><span class="w"> </span><span class="k">else</span><br /><span class="linenos" data-line="24"></span><span class="w"> </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="linenos" data-line="25"></span><br /><span class="linenos" data-line="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://wikidebrouillard.qualif.dokit.app/images/8/8e/Item-Capteur_dhumidite-Temperature_DHT22_Arduino-lib-DHT.png"><span ><figure class="mw-halign-center" typeof="mw:File/Frameless"><a href="/wiki/Fichier:Item-Capteur_dhumidite-Temperature_DHT22_Arduino-lib-DHT.png" class="mw-file-description"><img src="/images/8/8e/Item-Capteur_dhumidite-Temperature_DHT22_Arduino-lib-DHT.png" decoding="async" loading="lazy" width="780" height="100" class="mw-file-element" data-file-width="780" data-file-height="100" /></a><figcaption></figcaption></figure></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://wikidebrouillard.qualif.dokit.app/images/e/e9/Item-Capteur_dhumidite-Temperature_DHT22_Capture_decran_du_2020-12-08_16-25-59.png"><span ><figure class="mw-halign-center" typeof="mw:File/Frameless"><a href="/wiki/Fichier:Item-Capteur_dhumidite-Temperature_DHT22_Capture_decran_du_2020-12-08_16-25-59.png" class="mw-file-description"><img src="/images/e/e9/Item-Capteur_dhumidite-Temperature_DHT22_Capture_decran_du_2020-12-08_16-25-59.png" decoding="async" loading="lazy" width="831" height="128" class="mw-file-element" data-file-width="831" data-file-height="128" /></a><figcaption></figcaption></figure></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://wikidebrouillard.qualif.dokit.app/images/5/56/Item-Capteur_dhumidite-Temperature_DHT22_DHT22_bb.jpg"><span ><figure class="mw-halign-center" typeof="mw:File/Frameless"><a href="/wiki/Fichier:Item-Capteur_dhumidite-Temperature_DHT22_DHT22_bb.jpg" class="mw-file-description"><img src="/images/5/56/Item-Capteur_dhumidite-Temperature_DHT22_DHT22_bb.jpg" decoding="async" loading="lazy" width="567" height="768" class="mw-file-element" data-file-width="567" data-file-height="768" /></a><figcaption></figcaption></figure></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-highlight-lang-arduino mw-content-ltr mw-highlight-lines" dir="ltr"><pre><span></span><span class="linenos" data-line="1"></span><span class="c1">//Ajout de la bibliothèque DHT Sensor Library</span><br /><span class="linenos" data-line="2"></span><span class="cp">#include</span><span class="w"> </span><span class="cpf">"DHT.h"</span><br /><span class="linenos" data-line="3"></span><br /><span class="linenos" data-line="4"></span><span class="c1">// Broche où est connectée le capteur DHT</span><br /><span class="linenos" data-line="5"></span><span class="cp">#define DHTPIN D2</span><br /><span class="linenos" data-line="6"></span><br /><span class="linenos" data-line="7"></span><span class="c1">// Définir le type de capteur DHT</span><br /><span class="linenos" data-line="8"></span><span class="cp">#define DHTTYPE DHT22 </span><br /><span class="linenos" data-line="9"></span><br /><span class="linenos" data-line="10"></span><span class="c1">// Initialisation du Capteur DHT</span><br /><span class="linenos" data-line="11"></span><span class="n">DHT</span><span class="w"> </span><span class="nf">dht</span><span class="p">(</span><span class="n">DHTPIN</span><span class="p">,</span><span class="w"> </span><span class="n">DHTTYPE</span><span class="p">);</span><br /><span class="linenos" data-line="12"></span><br /><span class="linenos" data-line="13"></span><span class="kr">void</span><span class="w"> </span><span class="nb">setup</span><span class="p">()</span><span class="w"> </span><span class="p">{</span><br /><span class="linenos" data-line="14"></span><span class="w"> </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="w"> </span><span class="c1">// démarrage de la connexion série</span><br /><span class="linenos" data-line="15"></span><span class="w"> </span><span class="n">dht</span><span class="p">.</span><span class="nf">begin</span><span class="p">();</span><br /><span class="linenos" data-line="16"></span><span class="p">}</span><br /><span class="linenos" data-line="17"></span><br /><span class="linenos" data-line="18"></span><span class="kr">void</span><span class="w"> </span><span class="nb">loop</span><span class="p">()</span><span class="w"> </span><span class="p">{</span><br /><span class="linenos" data-line="19"></span><span class="w"> </span><span class="cm">/* Mesure de température et d'humidité */</span><br /><span class="linenos" data-line="20"></span><span class="w"> </span><span class="c1">//Lecture de l'humidité ambiante</span><br /><span class="linenos" data-line="21"></span><span class="w"> </span><span class="kr">float</span><span class="w"> </span><span class="n">h</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">dht</span><span class="p">.</span><span class="n">readHumidity</span><span class="p">();</span><br /><span class="linenos" data-line="22"></span><span class="w"> </span><span class="c1">// Lecture de la température en Celcius</span><br /><span class="linenos" data-line="23"></span><span class="w"> </span><span class="kr">float</span><span class="w"> </span><span class="n">t</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">dht</span><span class="p">.</span><span class="nf">readTemperature</span><span class="p">();</span><br /><span class="linenos" data-line="24"></span><span class="w"> </span><span class="c1">//Affichage de la température dans le moniteur série</span><br /><span class="linenos" data-line="25"></span><span class="w"> </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="linenos" data-line="26"></span><span class="w"> </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="linenos" data-line="27"></span><span class="w"> </span><span class="c1">//Affichage de l'humidité dans le moniteur série</span><br /><span class="linenos" data-line="28"></span><span class="w"> </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="linenos" data-line="29"></span><span class="w"> </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="linenos" data-line="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" aria-hidden="true"></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://wikidebrouillard.qualif.dokit.app/images/f/f5/Item-Capteur_dinclinaison_SW-520D.png"><span ><figure class="mw-halign-center" typeof="mw:File/Frameless"><a href="/wiki/Fichier:Item-Capteur_dinclinaison_SW-520D.png" class="mw-file-description"><img alt="Item-Capteur dinclinaison SW-520D" src="/images/f/f5/Item-Capteur_dinclinaison_SW-520D.png" decoding="async" loading="lazy" width="1024" height="1024" class="mw-file-element" data-file-width="1024" data-file-height="1024" /></a><figcaption></figcaption></figure></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-highlight-lang-arduino mw-content-ltr" dir="ltr"><pre><span></span><span class="cp">#define inPin 7</span><br /><span class="kr">int</span><span class="w"> </span><span class="n">value</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span><br /><br /><span class="kr">void</span><span class="w"> </span><span class="nb">setup</span><span class="p">()</span><span class="w"> </span><span class="p">{</span><br /><span class="w"> </span><span class="nf">pinMode</span><span class="p">(</span><span class="n">inPin</span><span class="p">,</span><span class="w"> </span><span class="kr">INPUT</span><span class="p">);</span><br /><span class="w"> </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="p">}</span><br /><span class="kr">void</span><span class="w"> </span><span class="nb">loop</span><span class="p">()</span><span class="w"> </span><span class="p">{</span><br /><span class="w"> </span><span class="n">value</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nf">digitalRead</span><span class="p">(</span><span class="n">inPin</span><span class="p">);</span><br /><span class="w"> </span><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="w"> </span><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://wikidebrouillard.qualif.dokit.app/images/8/86/Schema_de_principe_du_capteur.png"><span ><figure class="mw-halign-center" typeof="mw:File/Frameless"><a href="/wiki/Fichier:Schema_de_principe_du_capteur.png" class="mw-file-description" title="Schema de principe"><img alt="Schema de principe" src="/images/8/86/Schema_de_principe_du_capteur.png" decoding="async" loading="lazy" width="697" height="333" class="mw-file-element" data-file-width="697" data-file-height="333" /></a><figcaption>Schema de principe</figcaption></figure></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://wikidebrouillard.qualif.dokit.app/images/7/7b/Item-Capteur_de_CO2_SENSEAIR_S8_Image2.png"><span ><figure class="mw-halign-center" typeof="mw:File/Frameless"><a href="/wiki/Fichier:Item-Capteur_de_CO2_SENSEAIR_S8_Image2.png" class="mw-file-description"><img src="/images/7/7b/Item-Capteur_de_CO2_SENSEAIR_S8_Image2.png" decoding="async" loading="lazy" width="827" height="147" class="mw-file-element" data-file-width="827" data-file-height="147" /></a><figcaption></figcaption></figure></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://wikidebrouillard.qualif.dokit.app/images/7/75/Item-Capteur_de_CO2_SENSEAIR_S8_Capture_decran_du_2021-04-02_10-56-35.png"><span ><figure class="mw-halign-center" typeof="mw:File/Frameless"><a href="/wiki/Fichier:Item-Capteur_de_CO2_SENSEAIR_S8_Capture_decran_du_2021-04-02_10-56-35.png" class="mw-file-description"><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" decoding="async" loading="lazy" width="872" height="591" class="mw-file-element" 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><figcaption></figcaption></figure></span></div><br/><br />==Code Minimal==<br />Attention : l'utilisation de la bibliothèque à évolué. nous avons mis à jour le code le 9 août 2024. Si vous rencontrez des problèmes référez-vous toujours à la bibliothèque.<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(DIY_BASIC);<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.s8.begin(&Serial); // démarrage du capteur<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.s8.getCo2();<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 />Inspiré de TestCO2.ino de la bibliothèque AirGrandiant.<br/><div class="mw-highlight mw-highlight-lang-arduino mw-content-ltr mw-highlight-lines" dir="ltr"><pre><span></span><span class="linenos" data-line="0"></span><span class="cp">#include</span><span class="w"> </span><span class="cpf"><AirGradient.h></span><span class="w"> </span><span class="c1">// import de la bibliothèque Air Gradient</span><br /><span class="linenos" data-line="1"></span><span class="n">AirGradient</span><span class="w"> </span><span class="n">monCapteur</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">AirGradient</span><span class="p">(</span><span class="n">DIY_BASIC</span><span class="p">);</span><span class="w"> </span><span class="c1">// Création de l'objet "monCapteur"</span><br /><span class="linenos" data-line="2"></span><br /><span class="linenos" data-line="3"></span><span class="kr">void</span><span class="w"> </span><span class="nb">setup</span><span class="p">(){</span><br /><span class="linenos" data-line="4"></span><span class="w"> </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="w"> </span><span class="c1">// Démarrage de la liaison série</span><br /><span class="linenos" data-line="5"></span><span class="w"> </span><span class="n">monCapteur</span><span class="p">.</span><span class="n">s8</span><span class="p">.</span><span class="nf">begin</span><span class="p">(</span><span class="o">&</span><span class="nf">Serial</span><span class="p">);</span><span class="w"> </span><span class="c1">// Démarrage et initialisation de l'objet</span><br /><span class="linenos" data-line="6"></span><span class="p">}</span><br /><span class="linenos" data-line="7"></span><br /><span class="linenos" data-line="8"></span><span class="kr">void</span><span class="w"> </span><span class="nb">loop</span><span class="p">(){</span><br /><span class="linenos" data-line="9"></span><span class="kr">int</span><span class="w"> </span><span class="n">CO2</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">monCapteur</span><span class="p">.</span><span class="n">s8</span><span class="p">.</span><span class="n">getCo2</span><span class="p">();</span><span class="w"> </span><span class="c1">// mesure brute du CO2 placée dans la variable "CO2"</span><br /><span class="linenos" data-line="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="linenos" data-line="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="w"> </span><span class="c1">// Affichage du CO2 en ppm </span><br /><span class="linenos" data-line="12"></span><span class="nf">delay</span><span class="p">(</span><span class="mi">5000</span><span class="p">);</span><span class="w"> </span><span class="c1">// attente de 5 secondes (le temps de mesure du capteur est de 2s)</span><br /><span class="linenos" data-line="13"></span><span class="p">}</span><br /></pre></div><br /><br />==Le capteurs en ASCII pour de beaux codes !==<br />Pour bien illustrer vos code !<div class="mw-highlight mw-highlight-lang-arduino mw-content-ltr" dir="ltr"><pre><span></span><span class="w"> </span><span class="n">_________________</span><span class="w"> </span><br /><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="n">D1</span><span class="w"> </span><span class="n">mini</span><span class="w"> </span><span class="err">\</span><span class="w"> </span><br /><span class="w"> </span><span class="o">|</span><span class="p">[</span><span class="w"> </span><span class="p">]</span><span class="n">RST</span><span class="w"> </span><span class="n">Tx</span><span class="p">[</span><span class="w"> </span><span class="p">]</span><span class="o">|</span><span class="w"> </span><span class="o">-></span><span class="w"> </span><span class="n">UART_RxD</span><span class="w"> </span><br /><span class="w"> </span><span class="o">|</span><span class="p">[</span><span class="w"> </span><span class="p">]</span><span class="n">A0</span><span class="w"> </span><span class="o">-</span><span class="n">GPIO</span><span class="w"> </span><span class="n">Rx</span><span class="p">[</span><span class="w"> </span><span class="p">]</span><span class="o">|</span><span class="w"> </span><span class="o">-></span><span class="w"> </span><span class="n">UART_TxD</span><span class="w"> </span><br /><span class="w"> </span><span class="o">|</span><span class="p">[</span><span class="w"> </span><span class="p">]</span><span class="n">D0</span><span class="mi">-16</span><span class="w"> </span><span class="mi">5</span><span class="o">-</span><span class="n">D1</span><span class="p">[</span><span class="w"> </span><span class="p">]</span><span class="o">|</span><span class="w"> </span><br /><span class="w"> </span><span class="o">|</span><span class="p">[</span><span class="w"> </span><span class="p">]</span><span class="n">D5</span><span class="mi">-14</span><span class="w"> </span><span class="mi">4</span><span class="o">-</span><span class="n">D2</span><span class="p">[</span><span class="w"> </span><span class="p">]</span><span class="o">|</span><span class="w"> </span><br /><span class="w"> </span><span class="o">|</span><span class="p">[</span><span class="w"> </span><span class="p">]</span><span class="n">D6</span><span class="mi">-12</span><span class="w"> </span><span class="mi">0</span><span class="o">-</span><span class="n">D3</span><span class="p">[</span><span class="w"> </span><span class="p">]</span><span class="o">|</span><span class="w"> </span><br /><span class="w"> </span><span class="o">|</span><span class="p">[</span><span class="w"> </span><span class="p">]</span><span class="n">D7</span><span class="mi">-13</span><span class="w"> </span><span class="mi">2</span><span class="o">-</span><span class="n">D4</span><span class="p">[</span><span class="w"> </span><span class="p">]</span><span class="o">|</span><span class="w"> </span><br /><span class="w"> </span><span class="o">|</span><span class="p">[</span><span class="w"> </span><span class="p">]</span><span class="n">D8</span><span class="mi">-15</span><span class="w"> </span><span class="n">GND</span><span class="p">[</span><span class="n">X</span><span class="p">]</span><span class="o">|</span><span class="w"> </span><span class="o">-></span><span class="w"> </span><span class="n">G0</span><span class="w"> </span><br /><span class="w"> </span><span class="o">|</span><span class="p">[</span><span class="w"> </span><span class="p">]</span><span class="mi">3</span><span class="n">V3</span><span class="w"> </span><span class="p">.</span><span class="w"> </span><span class="mi">5</span><span class="n">V</span><span class="p">[</span><span class="n">X</span><span class="p">]</span><span class="o">|</span><span class="w"> </span><span class="o">-></span><span class="w"> </span><span class="n">G</span><span class="o">+</span><span class="w"> </span><br /><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">+---+</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><br /><span class="w"> </span><span class="o">|</span><span class="n">_______</span><span class="o">|</span><span class="n">USB</span><span class="o">|</span><span class="n">_______</span><span class="o">|</span><span class="w"> </span><br /><br /><span class="w"> </span><span class="n">________________________</span><br /><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">|</span><span class="err">°</span><span class="w"> </span><span class="err">°</span><span class="w"> </span><span class="err">°</span><span class="w"> </span><span class="err">°</span><span class="w"> </span><span class="err">°</span><span class="w"> </span><span class="err">°</span><span class="o">|</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">|</span><br /><span class="w"> </span><span class="o">+</span><span class="mi">5</span><span class="n">V</span><span class="w"> </span><span class="o"><-</span><span class="w"> </span><span class="n">G</span><span class="o">+</span><span class="w"> </span><span class="o">|</span><span class="p">[</span><span class="n">X</span><span class="p">]</span><span class="o">|</span><span class="w"> </span><span class="err">°</span><span class="w"> </span><span class="err">°</span><span class="w"> </span><span class="err">°</span><span class="w"> </span><span class="err">°</span><span class="w"> </span><span class="err">°</span><span class="o">/</span><span class="w"> </span><span class="o">|</span><span class="p">[</span><span class="w"> </span><span class="p">]</span><span class="o">|</span><span class="w"> </span><span class="n">DVCC_out</span><br /><span class="w"> </span><span class="n">GND</span><span class="w"> </span><span class="o"><-</span><span class="w"> </span><span class="n">G0</span><span class="w"> </span><span class="o">|</span><span class="p">[</span><span class="n">X</span><span class="p">]</span><span class="o">|</span><span class="err">°</span><span class="w"> </span><span class="err">°</span><span class="w"> </span><span class="err">°</span><span class="w"> </span><span class="err">°</span><span class="w"> </span><span class="err">°</span><span class="o">/</span><span class="w"> </span><span class="o">|</span><span class="p">[</span><span class="n">X</span><span class="p">]</span><span class="o">|</span><span class="w"> </span><span class="n">UART_RxD</span><span class="w"> </span><span class="o">-></span><span class="w"> </span><span class="n">Tx</span><br /><span class="w"> </span><span class="n">Alarm_OC</span><span class="w"> </span><span class="o">|</span><span class="p">[</span><span class="w"> </span><span class="p">]</span><span class="o">|</span><span class="n">_</span><span class="err">°</span><span class="n">_</span><span class="err">°</span><span class="n">_</span><span class="err">°</span><span class="n">_</span><span class="err">°</span><span class="o">|</span><span class="w"> </span><span class="o">|</span><span class="p">[</span><span class="n">X</span><span class="p">]</span><span class="o">|</span><span class="w"> </span><span class="n">UART_TxD</span><span class="w"> </span><span class="o">-></span><span class="w"> </span><span class="n">Rx</span><br /><span class="w"> </span><span class="n">PWM</span><span class="w"> </span><span class="mi">1</span><span class="n">Khz</span><span class="w"> </span><span class="o">|</span><span class="p">[</span><span class="w"> </span><span class="p">]</span><span class="o">|</span><span class="w"> </span><span class="o">|</span><span class="p">[</span><span class="w"> </span><span class="p">]</span><span class="o">|</span><span class="w"> </span><span class="n">UART_R</span><span class="o">/</span><span class="n">T</span><br /><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">SenseAir</span><span class="err">®</span><span class="w"> </span><span class="n">S8</span><span class="w"> </span><span class="o">|</span><span class="p">[</span><span class="w"> </span><span class="p">]</span><span class="o">|</span><span class="w"> </span><span class="n">bCAL_in</span><span class="o">/</span><span class="n">CAL</span><br /><span class="w"> </span><span class="o">|</span><span class="n">___</span><span class="o">|</span><span class="n">________________</span><span class="o">|</span><span class="n">___</span><span class="o">|</span><br /></pre></div><br /><br /><br /><br /><br/><br /><br />== A vous de jouer ! ==</nowiki>
<nowiki><div class="icon-instructions info-icon"><br /><div class="icon-instructions-icon"><i class="fa fa-info-circle" aria-hidden="true"></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://wikidebrouillard.qualif.dokit.app/images/2/26/Item-Color_Sensor_TCS_3200.png"><span ><figure class="mw-halign-center" typeof="mw:File/Frameless"><a href="/wiki/Fichier:Item-Color_Sensor_TCS_3200.png" class="mw-file-description"><img alt="Item-Color Sensor TCS 3200" src="/images/2/26/Item-Color_Sensor_TCS_3200.png" decoding="async" loading="lazy" width="842" height="501" class="mw-file-element" data-file-width="842" data-file-height="501" /></a><figcaption></figcaption></figure></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-highlight-lang-arduino 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="w"> </span><span class="n">redFrequency</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span><br /><span class="kr">int</span><span class="w"> </span><span class="n">greenFrequency</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span><br /><span class="kr">int</span><span class="w"> </span><span class="n">blueFrequency</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span><br /><br /><span class="kr">void</span><span class="w"> </span><span class="nb">setup</span><span class="p">()</span><span class="w"> </span><span class="p">{</span><br /><span class="w"> </span><span class="nf">pinMode</span><span class="p">(</span><span class="n">S0</span><span class="p">,</span><span class="w"> </span><span class="kr">OUTPUT</span><span class="p">);</span><br /><span class="w"> </span><span class="nf">pinMode</span><span class="p">(</span><span class="n">S1</span><span class="p">,</span><span class="w"> </span><span class="kr">OUTPUT</span><span class="p">);</span><br /><span class="w"> </span><span class="nf">pinMode</span><span class="p">(</span><span class="n">S2</span><span class="p">,</span><span class="w"> </span><span class="kr">OUTPUT</span><span class="p">);</span><br /><span class="w"> </span><span class="nf">pinMode</span><span class="p">(</span><span class="n">S3</span><span class="p">,</span><span class="w"> </span><span class="kr">OUTPUT</span><span class="p">);</span><br /><span class="w"> </span><br /><span class="w"> </span><span class="nf">pinMode</span><span class="p">(</span><span class="n">sensorOut</span><span class="p">,</span><span class="w"> </span><span class="kr">INPUT</span><span class="p">);</span><br /><span class="w"> </span><br /><span class="w"> </span><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="w"> </span><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 /><span class="w"> </span><br /><span class="w"> </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="p">}</span><br /><span class="kr">void</span><span class="w"> </span><span class="nb">loop</span><span class="p">()</span><span class="w"> </span><span class="p">{</span><br /><span class="w"> </span><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="w"> </span><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 /><span class="w"> </span><br /><span class="w"> </span><span class="n">redFrequency</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nf">pulseIn</span><span class="p">(</span><span class="n">sensorOut</span><span class="p">,</span><span class="w"> </span><span class="kr">LOW</span><span class="p">);</span><br /><span class="w"> </span><br /><span class="w"> </span><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="w"> </span><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="w"> </span><span class="nf">delay</span><span class="p">(</span><span class="mi">100</span><span class="p">);</span><br /><span class="w"> </span><br /><span class="w"> </span><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="w"> </span><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 /><span class="w"> </span><br /><span class="w"> </span><span class="n">greenFrequency</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nf">pulseIn</span><span class="p">(</span><span class="n">sensorOut</span><span class="p">,</span><span class="w"> </span><span class="kr">LOW</span><span class="p">);</span><br /><span class="w"> </span><br /><span class="w"> </span><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="w"> </span><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="w"> </span><span class="nf">delay</span><span class="p">(</span><span class="mi">100</span><span class="p">);</span><br /><span class="w"> </span><br /><span class="w"> </span><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="w"> </span><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 /><span class="w"> </span><br /><span class="w"> </span><span class="n">blueFrequency</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nf">pulseIn</span><span class="p">(</span><span class="n">sensorOut</span><span class="p">,</span><span class="w"> </span><span class="kr">LOW</span><span class="p">);</span><br /><span class="w"> </span><br /><span class="w"> </span><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="w"> </span><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="w"> </span><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" aria-hidden="true"></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://wikidebrouillard.qualif.dokit.app/images/c/ce/Item_Vibration_Sensor_SW420.png"><span ><figure class="mw-halign-center" typeof="mw:File/Frameless"><a href="/wiki/Fichier:Item_Vibration_Sensor_SW420.png" class="mw-file-description"><img alt="Item Vibration Sensor SW420" src="/images/c/ce/Item_Vibration_Sensor_SW420.png" decoding="async" loading="lazy" width="971" height="518" class="mw-file-element" data-file-width="971" data-file-height="518" /></a><figcaption></figcaption></figure></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-highlight-lang-arduino mw-content-ltr mw-highlight-lines" dir="ltr"><pre><span></span><span class="linenos" data-line="1"></span><span class="kr">int</span><span class="w"> </span><span class="n">Vibration_signal</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">7</span><span class="p">;</span><br /><span class="linenos" data-line="2"></span><span class="kr">int</span><span class="w"> </span><span class="n">Sensor_state</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">1</span><span class="p">;</span><br /><span class="linenos" data-line="3"></span><br /><span class="linenos" data-line="4"></span><span class="kr">void</span><span class="w"> </span><span class="nb">setup</span><span class="p">()</span><span class="w"> </span><span class="p">{</span><br /><span class="linenos" data-line="5"></span><span class="w"> </span><span class="nf">pinMode</span><span class="p">(</span><span class="n">Vibration_signal</span><span class="p">,</span><span class="w"> </span><span class="kr">INPUT</span><span class="p">);</span><br /><span class="linenos" data-line="6"></span><span class="w"> </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="linenos" data-line="7"></span><span class="p">}</span><br /><span class="linenos" data-line="8"></span><br /><span class="linenos" data-line="9"></span><span class="kr">void</span><span class="w"> </span><span class="nb">loop</span><span class="p">()</span><span class="w"> </span><span class="p">{</span><br /><span class="linenos" data-line="10"></span><span class="w"> </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="linenos" data-line="11"></span><span class="w"> </span><span class="n">Sensor_state</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nf">digitalRead</span><span class="p">(</span><span class="n">Vibration_signal</span><span class="p">);</span><br /><span class="linenos" data-line="12"></span><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">Sensor_state</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="w"> </span><span class="p">{</span><br /><span class="linenos" data-line="13"></span><span class="w"> </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="linenos" data-line="14"></span><span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="p">{</span><br /><span class="linenos" data-line="15"></span><span class="w"> </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="linenos" data-line="16"></span><span class="w"> </span><span class="p">}</span><br /><span class="linenos" data-line="17"></span><span class="w"> </span><span class="nf">delay</span><span class="p">(</span><span class="mi">50</span><span class="p">);</span><br /><span class="linenos" data-line="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" aria-hidden="true"></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://wikidebrouillard.qualif.dokit.app/images/d/df/Item-RGB_Color_Sensor_TCS3472_Library.png"><span ><figure class="mw-halign-center" typeof="mw:File/Frameless"><a href="/wiki/Fichier:Item-RGB_Color_Sensor_TCS3472_Library.png" class="mw-file-description"><img alt="Item-RGB Color Sensor TCS3472 Library" src="/images/d/df/Item-RGB_Color_Sensor_TCS3472_Library.png" decoding="async" loading="lazy" width="1033" height="196" class="mw-file-element" data-file-width="1033" data-file-height="196" /></a><figcaption></figcaption></figure></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://wikidebrouillard.qualif.dokit.app/images/6/6c/Item-RGB_Color_Sensor_TCS3472.png"><span ><figure class="mw-halign-center" typeof="mw:File/Frameless"><a href="/wiki/Fichier:Item-RGB_Color_Sensor_TCS3472.png" class="mw-file-description"><img alt="Item-RGB Color Sensor TCS3472" src="/images/6/6c/Item-RGB_Color_Sensor_TCS3472.png" decoding="async" loading="lazy" width="908" height="574" class="mw-file-element" data-file-width="908" data-file-height="574" /></a><figcaption></figcaption></figure></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-highlight-lang-arduino mw-content-ltr" dir="ltr"><pre><span></span><span class="cp">#include</span><span class="w"> </span><span class="cpf"><Wire.h></span><br /><span class="cp">#include</span><span class="w"> </span><span class="cpf">"Adafruit_TCS34725.h"</span><br /><br /><span class="n">Adafruit_TCS34725</span><span class="w"> </span><span class="n">tcs</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">Adafruit_TCS34725</span><span class="p">(</span><span class="n">TCS34725_INTEGRATIONTIME_614MS</span><span class="p">,</span><span class="w"> </span><span class="n">TCS34725_GAIN_1X</span><span class="p">);</span><br /><br /><span class="kr">void</span><span class="w"> </span><span class="nb">setup</span><span class="p">()</span><span class="w"> </span><span class="p">{</span><br /><span class="w"> </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 /><br /><span class="w"> </span><span class="k">if</span><span class="w"> </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="w"> </span><span class="p">{</span><br /><span class="w"> </span><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="w"> </span><span class="p">}</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="p">{</span><br /><span class="w"> </span><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="w"> </span><span class="k">while</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">);</span><br /><span class="w"> </span><span class="p">}</span><br /><span class="p">}</span><br /><br /><span class="kr">void</span><span class="w"> </span><span class="nb">loop</span><span class="p">()</span><span class="w"> </span><span class="p">{</span><br /><span class="w"> </span><span class="kr">uint16_t</span><span class="w"> </span><span class="n">r</span><span class="p">,</span><span class="w"> </span><span class="n">g</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="n">c</span><span class="p">,</span><span class="w"> </span><span class="n">colorTemp</span><span class="p">,</span><span class="w"> </span><span class="n">lux</span><span class="p">;</span><br /><br /><span class="w"> </span><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="w"> </span><span class="o">&</span><span class="n">g</span><span class="p">,</span><span class="w"> </span><span class="o">&</span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="o">&</span><span class="n">c</span><span class="p">);</span><br /><span class="w"> </span><span class="n">colorTemp</span><span class="w"> </span><span class="o">=</span><span class="w"> </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="w"> </span><span class="n">g</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="n">c</span><span class="p">);</span><br /><span class="w"> </span><span class="n">lux</span><span class="w"> </span><span class="o">=</span><span class="w"> </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="w"> </span><span class="n">g</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">);</span><br /><br /><span class="w"> </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 couleurs"</span><span class="p">);</span><br /><span class="w"> </span><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="w"> </span><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="w"> </span><span class="n">DEC</span><span class="p">);</span><br /><span class="w"> </span><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="w"> </span><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="w"> </span><span class="n">DEC</span><span class="p">);</span><br /><span class="w"> </span><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="w"> </span><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="w"> </span><span class="n">DEC</span><span class="p">);</span><br /><span class="w"> </span><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="w"> </span><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="w"> </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://wikidebrouillard.qualif.dokit.app/images/4/4a/Item-Capteur_de_distance_a_ultrasons_HC-SR04_Principe_Ultrasons_1-768x352.jpg"><span ><figure class="mw-halign-center" typeof="mw:File/Frameless"><a href="/wiki/Fichier:Item-Capteur_de_distance_a_ultrasons_HC-SR04_Principe_Ultrasons_1-768x352.jpg" class="mw-file-description"><img src="/images/4/4a/Item-Capteur_de_distance_a_ultrasons_HC-SR04_Principe_Ultrasons_1-768x352.jpg" decoding="async" loading="lazy" width="768" height="352" class="mw-file-element" data-file-width="768" data-file-height="352" /></a><figcaption></figcaption></figure></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://wikidebrouillard.qualif.dokit.app/images/1/13/Item-Capteur_de_distance_a_ultrasons_HC-SR04_Capture_decran_du_2020-12-04_14-58-38.png"><span ><figure class="mw-halign-center" typeof="mw:File/Frameless"><a href="/wiki/Fichier:Item-Capteur_de_distance_a_ultrasons_HC-SR04_Capture_decran_du_2020-12-04_14-58-38.png" class="mw-file-description"><img src="/images/1/13/Item-Capteur_de_distance_a_ultrasons_HC-SR04_Capture_decran_du_2020-12-04_14-58-38.png" decoding="async" loading="lazy" width="832" height="135" class="mw-file-element" data-file-width="832" data-file-height="135" /></a><figcaption></figcaption></figure></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://wikidebrouillard.qualif.dokit.app/images/e/ec/Item-Capteur_de_distance_a_ultrasons_HC-SR04_Capture_decran_du_2020-12-04_14-34-42.png"><span ><figure class="mw-halign-center" typeof="mw:File/Frameless"><a href="/wiki/Fichier:Item-Capteur_de_distance_a_ultrasons_HC-SR04_Capture_decran_du_2020-12-04_14-34-42.png" class="mw-file-description"><img src="/images/e/ec/Item-Capteur_de_distance_a_ultrasons_HC-SR04_Capture_decran_du_2020-12-04_14-34-42.png" decoding="async" loading="lazy" width="494" height="534" class="mw-file-element" data-file-width="494" data-file-height="534" /></a><figcaption></figcaption></figure></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-highlight-lang-arduino mw-content-ltr mw-highlight-lines" dir="ltr"><pre><span></span><span class="linenos" data-line="1"></span><span class="c1">//Ajout de la bibliothèque ultrasonic</span><br /><span class="linenos" data-line="2"></span><span class="cp">#include</span><span class="w"> </span><span class="cpf"><Ultrasonic.h></span><br /><span class="linenos" data-line="3"></span><br /><span class="linenos" data-line="4"></span><span class="c1">//Création de l'objet ultrasonic</span><br /><span class="linenos" data-line="5"></span><span class="n">Ultrasonic</span><span class="w"> </span><span class="nf">ultrasonic</span><span class="p">(</span><span class="mi">12</span><span class="p">,</span><span class="w"> </span><span class="mi">13</span><span class="p">);</span><br /><span class="linenos" data-line="6"></span><br /><span class="linenos" data-line="7"></span><br /><span class="linenos" data-line="8"></span><span class="kr">void</span><span class="w"> </span><span class="nb">setup</span><span class="p">()</span><span class="w"> </span><span class="p">{</span><br /><span class="linenos" data-line="9"></span><span class="w"> </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="w"> </span><span class="c1">// démarrage de la connexion série</span><br /><span class="linenos" data-line="10"></span><span class="p">}</span><br /><span class="linenos" data-line="11"></span><br /><span class="linenos" data-line="12"></span><span class="kr">void</span><span class="w"> </span><span class="nb">loop</span><span class="p">()</span><span class="w"> </span><span class="p">{</span><br /><span class="linenos" data-line="13"></span><span class="w"> </span><span class="c1">//utilisation de l'objet</span><br /><span class="linenos" data-line="14"></span><span class="w"> </span><span class="kr">int</span><span class="w"> </span><span class="n">distance</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">ultrasonic</span><span class="p">.</span><span class="nf">read</span><span class="p">();</span><br /><span class="linenos" data-line="15"></span><span class="w"> </span><span class="c1">// affichage de la distance dans le terminal série</span><br /><span class="linenos" data-line="16"></span><span class="w"> </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="linenos" data-line="17"></span><span class="w"> </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="linenos" data-line="18"></span><span class="w"> </span><span class="nf">delay</span><span class="p">(</span><span class="mi">1000</span><span class="p">);</span><span class="w"> </span><span class="c1">//délais d'une seconde</span><br /><span class="linenos" data-line="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://wikidebrouillard.qualif.dokit.app/images/4/4d/Item-Capteur_de_particules_SDS011_Sensor.png"><span ><figure class="mw-halign-center" typeof="mw:File/Frameless"><a href="/wiki/Fichier:Item-Capteur_de_particules_SDS011_Sensor.png" class="mw-file-description"><img src="/images/4/4d/Item-Capteur_de_particules_SDS011_Sensor.png" decoding="async" loading="lazy" width="751" height="126" class="mw-file-element" data-file-width="751" data-file-height="126" /></a><figcaption></figcaption></figure></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://wikidebrouillard.qualif.dokit.app/images/b/bd/Item-Capteur_de_particules_SDS011_Dust_sensor_.jpg"><span ><figure class="mw-halign-left" typeof="mw:File/Frameless"><a href="/wiki/Fichier:Item-Capteur_de_particules_SDS011_Dust_sensor_.jpg" class="mw-file-description"><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" decoding="async" loading="lazy" width="600" height="312" class="mw-file-element" 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><figcaption></figcaption></figure></span></div><div class="annotatedImageDiv" typeof="Image" data-resource="Fichier:Item-Capteur de particules SDS011 Branchements.png" data-sourceimage="https://wikidebrouillard.qualif.dokit.app/images/b/b4/Item-Capteur_de_particules_SDS011_Branchements.png"><span ><figure class="mw-halign-center" typeof="mw:File/Frameless"><a href="/wiki/Fichier:Item-Capteur_de_particules_SDS011_Branchements.png" class="mw-file-description"><img src="/images/b/b4/Item-Capteur_de_particules_SDS011_Branchements.png" decoding="async" loading="lazy" width="538" height="294" class="mw-file-element" data-file-width="538" data-file-height="294" /></a><figcaption></figcaption></figure></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://wikidebrouillard.qualif.dokit.app/images/9/9b/Item-Capteur_de_particules_SDS011_IMG_20201210_121324_resized_20201210_121436561.jpg"><span ><figure class="mw-halign-center" typeof="mw:File/Frameless"><a href="/wiki/Fichier:Item-Capteur_de_particules_SDS011_IMG_20201210_121324_resized_20201210_121436561.jpg" class="mw-file-description"><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" decoding="async" loading="lazy" width="500" height="667" class="mw-file-element" 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><figcaption></figcaption></figure></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-highlight-lang-arduino mw-content-ltr mw-highlight-lines" dir="ltr"><pre><span></span><span class="linenos" data-line="1"></span><span class="cp">#include</span><span class="w"> </span><span class="cpf">"SdsDustSensor.h"</span><br /><span class="linenos" data-line="2"></span><br /><span class="linenos" data-line="3"></span><span class="kr">int</span><span class="w"> </span><span class="n">rxPin</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">D5</span><span class="p">;</span><br /><span class="linenos" data-line="4"></span><span class="kr">int</span><span class="w"> </span><span class="n">txPin</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">D6</span><span class="p">;</span><br /><span class="linenos" data-line="5"></span><span class="n">SdsDustSensor</span><span class="w"> </span><span class="nf">sds</span><span class="p">(</span><span class="n">rxPin</span><span class="p">,</span><span class="w"> </span><span class="n">txPin</span><span class="p">);</span><br /><span class="linenos" data-line="6"></span><br /><span class="linenos" data-line="7"></span><span class="kr">void</span><span class="w"> </span><span class="nb">setup</span><span class="p">()</span><span class="w"> </span><span class="p">{</span><br /><span class="linenos" data-line="8"></span><span class="w"> </span><br /><span class="linenos" data-line="9"></span><span class="w"> </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="linenos" data-line="10"></span><span class="w"> </span><span class="n">sds</span><span class="p">.</span><span class="nf">begin</span><span class="p">();</span><br /><span class="linenos" data-line="11"></span><br /><span class="linenos" data-line="12"></span><span class="w"> </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="linenos" data-line="13"></span><span class="w"> </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="linenos" data-line="14"></span><span class="w"> </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><span class="w"> </span><br /><span class="linenos" data-line="15"></span><span class="p">}</span><br /><span class="linenos" data-line="16"></span><br /><span class="linenos" data-line="17"></span><span class="kr">void</span><span class="w"> </span><span class="nb">loop</span><span class="p">()</span><span class="w"> </span><span class="p">{</span><br /><span class="linenos" data-line="18"></span><span class="w"> </span><br /><span class="linenos" data-line="19"></span><span class="w"> </span><span class="n">PmResult</span><span class="w"> </span><span class="n">pm</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">sds</span><span class="p">.</span><span class="n">readPm</span><span class="p">();</span><br /><span class="linenos" data-line="20"></span><span class="w"> </span><span class="k">if</span><span class="w"> </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="w"> </span><span class="p">{</span><br /><span class="linenos" data-line="21"></span><span class="w"> </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="linenos" data-line="22"></span><span class="w"> </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="linenos" data-line="23"></span><span class="w"> </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="linenos" data-line="24"></span><span class="w"> </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="linenos" data-line="25"></span><span class="w"> </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="linenos" data-line="26"></span><span class="w"> </span><span class="p">}</span><span class="w"> </span><br /><span class="linenos" data-line="27"></span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="p">{</span><br /><span class="linenos" data-line="28"></span><span class="w"> </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="linenos" data-line="29"></span><span class="w"> </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="linenos" data-line="30"></span><span class="w"> </span><span class="p">}</span><br /><span class="linenos" data-line="31"></span><br /><span class="linenos" data-line="32"></span><span class="w"> </span><span class="nf">delay</span><span class="p">(</span><span class="mi">500</span><span class="p">);</span><br /><span class="linenos" data-line="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://wikidebrouillard.qualif.dokit.app/images/2/22/Item-Capteur_de_qualite_de_lair_BME_680_Capture_decran_du_2022-01-21_11-22-22.png"><span ><figure class="mw-halign-center" typeof="mw:File/Frameless"><a href="/wiki/Fichier:Item-Capteur_de_qualite_de_lair_BME_680_Capture_decran_du_2022-01-21_11-22-22.png" class="mw-file-description"><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" decoding="async" loading="lazy" width="800" height="150" class="mw-file-element" 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><figcaption></figcaption></figure></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://wikidebrouillard.qualif.dokit.app/images/0/0a/Item-Capteur_de_qualite_de_lair_BME_680_BME680_bb.jpg"><span ><figure class="mw-halign-center" typeof="mw:File/Frameless"><a href="/wiki/Fichier:Item-Capteur_de_qualite_de_lair_BME_680_BME680_bb.jpg" class="mw-file-description"><img src="/images/0/0a/Item-Capteur_de_qualite_de_lair_BME_680_BME680_bb.jpg" decoding="async" loading="lazy" width="519" height="624" class="mw-file-element" data-file-width="519" data-file-height="624" /></a><figcaption></figcaption></figure></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-highlight-lang-arduino mw-content-ltr mw-highlight-lines" dir="ltr"><pre><span></span><span class="linenos" data-line="1"></span><span class="cp">#include</span><span class="w"> </span><span class="cpf">"bsec.h"</span><span class="w"> </span><span class="c1">// ajout de la bibliothèque Bsec de Bosh</span><br /><span class="linenos" data-line="2"></span><span class="n">Bsec</span><span class="w"> </span><span class="n">iaqSensor</span><span class="p">;</span><span class="w"> </span><span class="c1">// creation de l'objet Iaq</span><br /><span class="linenos" data-line="3"></span><br /><span class="linenos" data-line="4"></span><span class="kr">void</span><span class="w"> </span><span class="nb">setup</span><span class="p">(</span><span class="kr">void</span><span class="p">)</span><br /><span class="linenos" data-line="5"></span><span class="p">{</span><br /><span class="linenos" data-line="6"></span><span class="w"> </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="w"> </span><span class="c1">// Initialisation de la connexion série</span><br /><span class="linenos" data-line="7"></span><span class="w"> </span><span class="nf">Wire</span><span class="p">.</span><span class="nf">begin</span><span class="p">();</span><span class="w"> </span><span class="c1">// Démarrage de la connexion I2C avec le capteur</span><br /><span class="linenos" data-line="8"></span><br /><span class="linenos" data-line="9"></span><span class="w"> </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="w"> </span><span class="nf">Wire</span><span class="p">);</span><span class="w"> </span><span class="c1">// démarrage du capteur</span><br /><span class="linenos" data-line="10"></span><span class="w"> </span><span class="n">bsec_virtual_sensor_t</span><span class="w"> </span><span class="n">sensorList</span><span class="p">[</span><span class="mi">4</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="c1">// Configuration du capteur</span><br /><span class="linenos" data-line="11"></span><span class="w"> </span><span class="n">BSEC_OUTPUT_RAW_PRESSURE</span><span class="p">,</span><br /><span class="linenos" data-line="12"></span><span class="w"> </span><span class="n">BSEC_OUTPUT_IAQ</span><span class="p">,</span><br /><span class="linenos" data-line="13"></span><span class="w"> </span><span class="n">BSEC_OUTPUT_SENSOR_HEAT_COMPENSATED_TEMPERATURE</span><span class="p">,</span><br /><span class="linenos" data-line="14"></span><span class="w"> </span><span class="n">BSEC_OUTPUT_SENSOR_HEAT_COMPENSATED_HUMIDITY</span><span class="p">,</span><br /><span class="linenos" data-line="15"></span><span class="w"> </span><span class="p">};</span><br /><span class="linenos" data-line="16"></span><br /><span class="linenos" data-line="17"></span><span class="w"> </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="w"> </span><span class="mi">4</span><span class="p">,</span><span class="w"> </span><span class="n">BSEC_SAMPLE_RATE_LP</span><span class="p">);</span><span class="w"> </span><span class="c1">// configuration du capteur</span><br /><span class="linenos" data-line="18"></span><span class="p">}</span><br /><span class="linenos" data-line="19"></span><br /><span class="linenos" data-line="20"></span><span class="kr">void</span><span class="w"> </span><span class="nb">loop</span><span class="p">(</span><span class="kr">void</span><span class="p">)</span><br /><span class="linenos" data-line="21"></span><span class="p">{</span><br /><span class="linenos" data-line="22"></span><span class="w"> </span><span class="k">if</span><span class="w"> </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="w"> </span><span class="p">{</span><span class="w"> </span><span class="c1">// Dès que l'on reçoit des mesures</span><br /><span class="linenos" data-line="23"></span><span class="w"> </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="linenos" data-line="24"></span><span class="w"> </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="w"> </span><span class="c1">// Affichage de la température</span><br /><span class="linenos" data-line="25"></span><br /><span class="linenos" data-line="26"></span><span class="w"> </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="linenos" data-line="27"></span><span class="w"> </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="w"> </span><span class="c1">// Affichage de l'humidité</span><br /><span class="linenos" data-line="28"></span><br /><span class="linenos" data-line="29"></span><span class="w"> </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="linenos" data-line="30"></span><span class="w"> </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="w"> </span><span class="c1">// Affichage de la pression en Pascal</span><br /><span class="linenos" data-line="31"></span><br /><span class="linenos" data-line="32"></span><span class="w"> </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="linenos" data-line="33"></span><span class="w"> </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="w"> </span><span class="c1">// Indice de la qualité de l'air</span><br /><span class="linenos" data-line="34"></span><br /><span class="linenos" data-line="35"></span><span class="w"> </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="linenos" data-line="36"></span><span class="w"> </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="w"> </span><span class="c1">// Indice de calibration (attendre qu'il passe à 3 pour exploiter les mesures environ 2h)</span><br /><span class="linenos" data-line="37"></span><span class="w"> </span><span class="p">}</span><br /><span class="linenos" data-line="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://wikidebrouillard.qualif.dokit.app/images/2/27/Item-Capteur_de_qualite_de_lair_BME_680_Capture_decran_du_2022-01-20_14-22-06.png"><span ><figure class="mw-halign-center" typeof="mw:File/Frameless"><a href="/wiki/Fichier:Item-Capteur_de_qualite_de_lair_BME_680_Capture_decran_du_2022-01-20_14-22-06.png" class="mw-file-description"><img src="/images/2/27/Item-Capteur_de_qualite_de_lair_BME_680_Capture_decran_du_2022-01-20_14-22-06.png" decoding="async" loading="lazy" width="895" height="255" class="mw-file-element" data-file-width="895" data-file-height="255" /></a><figcaption></figcaption></figure></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://wikidebrouillard.qualif.dokit.app/images/b/b4/Item-Capteur_de_qualite_de_lair_BME_680_Iaq_table_700.jpg"><span ><figure class="mw-halign-center" typeof="mw:File/Frameless"><a href="/wiki/Fichier:Item-Capteur_de_qualite_de_lair_BME_680_Iaq_table_700.jpg" class="mw-file-description"><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" decoding="async" loading="lazy" width="700" height="364" class="mw-file-element" data-file-width="700" data-file-height="364" /></a><figcaption></figcaption></figure></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://wikidebrouillard.qualif.dokit.app/images/f/f1/Item-Capteur_de_temp_rature_DS18B20_DS18B20-cablage.png"><span ><figure class="mw-halign-center" typeof="mw:File/Frameless"><a href="/wiki/Fichier:Item-Capteur_de_temp_rature_DS18B20_DS18B20-cablage.png" class="mw-file-description" title="cablage DS18B20"><img alt="cablage DS18B20" src="/images/f/f1/Item-Capteur_de_temp_rature_DS18B20_DS18B20-cablage.png" decoding="async" loading="lazy" width="1024" height="576" class="mw-file-element" data-file-width="1024" data-file-height="576" /></a><figcaption>cablage DS18B20</figcaption></figure></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-highlight-lang-arduino mw-content-ltr mw-highlight-lines" dir="ltr"><pre><span></span><span class="linenos" data-line="1"></span><span class="c1">// Include the libraries we need</span><br /><span class="linenos" data-line="2"></span><span class="cp">#include</span><span class="w"> </span><span class="cpf"><OneWire.h></span><br /><span class="linenos" data-line="3"></span><span class="cp">#include</span><span class="w"> </span><span class="cpf"><DallasTemperature.h></span><br /><span class="linenos" data-line="4"></span><br /><span class="linenos" data-line="5"></span><span class="c1">// Data wire is plugged into port 2 on the Arduino</span><br /><span class="linenos" data-line="6"></span><span class="cp">#define ONE_WIRE_BUS 2</span><br /><span class="linenos" data-line="7"></span><br /><span class="linenos" data-line="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="linenos" data-line="9"></span><span class="n">OneWire</span><span class="w"> </span><span class="nf">oneWire</span><span class="p">(</span><span class="n">ONE_WIRE_BUS</span><span class="p">);</span><br /><span class="linenos" data-line="10"></span><br /><span class="linenos" data-line="11"></span><span class="c1">// Pass our oneWire reference to Dallas Temperature. </span><br /><span class="linenos" data-line="12"></span><span class="n">DallasTemperature</span><span class="w"> </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="linenos" data-line="13"></span><br /><span class="linenos" data-line="14"></span><span class="cm">/*</span><br /><span class="linenos" data-line="15"></span><span class="cm"> * The setup function. We only start the sensors here</span><br /><span class="linenos" data-line="16"></span><span class="cm"> */</span><br /><span class="linenos" data-line="17"></span><span class="kr">void</span><span class="w"> </span><span class="nb">setup</span><span class="p">(</span><span class="kr">void</span><span class="p">)</span><br /><span class="linenos" data-line="18"></span><span class="p">{</span><br /><span class="linenos" data-line="19"></span><span class="w"> </span><span class="c1">// start serial port</span><br /><span class="linenos" data-line="20"></span><span class="w"> </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="linenos" data-line="21"></span><span class="w"> </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="linenos" data-line="22"></span><br /><span class="linenos" data-line="23"></span><span class="w"> </span><span class="c1">// Start up the library</span><br /><span class="linenos" data-line="24"></span><span class="w"> </span><span class="n">sensors</span><span class="p">.</span><span class="nf">begin</span><span class="p">();</span><br /><span class="linenos" data-line="25"></span><span class="p">}</span><br /><span class="linenos" data-line="26"></span><br /><span class="linenos" data-line="27"></span><span class="cm">/*</span><br /><span class="linenos" data-line="28"></span><span class="cm"> * Main function, get and show the temperature</span><br /><span class="linenos" data-line="29"></span><span class="cm"> */</span><br /><span class="linenos" data-line="30"></span><span class="kr">void</span><span class="w"> </span><span class="nb">loop</span><span class="p">(</span><span class="kr">void</span><span class="p">)</span><br /><span class="linenos" data-line="31"></span><span class="p">{</span><span class="w"> </span><br /><span class="linenos" data-line="32"></span><span class="w"> </span><span class="c1">// call sensors.requestTemperatures() to issue a global temperature </span><br /><span class="linenos" data-line="33"></span><span class="w"> </span><span class="c1">// request to all devices on the bus</span><br /><span class="linenos" data-line="34"></span><span class="w"> </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="linenos" data-line="35"></span><span class="w"> </span><span class="n">sensors</span><span class="p">.</span><span class="n">requestTemperatures</span><span class="p">();</span><span class="w"> </span><span class="c1">// Send the command to get temperatures</span><br /><span class="linenos" data-line="36"></span><span class="w"> </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="linenos" data-line="37"></span><span class="w"> </span><span class="c1">// After we got the temperatures, we can print them here.</span><br /><span class="linenos" data-line="38"></span><span class="w"> </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="linenos" data-line="39"></span><span class="w"> </span><span class="kr">float</span><span class="w"> </span><span class="n">tempC</span><span class="w"> </span><span class="o">=</span><span class="w"> </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="linenos" data-line="40"></span><br /><span class="linenos" data-line="41"></span><span class="w"> </span><span class="c1">// Check if reading was successful</span><br /><span class="linenos" data-line="42"></span><span class="w"> </span><span class="k">if</span><span class="p">(</span><span class="n">tempC</span><span class="w"> </span><span class="o">!=</span><span class="w"> </span><span class="n">DEVICE_DISCONNECTED_C</span><span class="p">)</span><span class="w"> </span><br /><span class="linenos" data-line="43"></span><span class="w"> </span><span class="p">{</span><br /><span class="linenos" data-line="44"></span><span class="w"> </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="linenos" data-line="45"></span><span class="w"> </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="linenos" data-line="46"></span><span class="w"> </span><span class="p">}</span><span class="w"> </span><br /><span class="linenos" data-line="47"></span><span class="w"> </span><span class="k">else</span><br /><span class="linenos" data-line="48"></span><span class="w"> </span><span class="p">{</span><br /><span class="linenos" data-line="49"></span><span class="w"> </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="linenos" data-line="50"></span><span class="w"> </span><span class="p">}</span><br /><span class="linenos" data-line="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://wikidebrouillard.qualif.dokit.app/images/b/b3/Item-capteur_tactile_capacitif_TTP223_Capteurcapacitif-TTP223-230210_bb.png"><span ><figure class="mw-halign-center" typeof="mw:File/Frameless"><a href="/wiki/Fichier:Item-capteur_tactile_capacitif_TTP223_Capteurcapacitif-TTP223-230210_bb.png" class="mw-file-description" 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" decoding="async" loading="lazy" width="624" height="432" class="mw-file-element" data-file-width="624" data-file-height="432" /></a><figcaption>brochage du capteur capacitif TTP223</figcaption></figure></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-highlight-lang-arduino mw-content-ltr mw-highlight-lines" dir="ltr"><pre><span></span><span class="linenos" data-line="1"></span><span class="c1">///////////////////////</span><br /><span class="linenos" data-line="2"></span><span class="c1">// Capteur Capacitif //</span><br /><span class="linenos" data-line="3"></span><span class="c1">// TTP223 //</span><br /><span class="linenos" data-line="4"></span><span class="c1">///////////////////////</span><br /><span class="linenos" data-line="5"></span><br /><span class="linenos" data-line="6"></span><span class="cm">/*</span><br /><span class="linenos" data-line="7"></span><span class="cm">Ce programme est un exemple de base du capteur capacitif TTP223.</span><br /><span class="linenos" data-line="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="linenos" data-line="9"></span><br /><span class="linenos" data-line="10"></span><span class="cm">Lolin (Wemos) D1 mini</span><br /><span class="linenos" data-line="11"></span><span class="cm"> </span><br /><span class="linenos" data-line="12"></span><span class="cm"> _________________</span><br /><span class="linenos" data-line="13"></span><span class="cm"> / D1 mini \</span><br /><span class="linenos" data-line="14"></span><span class="cm"> |[ ]RST TX[ ]| Capteur capacitif TTP223</span><br /><span class="linenos" data-line="15"></span><span class="cm"> |[ ]A0 -GPIO RX[ ]| +-------------+</span><br /><span class="linenos" data-line="16"></span><span class="cm"> |[ ]D0-16 5-D1[ ]| .--|[X]VCC /‾‾‾‾\|</span><br /><span class="linenos" data-line="17"></span><span class="cm"> |[ ]D5-14 4-D2[X]|-----------|--|[X]I/O| |</span><br /><span class="linenos" data-line="18"></span><span class="cm"> |[ ]D6-12 0-D3[ ]| .-----|--|[X]GND \____/| </span><br /><span class="linenos" data-line="19"></span><span class="cm"> |[ ]D7-13 2-D4[ ]| / | |_____________|</span><br /><span class="linenos" data-line="20"></span><span class="cm"> |[ ]D8-15 GND[X]|---' /</span><br /><span class="linenos" data-line="21"></span><span class="cm"> |[ ]3V3 . 5V[X]|----------'</span><br /><span class="linenos" data-line="22"></span><span class="cm"> | +---+ |</span><br /><span class="linenos" data-line="23"></span><span class="cm"> |_______|USB|_______|</span><br /><span class="linenos" data-line="24"></span><br /><span class="linenos" data-line="25"></span><br /><span class="linenos" data-line="26"></span><span class="cm"> Matériel :</span><br /><span class="linenos" data-line="27"></span><span class="cm"> - Des fils dupont.</span><br /><span class="linenos" data-line="28"></span><span class="cm"> - Un LOLIN (Wemos) D1 mini</span><br /><span class="linenos" data-line="29"></span><span class="cm"> - Capteur capacitif TTP223</span><br /><span class="linenos" data-line="30"></span><br /><span class="linenos" data-line="31"></span><span class="cm"> </span><br /><span class="linenos" data-line="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="linenos" data-line="33"></span><span class="cm"> Sous licence CC-By-Sa (http://creativecommons.org/licenses/by-nc-sa/3.0/)</span><br /><span class="linenos" data-line="34"></span><span class="cm"> ___</span><br /><span class="linenos" data-line="35"></span><span class="cm"> / ___ \</span><br /><span class="linenos" data-line="36"></span><span class="cm"> |_| | </span><br /><span class="linenos" data-line="37"></span><span class="cm"> /_/</span><br /><span class="linenos" data-line="38"></span><span class="cm"> _ ___ _</span><br /><span class="linenos" data-line="39"></span><span class="cm"> |_| |___|_| |_</span><br /><span class="linenos" data-line="40"></span><span class="cm"> ___|_ _|</span><br /><span class="linenos" data-line="41"></span><span class="cm"> |___| |_|</span><br /><span class="linenos" data-line="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="linenos" data-line="43"></span><span class="cm"> Inspiré de :</span><br /><span class="linenos" data-line="44"></span><span class="cm"> TTP223B-Capacitive-Touch-Switch-Module - 08 Nov 2020</span><br /><span class="linenos" data-line="45"></span><span class="cm"> by Amir Mohammad Shojaee @ Electropeak</span><br /><span class="linenos" data-line="46"></span><span class="cm"> https://electropeak.com/learn/interfacing-ttp223-capacitive-switch-butto-touch-sensor-with-arduino/</span><br /><span class="linenos" data-line="47"></span><br /><span class="linenos" data-line="48"></span><span class="cm">*/</span><br /><span class="linenos" data-line="49"></span><span class="kr">const</span><span class="w"> </span><span class="kr">int</span><span class="w"> </span><span class="n">brocheCapteur</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">D2</span><span class="p">;</span><br /><span class="linenos" data-line="50"></span><span class="w"> </span><br /><span class="linenos" data-line="51"></span><span class="kr">void</span><span class="w"> </span><span class="nb">setup</span><span class="p">()</span><span class="w"> </span><span class="p">{</span><br /><span class="linenos" data-line="52"></span><span class="w"> </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="linenos" data-line="53"></span><span class="w"> </span><span class="c1">// initialisation de la broche en entrée (INPUT)</span><br /><span class="linenos" data-line="54"></span><span class="w"> </span><span class="nf">pinMode</span><span class="p">(</span><span class="n">brocheCapteur</span><span class="p">,</span><span class="w"> </span><span class="kr">INPUT</span><span class="p">);</span><br /><span class="linenos" data-line="55"></span><span class="p">}</span><br /><span class="linenos" data-line="56"></span><br /><span class="linenos" data-line="57"></span><span class="kr">void</span><span class="w"> </span><span class="nb">loop</span><span class="p">()</span><span class="w"> </span><span class="p">{</span><br /><span class="linenos" data-line="58"></span><span class="w"> </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="w"> </span><span class="o">==</span><span class="w"> </span><span class="kr">HIGH</span><span class="p">){</span><br /><span class="linenos" data-line="59"></span><span class="w"> </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="linenos" data-line="60"></span><span class="w"> </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="w"> </span><span class="o">==</span><span class="w"> </span><span class="kr">HIGH</span><span class="p">){}</span><br /><span class="linenos" data-line="61"></span><span class="w"> </span><span class="p">}</span><br /><span class="linenos" data-line="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
+
* Couper : prendre une partie des cartes depuis le dessus du paquet pour les passer sous le paquet. Le joueur chargé de couper le paquet est généralement différent de celui qui bat le jeu. Désigne aussi dans certains jeux l'action de jouer une carte atout pendant un pli où l'atout n'est pas la couleur demandée.
* La défausse : désigne un emplacement où les joueurs disposent, généralement face visible, les cartes dont ils se débarrassent au cours du jeu.
* Distribuer ou donner : attribuer les cartes aux joueurs, une à une ou par paquets, en tournant dans le sens des aiguilles d'une montre ou dans l'autre sens, selon le jeu pratiqué. Le joueur qui distribue les cartes est appelé le [https://fr.wikipedia.org/wiki/Donneur_(jeu_de_cartes) donneur].
* La donne désigne dans la plupart des jeux de cartes la période de jeu (ou l'ensemble des actions ayant cours pendant cette période) qui commence par la distribution des cartes et se termine lorsque plus aucune carte ne peut être jouée.
* Un [https://fr.wikipedia.org/wiki/Joker_(carte_%C3%A0_jouer) joker] ou une frime<sup id="cite_ref-1" class="reference">[https://fr.wikipedia.org/wiki/Jeu_de_cartes#cite_note-1 1]</sup> (Québec) : le joker se rencontre généralement en paire, sa fonction est très variée mais généralement il permet de remplacer n'importe quelle autre carte. Il fut inventé vers 1850, probablement par les Américains qui l'incorporaient dans le jeu d'[https://fr.wikipedia.org/w/index.php?title=Euchre&action=edit&redlink=1 euchre]. Il est représenté sous forme d'un bouffon, d'un lutin ou d'un clown, ce qui correspond bien au mot anglais « ''joker'' » (« farceur » ou « blagueur »). Auparavant, on l'appelait ''Juker card'', l'euchre étant nommé ''juker'' ; puis, un jour, il fut nommé définitivement ''Joker''.
* Une main ou un jeu : désigne les cartes détenues par un des joueurs.
* La pioche, le talon ou la pige (Québec) : désigne le tas de cartes non distribuées, souvent retourné « Face cachée », et dans lequel le joueur peut ou doit « piocher » une carte selon les règles.
* Un pli ou une levée : désigne l'ensemble des cartes jouées pendant un tour de jeu et généralement ensuite ramassées par le joueur ayant gagné ce tour. Désigne aussi le tour de jeu proprement dit.
* Le ponte est, dans les jeux de hasard intéressés (baccara, pharaon, roulette, etc.), la personne qui joue contre le banquier.