Sylvain Mahé Le site Web Retour à l'accueil Principes Partager mes idées et mes projets librement et gratuitement. Thématiques Mécatronique du système embarqué, artisanat pluridisciplinaire, bricolage commun, esthétique logicielle et matérielle, minimalisme fonctionnel, conceptualisation alternative, rédaction technique et littéraire, partage pédagogique documenté. Contact ✆ Téléphone : 06.45.49.96.98
✉ E-mail : contact@sylvainmahe.site
✎ Site Web : sylvainmahe.site
Écriture de la page : Sylvain Mahé
Une station météorologique avec la classe TwiBme280 Le composant électronique BME280 est équipé d'un capteur hygrométrique, barométrique, et thermique, ce qui permet respectivement la mesure de l'humidité, de la pression, et de la température ambiante. Ces 3 données sont accessibles très simplement sous la forme de variables avec la classe dédiée TwiBme280. Représentation des données : Noms des variables, intervalles, et unités de mesure :
humidity = 0% à 100%
pressure = 300hPa à 1100hPa
temperature = -40°C à +85°C
Ce composant communique en TWI (pour "Two Wire Interface" ou interface à deux fils) à la vitesse de 400KHz avec le microcontrôleur. Ports des automates programmables concernés par le TWI : Automate programmable MODULABLE 20 :
- Port GPIO 19 (PC4) = SDA (serial data line)
- Port GPIO 20 (PC5) = SCL (serial clock line)

Automate programmable MODULABLE 32 :
- Port GPIO 17 (PC0) = SCL (serial clock line)
- Port GPIO 18 (PC1) = SDA (serial data line)
Exemple d'utilisation de la classe TwiBme280 : #include <TwiBme280.h> int main() { TwiBme280 myEnvironmentSensor = TwiBme280 (0x77); while (true) { myEnvironmentSensor.read(); //myEnvironmentSensor.humidity représente l'humidité //myEnvironmentSensor.pressure représente la pression //myEnvironmentSensor.temperature représente la température } return 0; } Dans cet exemple, un objet myEnvironmentSensor de type TwiBme280 est déclaré, en paramètre est indiqué l'adresse 0x77 du composant BME280 sur le bus TWI : Si vous ne connaissez pas l'adresse TWI du composant BME280 et que ce dernier est le seul périphérique connecté au bus TWI, vous pouvez indiquer 0 en paramètre, car en interne une fonction se chargera d'effectuer une recherche et de trouver l'adresse du périphérique automatiquement. Puis dans la boucle while la fonction read associée à l'objet myEnvironmentSensor est appelée, ce qui permet de lire la totalité des capteurs du composant BME280. Cette action met à jour les variables humidity, pressure, et temperature relatives à l'objet myEnvironmentSensor. Vous pouvez utiliser ces variables à la suite dans votre programme. Finalement le BME280 est simple d'utilisation via la classe TwiBme280. Ce composant est adapté notamment dans les applications de surveillance de l'atmosphère (projet de station ou de ballon météorologique), ou encore en robotique générale ou aérienne (altimètre barométrique via le capteur de pression). Références : Récapitulatif des fonctions et variables de cette classe : float humidity = 0; float pressure = 0; float temperature = 0; TwiBme280 (const unsigned char DEVICE); void read();