Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente |
materiels:capteurs:environnement:environnement [2024/05/02 14:37] – [4.1 BME280, BME680] phil | materiels:capteurs:environnement:environnement [2024/05/19 11:48] (Version actuelle) – [3.2 DHT22] phil |
---|
===== Capteurs - Environnement ===== | ===== Capteurs - Environnement ===== |
| |
[Mise à jour le 1/5/2024] | [Mise à jour le 19/5/2024] |
| |
| \\ |
| |
| |
| |
==== 1. Généralités sur les grandeurs physiques==== | ==== 1. Généralités sur les grandeurs physiques==== |
* //**Source**// : <html><a href="https://learn.adafruit.com/adafruit-bmp280-barometric-pressure-plus-temperature-sensor-breakout/overview" target="_blank">wiki</a><b> Adafruit</b></html> | * //**Source**// : <html><a href="https://learn.adafruit.com/adafruit-bmp280-barometric-pressure-plus-temperature-sensor-breakout/overview" target="_blank">wiki</a><b> Adafruit</b></html> |
| |
<callout type="info" icon="true">Ce capteur est basé sur le circuit BMP280 et mesure la pression atmosphérique, la température et l'altitude. Il communique avec un microcontrôleur via le bus I2C ou SPI.</callout> | <callout type="info" icon="true">Ce capteur est basé sur le circuit BMP280 et mesure la pression atmosphérique, la température et l'altitude. Le BMP280 se compose d'un élément de détection de pression piézorésistif et d'un ASIC à signal mixte. |
| L'ASIC effectue des conversions A/D et fournit les résultats de conversion et les informations spécifiques au capteur. Il communique avec un microcontrôleur via un bus I2C ou SPI.</callout> |
| |
* //**Distributeur**// : <html><a href="https://www.gotronic.fr/art-capteur-de-t-et-de-pression-bmp280-23891.htm" target="_blank">Gotronic</a></html> | * //**Distributeur**// : <html><a href="https://www.gotronic.fr/art-capteur-de-t-et-de-pression-bmp280-23891.htm" target="_blank">Gotronic</a></html> |
* Sortie 3,3 Vcc/100 mA maxi | * Sortie 3,3 Vcc/100 mA maxi |
* Dimensions: 19,2 x 17,9 x 2,9 mm | * Dimensions: 19,2 x 17,9 x 2,9 mm |
| |
| * //**Schéma-blocs**// |
| {{ :materiels:capteurs:environnement:bloc_diagram_bmp280.png?nolink |}} |
| |
{{ :materiels:capteurs:acrobate.gif?nolink&40|}} | {{ :materiels:capteurs:acrobate.gif?nolink&40|}} |
* //**Documentation**// | * //**Documentation**// |
* PDF à télécharger <html><a href="https://cdn-shop.adafruit.com/datasheets/BST-BMP280-DS001-11.pdf" target="_blank"><strong>ici</strong></a></html> | * Datasheet à télécharger <html><a href="https://cdn-shop.adafruit.com/datasheets/BST-BMP280-DS001-11.pdf" target="_blank"><strong>ici</strong></a></html> |
| * Schéma à télécharger <html><a href="https://cdn-learn.adafruit.com/assets/assets/000/093/017/original/adafruit_products_BMP280_sch.png?1594315756" target="_blank"><strong>ici</strong></a></html> |
| |
| {{ :materiels:capteurs:environnement:iconechronogrammes.png?nolink&50|}} |
| * //**Chronogrammes**// |
| * Relevé des signaux du bus I2C faite lors d'une mesure : **P=991,81hpa** et **T=21,33°C**. A télécharger <html><a href="https://webge.fr/doc/wikis/img/991hpabmp280.png" target="_blank"><b>ici</b></a></html>. |
| |
\\ | \\ |
* humidité: 5 à 99% HR (±2%) | * humidité: 5 à 99% HR (±2%) |
* Temps de réponse: 6 à 20 secondes | * Temps de réponse: 6 à 20 secondes |
* Interface : signal TOR (<html><a href="https://webge.fr/doc/projets/datasheets/DHT22.pdf" target="_blank" title="pdf">protocol spécifique 1 fil</a></html>) | * Interface : signal TOR (protocol spécifique 1 fil) |
* Dimensions: 40 x 20 x 11 mm | * Dimensions: 40 x 20 x 11 mm |
| |
| * //**Application typique**// |
| {{ :materiels:capteurs:environnement:application_dht22.png?nolink |}} |
| |
{{ :materiels:capteurs:acrobate.gif?nolink&40|}} | {{ :materiels:capteurs:acrobate.gif?nolink&40|}} |
* //**Documentation**// | * //**Documentation**// |
* PDF à télécharger <html><a href="https://joy-it.net/files/files/Produkte/SEN-DHT22/Datasheet%20SEN-DHT22.pdf" target="_blank"><b>ici</b></a></html> | * Datasheet à télécharger <html><a href="https://files.seeedstudio.com/wiki/Grove-Temperature_and_Humidity_Sensor_Pro/res/AM2302-EN.pdf" target="_blank"><strong>ici</strong></a></html> |
| * Protocol spécifique 1 fil à télécharger <html><a href="https://webge.fr/doc/projets/datasheets/DHT22.pdf" target="_blank" title="pdf"><b>ici</b></a></html> |
| * Schéma à télécharger <html><a href="https://files.seeedstudio.com/wiki/Grove-Temperature_and_Humidity_Sensor_Pro/res/TemperatureHumidiy%20Pro%20Schematic.pdf" target="_blank"><strong>ici</strong></a></html> |
| {{ :materiels:capteurs:environnement:iconechronogrammes.png?nolink&50|}} |
| * //**Chronogrammes**// |
| * A venir. A télécharger <html><a href="https://webge.fr/doc/wikis/img/Mesures_dht22.zip" target="_blank"><b>ici</b></a></html>. |
| |
\\ | \\ |
<tabs> | <tabs> |
* [[#tab-dht22duino_1|Arduino UNO]] | * [[#tab-dht22duino_1|Arduino UNO]] |
| * [[#tab-dht22esp_1|ESP (Arduino)]] |
* [[#tab-dht22pico_1|RPi Pico (µPython)]] | * [[#tab-dht22pico_1|RPi Pico (µPython)]] |
<pane id="tab-dht22duino_1"> | <pane id="tab-dht22duino_1"> |
* //A partir du gestionnaire de bibliothèques de l'**IDE Arduino**, installer :// \\ | * //A partir du gestionnaire de bibliothèques de l'**IDE Arduino**, installer :// \\ |
{{ :materiels:capteurs:environnement:bibliodht22.png?nolink |}} | {{ :materiels:capteurs:environnement:bibliodht22.png?nolink |}} |
| </pane> |
| <pane id="tab-dht22esp_1"> |
| A venir |
</pane> | </pane> |
<pane id="tab-dht22pico_1"> | <pane id="tab-dht22pico_1"> |
<tabs> | <tabs> |
* [[#tab-dht22duino_2|Arduino UNO]] | * [[#tab-dht22duino_2|Arduino UNO]] |
| * [[#tab-dht22esp_2|ESP (Arduino)]] |
* [[#tab-dht22pico_2|RPi Pico (µPython)]] | * [[#tab-dht22pico_2|RPi Pico (µPython)]] |
<pane id="tab-dht22duino_2"> | <pane id="tab-dht22duino_2"> |
* //**Exemple** de l'IDE Arduino pour tester le capteur// \\ Dans l'IDE Arduino, sélectionner : Fichier -> Exemples -> DHT sensor library -> **DHTtester** | * //**Exemple** de l'IDE Arduino pour tester le capteur// \\ Dans l'IDE Arduino, sélectionner : Fichier -> Exemples -> DHT sensor library -> **DHTtester** |
</pane> | </pane> |
\\ \\ | <pane id="tab-dht22esp_2"> |
| A venir |
| </pane> |
<pane id="tab-dht22pico_2"> | <pane id="tab-dht22pico_2"> |
A venir | A venir |
</pane> | </pane> |
</tabs> | </tabs> |
| |
| \\ |
| |
==== 4. Capteurs atmosphériques ==== | ==== 4. Capteurs atmosphériques ==== |
== 4.1.1 Présentation == | == 4.1.1 Présentation == |
* //**Sources**// : site <html><a href="https://www.sparkfun.com/products/15440" target="_blank">sparkfun</a></html> | * //**Sources**// : site <html><a href="https://www.sparkfun.com/products/15440" target="_blank">sparkfun</a></html> |
{{ :materiels:capteurs:environnement:bme280qwiic.jpg?nolink|}} | {{ :materiels:capteurs:environnement:bme280adafruit.jpg?nolink&200|}} |
| |
<callout type="info" icon="true">Capteur environnemental mesurant la **température, la pression barométrique et l'humidité** ! Ce capteur est idéal pour toutes sortes de capteurs météorologiques / environnementaux et peut être utilisé à la fois en **I²C** et en SPI.</callout> | <callout type="info" icon="true">Capteur environnemental mesurant la **température, la pression barométrique et l'humidité** ! Ce capteur est idéal pour toutes sortes de capteurs météorologiques / environnementaux et peut être utilisé à la fois en **I²C** et en SPI.</callout> |
* **Adresse I2C** (BME280, BMP280): **SLA** = **0x76** ou **0x77** idem BMP280 | * **Adresse I2C** (BME280, BMP280): **SLA** = **0x76** ou **0x77** idem BMP280 |
* SPI: sur pastilles femelles au pas de 2,54 mm (connecteurs mâles à souder inclus) | * SPI: sur pastilles femelles au pas de 2,54 mm (connecteurs mâles à souder inclus) |
| |
| * //**Bloc-diagram**// |
| {{ :materiels:capteurs:environnement:bloc_diagram_bme280.png?nolink |}} |
| |
{{ :materiels:capteurs:acrobate.gif?nolink&40|}} | {{ :materiels:capteurs:acrobate.gif?nolink&40|}} |
* //**Documentation**// | * //**Documentation**// |
* PDF à télécharger <html><a href="https://cdn.sparkfun.com/assets/e/7/3/b/1/BME280_Datasheet.pdf" target="_blank"><strong>BME280</strong></a>, <a href="https://cdn-shop.adafruit.com/product-files/3660/BME680.pdf" target="_blank"><strong>BME680</strong></a></html> | * PDF à télécharger <html><a href="https://cdn.sparkfun.com/assets/e/7/3/b/1/BME280_Datasheet.pdf" target="_blank"><b>BME280</b></a>, <a href="https://cdn-shop.adafruit.com/product-files/3660/BME680.pdf" target="_blank"><b>BME680</b></a></html> |
| * Schéma à télécharger <html><a href="https://cdn-learn.adafruit.com/assets/assets/000/097/136/original/adafruit_products_BME280_sch.png?1605727658" target="_blank"><b>ici</b></a></html> |
| |
| {{ :materiels:capteurs:environnement:iconechronogrammes.png?nolink&50|}} |
| * //**Chronogrammes**// |
| * Relevé des signaux du bus I2C faite lors d'une mesure : **H=63,87%** et **T=19,5°C**. A télécharger <html><a href="https://webge.fr/doc/wikis/img/63_87pourcentbme280.png" target="_blank"><b>ici</b></a></html>. |
| |
\\ | \\ |
* [[#tab-bme280pico_1|Rpi Pico (µPython)]] | * [[#tab-bme280pico_1|Rpi Pico (µPython)]] |
<pane id="tab-bme280duino_1"> | <pane id="tab-bme280duino_1"> |
* //A partir du gestionnaire de bibliothèques de l'**IDE Arduino**, installer :// | * //A partir du gestionnaire de bibliothèques de l'**IDE Arduino**, installer :// \\ |
| {{ :materiels:capteurs:environnement:adafruitbme280.png?nolink |}} \\ |
| <html><p style="text-align:center"><b>ou</b></p></html> |
| {{ :materiels:capteurs:environnement:sparkfunbme280.png?nolink |}} |
</pane> | </pane> |
| |
<pane id="tab-bme280esp_1"> | <pane id="tab-bme280esp_1"> |
* // A installer dans l'IDE// \\ | * //A partir du gestionnaire de bibliothèques de l'**IDE Arduino**, installer :// \\ |
{{ :materiels:capteurs:biblio_sparkfun_bme280.png?nolin |}} \\ | {{ :materiels:capteurs:environnement:adafruitbme280.png?nolink |}} \\ |
| <html><p style="text-align:center"><b>ou</b></p></html> |
* // Un premier exemple pour tester le capteur// \\ -> Fichier -> Exemples -> SparkFun BME280 -> **Example1_BasicReadings.ino** | {{ :materiels:capteurs:environnement:sparkfunbme280.png?nolink |}} |
</pane> | </pane> |
| |
<pane id="tab-bme280pico_1"> | <pane id="tab-bme280pico_1"> |
* // A installer dans le Raspberry Pi Pico// | * //** A installer** dans le Raspberry Pi Pico// |
| {{ :materiels:capteurs:htr:github.png?nolink&40|}} |
* <html><a href="https://github.com/RuiSantosdotme/ESP-MicroPython/blob/master/code/WiFi/HTTP_Client_IFTTT_BME280/BME280.py" target="_blank">Télécharger</a></html> le code de la **bibliothèque BME280** sur Github, le copier dans un fichier //BME280.py// et l'installer dans le dossier **/lib** sur le raspberry Pi Pico. Modifier éventuellement l'adresse du composant dans le code de la bibliothèque (**0x76** par défaut), ou **0x77** (par ex: sparkfun). | * <html><a href="https://github.com/RuiSantosdotme/ESP-MicroPython/blob/master/code/WiFi/HTTP_Client_IFTTT_BME280/BME280.py" target="_blank">Télécharger</a></html> le code de la **bibliothèque BME280** sur Github, le copier dans un fichier //BME280.py// et l'installer dans le dossier **/lib** sur le raspberry Pi Pico. Modifier éventuellement l'adresse du composant dans le code de la bibliothèque (**0x76** par défaut), ou **0x77** (par ex: sparkfun). |
</pane> | </pane> |
<tabs> | <tabs> |
* [[#tab-bme280duino_2|Arduino UNO]] | * [[#tab-bme280duino_2|Arduino UNO]] |
* [[#tab-bme280pico_2|RPi Pico(µPython)]] | * [[#tab-bme280esp_2|ESP (Arduino)]] |
* [[#tab-bme280esp32_2|ESP32 (Arduino)]] | * [[#tab-bme280pico_2|Rpi Pico (µPython)]] |
<pane id="tab-bme280duino_2"> | <pane id="tab-bme280duino_2"> |
A venir | * //**Exemple** de l'IDE Arduino pour tester le capteur//. Dans l'IDE Arduino, sélectionner : \\ - **Adafruit** : Fichier → Exemples → Adafruit BME280 Library -> **bme280test** \\ - **Sparkfun** : Fichier -> Exemples -> SparkFun BME280 -> **Example1_BasicReadings** |
</pane> | </pane> |
<pane id="tab-bme280pico_2"> | |
* **Ressource** | |
* <html><a htef="https://randomnerdtutorials.com/micropython-bme280-esp32-esp8266/" target="_blank">MicroPython: BME280 with ESP32 and ESP8266 (Pressure, Temperature, Humidity)</a></html> sur Random Nerd Tutorials | |
| |
//Exemple de code pour un **Raspberry Pi Pico**// | <pane id="tab-bme280esp_2"> |
<code python *.py> | * //**Exemple** de l'IDE Arduino pour tester le capteur// \\ Dans l'IDE Arduino, sélectionner : Fichier -> Exemples -> SparkFun BME280 -> **Example1_BasicReadings** |
from machine import Pin, I2C | |
from time import sleep | |
import bme280 # bibliothèque du capteur (installée dans /lib | |
| |
# RP2 - Pin assignment | |
i2c = I2C(1,scl=Pin(7), sda=Pin(6), freq=400_000) | |
| |
while True: | |
bme = bme280.BME280(i2c=i2c) | |
temp = bme.temperature | |
hum = bme.humidity | |
pres = bme.pressure | |
print('Temperature: ', temp) | |
print('Humidity: ', hum) | |
print('Pressure: ', pres) | |
| |
sleep(5) | |
</code> | |
</pane> | |
| |
<pane id="tab-bme280esp32_2"> | * //**Mise en oeuvre** du capteur avec un afficheur OLED// |
* ** Mise en oeuvre du capteur avec un afficheur OLED** | * //**Description**// : mesure de de la température, de l'humidité et de la pression à l'aide d'un capteur **Sparkfun BME280**, test des boutons-poussoirs et affichage sur un écran Oled **Adafruit SH1107**. L'écran et le capteur sont reliés via le système <html><a href="https://www.sparkfun.com/qwiic#products" target=""><strong>Qwiic</strong></a></html> de Sparkfun. \\ {{ :materiels:afficheurs:bme280sh1107.jpg?nolink&600 |}} |
* **Description** : mesure de de la température, de l'humidité et de la pression à l'aide d'un capteur **Sparkfun BME280**, test des boutons-poussoirs et affichage sur un écran Oled **Adafruit SH1107**. L'écran et le capteur sont reliés via le système <html><a href="https://www.sparkfun.com/qwiic#products" target=""><strong>Qwiic</strong></a></html> de Sparkfun. \\ {{ :materiels:afficheurs:bme280sh1107.jpg?nolink&600 |}} | |
* //**Matériels**// | * //**Matériels**// |
* Carte à microcontrôleur : [[arduino:uc:esp8266|Adafruit Feather Huzzah ESP8266 + Support Particle]] | * Carte à microcontrôleur : [[microc:uc:esp8266|Adafruit Feather Huzzah ESP8266]] |
* Afficheur : [[materiels:afficheurs:ada1107|Adafruit OLED SH1107]] | * Afficheur : [[materiels:afficheurs:ada1107|Adafruit OLED SH1107]] {{ :arduino:arduino.png?nolink&50|}} |
* //**Code Arduino**// | * Code pour un ESP Feather Huzzah |
{{ :arduino:arduino.png?nolink&50|}} | |
//Exemple de code pour un **ESP32 Feather Huzzah**// | |
<code cpp *.cpp> | <code cpp *.cpp> |
// Matériels : Adafruit Feather Huzzah ESP8266 + Support Particle, Adafruit OLED SH1107, Sparkfun BME280, câble Qwiic | // Matériels : Adafruit Feather Huzzah ESP8266 + Support Particle, Adafruit OLED SH1107, Sparkfun BME280, câble Qwiic |
{{ :arduino:uc:platformioico.png?nolink&50|}} | {{ :arduino:uc:platformioico.png?nolink&50|}} |
<callout type="tip" icon="true"><html><a href="https://webge.fr/doc/wikis/code/Arduino/ARD_PIO_ESP8266_OLED128x64_BME280.zip" target="_blank">Télécharger</a></html> le projet PlatformIO pour VSCode.</callout> | <callout type="tip" icon="true"><html><a href="https://webge.fr/doc/wikis/code/Arduino/ARD_PIO_ESP8266_OLED128x64_BME280.zip" target="_blank">Télécharger</a></html> le projet PlatformIO pour VSCode.</callout> |
| </pane> |
| |
| <pane id="tab-bme280pico_2"> |
| * **Ressource** |
| * <html><a htef="https://randomnerdtutorials.com/micropython-bme280-esp32-esp8266/" target="_blank">MicroPython: BME280 with ESP32 and ESP8266 (Pressure, Temperature, Humidity)</a></html> sur Random Nerd Tutorials |
| * //**Exemple** de code pour un Raspberry Pi Pico// |
| <code python *.py> |
| from machine import Pin, I2C |
| from time import sleep |
| import bme280 # bibliothèque du capteur (installée dans /lib |
| |
| # RP2 - Pin assignment |
| i2c = I2C(1,scl=Pin(7), sda=Pin(6), freq=400_000) |
| |
| while True: |
| bme = bme280.BME280(i2c=i2c) |
| temp = bme.temperature |
| hum = bme.humidity |
| pres = bme.pressure |
| print('Temperature: ', temp) |
| print('Humidity: ', hum) |
| print('Pressure: ', pres) |
| |
| sleep(5) |
| </code> |
</pane> | </pane> |
</tabs> | </tabs> |
| |
=== 4.2 SCD41 === | \\ |
| |
| |
| === 4.2 SCD40, SCD41 === |
* **Capteur de CO², température et humidité**. Voir [[materiels:capteurs:gaz:gaz|Capteurs - Gaz]] | * **Capteur de CO², température et humidité**. Voir [[materiels:capteurs:gaz:gaz|Capteurs - Gaz]] |
| |
| \\ |
| |
| |
| |
=== 4.3 SGP30 === | === 4.3 SGP30 === |