Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révisionLes deux révisions suivantes |
materiels:capteurs:environnement:environnement [2024/04/03 19:08] – [2.1 BMP280] phil | materiels:capteurs:environnement:environnement [2024/06/25 17:27] – [4.1 BME280, BME680] phil |
---|
===== Capteurs - Environnement ===== | ===== Capteurs - Environnement ===== |
| |
[Mise à jour le 24/3/2024] | [Mise à jour le 20/5/2024] |
| |
| \\ |
| |
==== 1. Généralités sur les grandeurs physiques==== | ==== 1. Généralités sur les grandeurs physiques==== |
{{ :materiels:capteurs:environnement:bmp280.jpg?nolink&250|BMP280 Adafruit}} | {{ :materiels:capteurs:environnement:bmp280.jpg?nolink&250|BMP280 Adafruit}} |
=== 2.1 BMP280 === | === 2.1 BMP280 === |
<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> | == 2.1.1 Présentation == |
| * //**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> |
| |
* //Distributeur// : <html><a href="https://www.gotronic.fr/art-capteur-de-t-et-de-pression-bmp280-23891.htm" target="_blank">Gotronic</a></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. 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> |
| |
* //Caractéristiques// | * //**Distributeur**// : <html><a href="https://www.gotronic.fr/art-capteur-de-t-et-de-pression-bmp280-23891.htm" target="_blank">Gotronic</a></html> |
| |
| * //**Caractéristiques**// |
* Alimentation: 3,3 à 5 Vcc | * Alimentation: 3,3 à 5 Vcc |
* Interface I2C: | * Interface I2C (**SLA** = **0x76** ou **0x77** idem BME280): |
* sur connecteur Qwiic ou Stemma QT | * sur connecteur Qwiic ou Stemma QT |
* sur pastilles femelles au pas de 2,54 mm | * sur pastilles femelles au pas de 2,54 mm |
* 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>. |
| |
| \\ |
| |
| == 2.1.2 Bibliothèques == |
| <tabs> |
| * [[#tab-bmp280duino_1|Arduino UNO]] |
| * [[#tab-bmp280esp_1|ESP (Arduino)]] |
| * [[#tab-bmp280pico_1|Rpi Pico (µPython)]] |
| <pane id="tab-bmp280duino_1"> |
| * //A partir du gestionnaire de bibliothèques de l'**IDE Arduino**, installer :// \\ {{ :materiels:capteurs:environnement:libbmp280adafruit.png?nolink |}} |
| </pane> |
| <pane id="tab-bmp280esp_1"> |
| A venir |
| </pane> |
| <pane id="tab-bmp280pico_1"> |
| A venir |
| </pane> |
| </tabs> |
| |
| \\ |
| |
| {{ :materiels:capteurs:environnement:code.png?nolink|}} |
| == 2.1.3 Exemples de code == |
| <tabs> |
| * [[#tab-bmp280duino_2|Arduino UNO]] |
| * [[#tab-bmp280esp_2|ESP (Arduino)]] |
| * [[#tab-bmp280pico_2|Rpi Pico (µPython)]] |
| <pane id="tab-bmp280duino_2"> |
| * //**Resource**// : <html><a href="https://learn.adafruit.com/adafruit-bmp280-barometric-pressure-plus-temperature-sensor-breakout/overview" target="_blank">wiki</a><b> Adafruit</b></html> |
| |
| {{ :materiels:capteurs:distance:arduinoico.png?nolink&40|}} |
| * //**Exemple** de l'IDE Arduino pour tester le capteur// \\ Dans l'IDE Arduino, sélectionner : Fichier → Exemples → Adafruit BMP280 Library → bmp280test |
| </pane> |
| <pane id="tab-bmp280esp_2"> |
| A venir |
| </pane> |
| <pane id="tab-bmp280pico_2"> |
| A venir |
| </pane> |
| </tabs> |
| |
| \\ |
| |
* //**Programmation d'une carte Arduino**// | |
* //Bibliothèques à installer dans l'IDE (I2C)// \\ {{ :materiels:capteurs:environnement:libbmp280adafruit.png?nolink |}} | |
==== 3. Capteurs de température et d'humidité ==== | ==== 3. Capteurs de température et d'humidité ==== |
=== 3.1 HYT-221 === | === 3.1 HYT-221 === |
{{ :materiels:capteurs:hyt221.jpg?nolink&120|}} | {{ :materiels:capteurs:hyt221.jpg?nolink&120|}} |
| |
* //Source// : <html><a href="https://github.com/stylesuxx/Arduino-HYT-221-I2C" target="_blank">GitHub</a></html> | == 3.1.1 Présentation == |
| * //**Source**// : <html><a href="https://github.com/stylesuxx/Arduino-HYT-221-I2C" target="_blank">GitHub</a></html> |
| |
<callout type="info" icon="true">Capteur capacitif **numérique d'humidité et de température** relative présentant une précision de base de ±1,8% HR, calibré et compensé en température. Communication via le **bus I²C** (**adresse 0x28** par défaut).</callout> | <callout type="info" icon="true">Capteur capacitif **numérique d'humidité et de température** relative présentant une précision de base de ±1,8% HR, calibré et compensé en température. Communication via le **bus I²C** (**adresse 0x28** par défaut).</callout> |
| |
* //Distributeur// : <html><a href="https://www.gotronic.fr/art-humidistance-digitale-hyt221-19933.htm" target="_blank">Gotronic</a></html> | * //**Distributeur**// : <html><a href="https://www.gotronic.fr/art-humidistance-digitale-hyt221-19933.htm" target="_blank">Gotronic</a></html> |
| |
* //Caractéristiques// | * //**Caractéristiques**// |
* Alimentation: 2,7 à 5,5 Vcc | * Alimentation: 2,7 à 5,5 Vcc |
* Consommation: <22 µA à 1 Hz (850 µA maxi) | * Consommation: <22 µA à 1 Hz (850 µA maxi) |
- ±0,2°C | - ±0,2°C |
* Hystérésis: < ±1% HR | * Hystérésis: < ±1% HR |
* Interface: I²C | * Interface: I²C (**SLA** = **0x28** - modifiable entre 0x00 et 0x7F) |
* Dimensions: 16 x 10 x 6 mm | * Dimensions: 16 x 10 x 6 mm |
| |
{{ :materiels:capteurs:acrobate.gif?nolink&40|}} | {{ :materiels:capteurs:acrobate.gif?nolink&40|}} |
* //Documentation// | * //**Documentation**// |
* PDF à télécharger <html><a href="https://www.gotronic.fr/pj-925.pdf" target="_blank"><strong>ici</strong></a></html> | * PDF à télécharger <html><a href="https://my.avnet.com/wcm/connect/0b4b56cb-ed7b-4cc1-a7c7-cbdc21910724/HYT+221+%28with+membrane+filter%29.pdf?MOD=AJPERES&CVID=oMycvj1" target="_blank"><strong>ici</strong></a></html> |
{{ :materiels:capteurs:htr:github.png?nolink&40|}} | |
* <html><a href="https://github.com/stylesuxx/Arduino-HYT-221-I2C/blob/master/i2c_temp/i2c_temp.ino" target="_blank"><strong>Télécharger</strong></a></html> un exemple pour tester le capteur. | |
| |
| \\ |
| |
| == 3.1.2 Bibliothèques == |
| <tabs> |
| * [[#tab-hyt221duino_1|Arduino UNO]] |
| * [[#tab-hyt221esp_1|ESP8266 (Arduino)]] |
| * [[#tab-hyt221pico_1|Rpi Pico (µPython)]] |
| <pane id="tab-hyt221duino_1"> |
| * Intégré à l'exemple ci-dessous. |
| </pane> |
| <pane id="tab-hyt221esp_1"> |
| * // Intégrée au code de l'exemple ci-dessous// |
| </pane> |
| <pane id="tab-hyt221pico_1"> |
| * A venir |
| </pane> |
| </tabs> |
| |
| \\ |
| |
| {{ :materiels:capteurs:environnement:code.png?nolink|}} |
| == 3.1.3 Exemples de code == |
| <tabs> |
| * [[#tab-hyt221duino_2|Arduino UNO]] |
| * [[#tab-hyt221esp_2|ESP8266 (Arduino)]] |
| * [[#tab-hyt221pico_2|Rpi Pico (µPython)]] |
| <pane id="tab-hyt221duino_2"> |
| |
| {{ :materiels:capteurs:htr:github.png?nolink&40|}} |
| * //**Exemple** pour tester le capteur// \\ A télécharger sur <html><a href="https://github.com/stylesuxx/Arduino-HYT-221-I2C/blob/master/i2c_temp/i2c_temp.ino" target="_blank"><b>Github</b></a>.</html>. |
| </pane> |
| <pane id="tab-hyt221esp_2"> |
* **Mise en oeuvre du capteur avec un afficheur OLED** | * **Mise en oeuvre du capteur avec un afficheur OLED** |
* //Description// : mesure de la température et de l'humidité à l'aide d'un capteur **HYT221**, test des boutons-poussoirs et affichage sur un écran Oled Adafruit SH1107. \\ {{ :materiels:capteurs:environnement:affhyt221.jpg?nolink&650 |}} | * //Description// : mesure de la température et de l'humidité à l'aide d'un capteur **HYT221**, test des boutons-poussoirs et affichage sur un écran Oled Adafruit SH1107. \\ {{ :materiels:capteurs:environnement:affhyt221.jpg?nolink&650 |}} |
{{ :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_HYT221.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_HYT221.zip" target="_blank">Télécharger</a></html> le projet PlatformIO pour VSCode.</callout> |
| </pane> |
| <pane id="tab-hyt221pico_2"> |
| * A venir |
| </pane> |
| </tabs> |
| \\ \\ |
=== 3.2 DHT22 === | === 3.2 DHT22 === |
{{ :materiels:capteurs:environnement:dht22.jpg?nolink&150|}} | * //Source// : <html><a href="https://wiki.seeedstudio.com/Grove-Temperature_and_Humidity_Sensor_Pro/" target="_blank">Wiki</a> <b>Seeed studio</b></html> |
<callout type="info" icon="true">Ce capteur de température et d'humidité (version pro DHT22) compatible Grove utilise une thermistance CTN et un capteur capacitif et délivre une sortie digitale.</callout> | |
| |
* //Distributeur// : <html><a href="https://www.gotronic.fr/art-capteur-d-humidite-et-de-t-grove-101020019-18964.htm" target="_blank">Gotronic</a></html> | \\ |
| |
* //Caractéristiques// | == 3.2.1 Présentation == |
| {{ :materiels:capteurs:environnement:dht22.jpg?nolink&150|DHT22 - ADAFRUIT}} |
| <callout type="info" icon="true">Le module Grove DHT22 de Seeed Studio est basé sur un module numérique de mesure de la température et de l’humidité AM2302 de AOSONG. Les détails internes du module ne sont pas connus, mais la documentation, accessible accessible ci-dessous, nous apprend qu’il se compose : \\ |
| - d'un capteur de température, d'un capteur d’humidité capacitif (les capteurs sont calibrés automatiquement) \\ |
| - d'un microcontrôleur 8bits chargé de corriger et de transmettre les mesures sous forme numérique (16bits) via un bus spécifique 1 fil (différent du 1 wire de Dallas) à une distance < 30m sous 5V ou 0,1m sous 3,3V.</callout> |
| |
| * //**Distributeur**// : <html><a href="https://www.gotronic.fr/art-capteur-d-humidite-et-de-t-grove-101020019-18964.htm" target="_blank">Gotronic</a></html> |
| |
| * //**Caractéristiques**// |
* Interface: compatible Grove | * Interface: compatible Grove |
* Alimentation: 3,3 à 6 Vcc | * Alimentation: 3,3 à 6 Vcc max |
* Consommation: 1,5 mA | * Consommation: 1,5 mA |
* Plage de mesure: | * Plage de mesure: |
* température: -40°C à 80°C (±0,5°C) | * température: -40°C à 80°C (précision ±0,5°C) (résolution = 0,1°C) |
* humidité: 5 à 99% HR (±2%) | * humidité: 5 à 99% HR (précision ±2%) (résolution = 0,1%) |
* Temps de réponse: 6 à 20 secondes | * Echantillonage : 2s |
* 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 : protocol spécifique 1 fil (différent du One wire de Dallas) |
* Dimensions: 40 x 20 x 11 mm | * Dimensions: 40 x 20 x 11 mm |
| |
| * //**Application typique**// |
| {{ :materiels:capteurs:environnement:application_dht22.png?nolink |}} |
| |
* //Wiki Seeed studio// | {{ :materiels:capteurs:acrobate.gif?nolink&40|}} |
* PDF à télécharger <html><a href="https://wiki.seeedstudio.com/Grove-Temperature_and_Humidity_Sensor_Pro/" target="_blank"><strong>ici</strong></a></html> | * //**Documentation**// |
| * Datasheet de l'**AM2302** à 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> |
| * Schéma du **DHT22** à 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> |
| |
| * //**Chronogrammes**// |
| * Protocole (voir datasheet) {{ :materiels:capteurs:environnement:protocole_dht22.png?nolink&800 |}} {{ :materiels:capteurs:environnement:iconechronogrammes.png?nolink&50|}} |
| * Exemples de mesures à télécharger <html><a href="https://webge.fr/doc/wikis/img/Mesures_dht22.zip" target="_blank"><b>ici</b></a></html>. {{ :materiels:capteurs:environnement:affichage1_dht22.png?nolink |}} |
| |
| \\ |
| |
| == 3.2.2 Bibliothèques == |
| <tabs> |
| * [[#tab-dht22duino_1|Arduino UNO]] |
| * [[#tab-dht22esp_1|ESP (Arduino)]] |
| * [[#tab-dht22pico_1|RPi Pico (µPython)]] |
| <pane id="tab-dht22duino_1"> |
| * //A partir du gestionnaire de bibliothèques de l'**IDE Arduino**, installer :// \\ |
| {{ :materiels:capteurs:environnement:bibliodht22.png?nolink |}} |
| </pane> |
| <pane id="tab-dht22esp_1"> |
| A venir |
| </pane> |
| <pane id="tab-dht22pico_1"> |
| A venir |
| </pane> |
| </tabs> |
| |
| \\ |
| |
| == 3.2.3 Exemple de code == |
| <tabs> |
| * [[#tab-dht22duino_2|Arduino UNO]] |
| * [[#tab-dht22esp_2|ESP (Arduino)]] |
| * [[#tab-dht22pico_2|RPi Pico (µPython)]] |
| <pane id="tab-dht22duino_2"> |
| * **//Ressource//** : <html><a href="https://wiki.seeedstudio.com/Grove-Temperature_and_Humidity_Sensor_Pro/" target="_blank">Wiki</a> seeedstudio</html> |
| |
| {{ :materiels:capteurs:distance:arduinoico.png?nolink&40|}} |
| * //**Exemple** de l'IDE Arduino pour tester le capteur// \\ Dans l'IDE Arduino, sélectionner : Fichier -> Exemples -> DHT sensor library -> **DHTtester** |
| </pane> |
| <pane id="tab-dht22esp_2"> |
| A venir |
| </pane> |
| <pane id="tab-dht22pico_2"> |
| A venir |
| </pane> |
| </tabs> |
| |
| \\ |
| |
{{ :materiels:capteurs:htr:github.png?nolink&40|}} | |
==== 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> |
* //**Distributeurs**// : <html><a href="https://www.gotronic.fr/art-capteur-bme280-sen-15440-32528.htm" target="_blank">Gotronic</a></html> | * //**Distributeurs**// : <html><a href="https://www.gotronic.fr/art-capteur-bme280-sen-15440-32528.htm" target="_blank">Gotronic</a></html> |
| |
* **Caractéristiques** | * //**Caractéristiques**// |
* Alimentation: 3,3 à 5 Vcc | * Alimentation: 3,3 à 5 Vcc |
* Plages de mesure: | * Plages de mesure: |
* pression: ±1 hPa (0,12hPa pour le BME680) | * pression: ±1 hPa (0,12hPa pour le BME680) |
* Interfaces: | * Interfaces: |
* I2C: sur connecteur Qwiic de Sparkfun ou Stemma QT d'Adafruit. **Adresse I2C: 0x77** (0x76 via cavalier à connecter entre SDO et GND) | * I2C: sur connecteur Qwiic de Sparkfun ou Stemma QT d'Adafruit. |
| * **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) |
| |
| * //**Schéma-blocs**// |
| {{ :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>ici</strong></a></html> | * Datasheets à 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>. |
| |
| \\ |
| |
== 4.1.2 Bibliothèques == | == 4.1.2 Bibliothèques == |
<tabs> | <tabs> |
* [[#tab-bme280pico_1|RPi Pico(MicroPython)]] | * [[#tab-bme280duino_1|Arduino UNO]] |
* [[#tab-bme280esp32_1|ESP32 (C++)]] | * [[#tab-bme280esp_1|ESP (Arduino)]] |
<pane id="tab-bme280pico_1"> | * [[#tab-bme280pico_1|Rpi Pico (µPython)]] |
* // A installer dans le Raspberry Pi Pico// | <pane id="tab-bme280duino_1"> |
* <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). | * //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-bme280esp32_1"> | |
* // A installer dans l'IDE// \\ | |
{{ :materiels:capteurs:biblio_sparkfun_bme280.png?nolin |}} \\ | |
| |
* // Un premier exemple pour tester le capteur// \\ -> Fichier -> Exemples -> SparkFun BME280 -> **Example1_BasicReadings.ino** | <pane id="tab-bme280esp_1"> |
| * //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 id="tab-bme280pico_1"> |
| * //** 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). |
</pane> | </pane> |
</tabs> | </tabs> |
| |
| \\ |
| |
{{ :materiels:capteurs:environnement:code.png?nolink|}} | {{ :materiels:capteurs:environnement:code.png?nolink|}} |
== 4.1.3 Exemples de code == | == 4.1.3 Exemples de code == |
<tabs> | <tabs> |
* [[#tab-bme280pico_2|RPi Pico(MicroPython)]] | * [[#tab-bme280duino_2|Arduino UNO]] |
* [[#tab-bme280esp32_2|ESP32 (C++)]] | * [[#tab-bme280esp_2|ESP (Arduino)]] |
<pane id="tab-bme280pico_2"> | * [[#tab-bme280pico_2|Rpi Pico (µPython)]] |
* **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-bme280duino_2"> |
<code python *.py> | * //**Ressource**//{{ :materiels:capteurs:intensite:doc.gif?nolink|}} |
from machine import Pin, I2C | * //**Fiche guide**// pour l'étude d'une chaîne d'information comprenant un **BME280** <html><a href="https://webge.fr/doc/projets/tsin/0_Fiches guide TSIN/TSIN_FGA_BME280.zip">[Télécharger]</a></html> |
from time import sleep | |
import bme280 # bibliothèque du capteur (installée dans /lib | |
| |
# RP2 - Pin assignment | * //**Connexion**// à une <html><a href="https://wiki.seeedstudio.com/Base_Shield_V2/" target="_blank">Base Shield V2</a></html> montée sur une Arduino Uno.{{ :materiels:capteurs:environnement:bme280.jpg?nolink&600 |}} |
i2c = I2C(1,scl=Pin(7), sda=Pin(6), freq=400_000) | |
| |
while True: | * //**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** |
bme = bme280.BME280(i2c=i2c) | </pane> |
temp = bme.temperature | |
hum = bme.humidity | |
pres = bme.pressure | |
print('Temperature: ', temp) | |
print('Humidity: ', hum) | |
print('Pressure: ', pres) | |
| |
sleep(5) | <pane id="tab-bme280esp_2"> |
</code> | * //**Exemple** de l'IDE Arduino pour tester le capteur// \\ Dans l'IDE Arduino, sélectionner : Fichier -> Exemples -> SparkFun BME280 -> **Example1_BasicReadings** |
</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 === |