- Composants requis
- Module de capteur de pression BMP280:
- Schéma de circuit pour interfacer BMP280 avec Arduino:
- Programme Arduino pour interfacer BMP280 avec Arduino:
- Fonctionnement du projet d'interfaçage du capteur de pression Arduino BMP280
Si vous souhaitez construire votre propre système de surveillance de la température ou mesurer l'altitude de votre drone ou simplement mesurer la pression atmosphérique dans votre région, l'un des meilleurs modules à utiliser dans votre projet est le module de capteur de pression BMP280. Le BMP280 est un capteur de surveillance de pression absolue et de température qui est la version améliorée des capteurs BMP085, BMP180, BMP183. Pourquoi s'appelle-t-il une version mise à niveau? Il sera discuté dans les sections suivantes. Nous avons déjà utilisé l'ancienne version BMP180 avec Arduino dans l'un de nos précédents tutoriels.
Le module de capteur BMP280 peut être utilisé avec des microcontrôleurs comme Arduino, PIC, AVR, etc. Pour ce projet, nous allons utiliser Arduino Uno avec BMP280 avec un module d'affichage LCD 16x2, pour afficher les valeurs de température et de pression. Avant d'interfacer le BMP280 avec Arduino, nous devons télécharger la bibliothèque BMP280 Arduino, qui est développée par Adafruit. Cliquez sur ce lien de bibliothèque Adafruit BMP280 pour ouvrir la page Github respective et ajouter le fichier d'en-tête à votre IDE Arduino.
Composants requis
- Arduino
- BMP280
- Connexion des fils
- Planche à pain
- LCD - 16x2
Module de capteur de pression BMP280:
Le module de capteur BMP280 fonctionne avec la tension minimale (VDD) de 1,71 V, tandis que les modules de capteur de la version précédente fonctionnent sur 1,8 V (VDD). En ce qui concerne la consommation de courant, le BMP280 consomme 2,7uA, tandis que le BMP180 consomme 12uA et les BMP183 et BMP085 en consomment chacun 5uA. Le BMP280 prend également en charge de nouveaux modes de filtre. Le module de capteur BMP280 prend en charge les protocoles I2c et SPI, tandis que le capteur restant prend en charge I2c ou SPI. Le module capteur BMP280 a une précision de ± 0,12 hPa, ce qui équivaut à ± 1 m de dénivelé. En raison de ces caractéristiques clés, il est principalement utilisé dans diverses applications. Le capteur BMP se compose d'un élément de détection de pression, d'un élément de détection d'humidité et d'un élément de détection de température qui sont en outre connectés à l'extrémité avant de pression, à l'extrémité avant d'humidité et à l'extrémité avant de température. Ces CI frontaux sont des amplificateurs analogiques de sensibilité qui sont utilisés dans l'amplification de petits signaux. La sortie de ces circuits intégrés frontaux analogiques est envoyée à l'ADC en tant que signal d'entrée. En cela, les valeurs analogiques sont converties en tension numérique et cette tension est fournie aux circuits logiques pour une interface supplémentaire avec le monde extérieur.
Le module de capteur BMP280 comprend trois modes d'alimentation: le mode veille, le mode forcé et le mode normal. En mode veille, aucune mesure n'est effectuée et la consommation électrique est au minimum. En mode forcé, une seule mesure est effectuée en fonction des options de mesure et de filtre sélectionnées. Le mode normal effectue des cycles continus entre la mesure et la période de veille, et la période de temps des cycles sera définie par T standby. Le courant en mode veille est légèrement supérieur au mode veille.
Schéma de circuit pour interfacer BMP280 avec Arduino:
Le schéma de circuit pour connecter l' Arduino au capteur BMP280 et à l'écran LCD est illustré ci-dessous. Si vous êtes complètement nouveau dans Arduino et LCD, vous pouvez consulter ce didacticiel Arduino LCD pour comprendre comment utiliser Arduino avec des écrans LCD.
Les broches VCC et GND du capteur sont connectées aux broches 3v3 et GND de l'Arduino. Les broches SCL et SDA du capteur sont connectées aux A5 et A4 de la carte Arduino. Les connexions LCD sont les suivantes
Nom de la broche LCD |
Broche Arduino |
VSS et RW |
GND |
RS |
D9 |
E |
D8 |
D4, D5, D6, D7 |
D5, D4, D3, D2 |
Programme Arduino pour interfacer BMP280 avec Arduino:
Le code Arduino BMP280 complet se trouve au bas de cette page et peut être téléchargé directement sur votre carte Arduino. L'explication de la même chose est donnée ci-dessous
Ces bibliothèques sont incluses pour activer les fonctions spéciales. Les fichiers d'en-tête #include nous permettent de lire directement les valeurs provenant du capteur. Le #include
#comprendre
Création sur objet BMP pour Adafruit_BMP280. Un fichier objet est créé pour accéder aux fonctions spéciales.
Adafruit_BMP280 bmp; // I2C
Réglage des broches de l'Arduino pour communiquer avec l'écran LCD. En utilisant ces broches, les données seront transférées.
LCD LiquidCrystal (9, 8, 5, 4, 3, 2);
Initialisation de l'écran LCD et de la communication série.
void setup () {lcd.begin (16,2); Serial.begin (9600); Serial.println (F ("test BMP280")); lcd.print ("Bienvenue dans"); lcd.setCursor (0,1); lcd.print ("CIRCUIT DIGEST"); retard (1000); lcd.clear (); if (! bmp.begin ()) {Serial.println (F ("Impossible de trouver un capteur BMP280 valide, vérifiez le câblage!")); tandis que (1); }
Cette fonction fonctionne lorsque l'initialisation de l'objet bmp échoue.
/ * Paramètres par défaut de la fiche technique. * / bmp.setSampling (Adafruit_BMP280:: MODE_NORMAL, / * Mode de fonctionnement. * / Adafruit_BMP280:: SAMPLING_X2, / * Suréchantillonnage de température * / Adafruit_BMP280:: SAMPLING_X16, / * Suréchantillonnage de pression * / Adafruit_BMP280: / FILTER_Filter. * / Adafruit_BMP280:: STANDBY_MS_500); /* Temps d'attente. * /}
Cette partie du code imprime la température sur le moniteur série et sert à des fins de débogage.
void loop () {Serial.print (F ("Temperature =")); Serial.print (bmp.readTemperature ()); Serial.println ("* C");
Les fonctions bmp.readPressure et bmp.readTemprature sont utilisées pour appeler des fonctions spéciales et renvoyer les valeurs de température et de pression.
lcd.print (bmp.readTemperature ()); lcd.print (bmp.readPressure ());
Fonctionnement du projet d'interfaçage du capteur de pression Arduino BMP280
Les fonctions bmp.readTemprature () et bmp.readPressure () sont utilisées pour renvoyer les valeurs de température et de pression. Ces fonctions sont un groupe d'instructions qui effectuent une tâche spéciale, dans notre cas pour renvoyer des fichiers de température et de pression. Ces fonctions sont appelées à l'aide des fonctions bmp.readTemprature () et bmp.readPressure () . Le lcd.setCursor place le curseur de l'écran LCD à la position requise sur l'écran. Le lcd.print La commande imprime les données à partir de la position définie par le programmeur. Si aucune position n'est définie pour l'écran LCD par défaut, il prend (0,0) comme position initiale et l'impression continue des données. Les données suivantes prennent la position de la colonne suivante et la procédure se poursuit jusqu'à ce qu'elle atteigne la fin de la ligne et passe à la ligne suivante.
Le BMP280 peut être utilisé dans les jouets volants, les téléphones mobiles, les tablettes, les PC, les appareils GPS, les appareils de soins de santé portables, les stations météorologiques à domicile, etc. En suivant cette procédure et en utilisant des fichiers d'en-tête et certaines fonctions spéciales, nous pouvons facilement interfacer BMP280 avec l'Arduino. Le fonctionnement complet peut également être trouvé dans la vidéo ci-dessous, j'espère que vous avez apprécié ce tutoriel BMP280 Arduino et appris quelque chose d'utile. Si vous avez des questions, laissez-les dans la section des commentaires ci-dessous ou utilisez les forums pour d'autres questions techniques.