Table des matières:
- Étape 1: L'équipement indispensable dont nous avons besoin
- Étape 2: Connexions matérielles pour assembler le circuit
- Étape 3: Programmation Raspberry Pi en Java
- Étape 4: L'aspect pratique du code (fonctionnement)
- Étape 5: Applications et fonctionnalités
- Étape 6: Conclusion
Vidéo: À l'aide de Raspberry Pi, mesurez l'altitude, la pression et la température avec le MPL3115A2 : 6 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:07
Sachez ce que vous possédez et sachez pourquoi vous le possédez
C'est intriguant. Nous vivons à l'ère de l'automatisation d'Internet alors qu'elle plonge dans une pléthore de nouvelles applications. En tant que passionnés d'informatique et d'électronique, nous avons beaucoup appris avec le Raspberry Pi et avons décidé de fusionner nos intérêts. Ce projet prend environ une heure si vous débutez dans les connexions I²C et la configuration logicielle, et c'est un excellent moyen d'étendre les capacités du MPL3115A2 avec Raspberry Pi en Java.
Étape 1: L'équipement indispensable dont nous avons besoin
1. Framboise Pi
La première étape consistait à obtenir une carte Raspberry Pi. Ce petit génie est utilisé par les amateurs, les enseignants et dans la création d'environnements innovants.
2. Bouclier I2C pour Raspberry Pi
L'INPI2 (adaptateur I2C) fournit au Raspberry Pi 2/3 un port I²C à utiliser avec plusieurs appareils I2C. Il est disponible sur Dcube Store.
3. Altimètre, capteur de pression et de température, MPL3115A2
Le MPL3115A2 est un capteur de pression MEMS avec une interface I²C pour fournir des données de pression, d'altitude et de température. Ce capteur utilise le protocole I²2 pour communiquer. Nous avons acheté ce capteur sur Dcube Store.
4. Câble de connexion
Nous avons utilisé le câble de connexion I²C disponible chez Dcube Store.
5. Câble micro-USB
Le Raspberry Pi est alimenté par une alimentation micro USB.
6. Amélioration de l'accès Internet - Câble Ethernet/module WiFi
L'une des premières choses que vous voudrez faire est de connecter votre Raspberry Pi à Internet. Vous pouvez vous connecter à l'aide d'un câble Ethernet ou d'un adaptateur Wireless USB Nano WiFi.
7. Câble HDMI (facultatif, votre choix)
Vous pouvez connecter Raspberry Pi à un moniteur à l'aide d'un câble HDMI. En outre, vous pouvez accéder à distance à votre Raspberry Pi en utilisant SSH/PuTTY.
Étape 2: Connexions matérielles pour assembler le circuit
Faites le circuit selon le schéma montré. En général, les connexions sont assez simples. Suivez les instructions et les images ci-dessus, et vous ne devriez avoir aucun problème. Lors de la planification, nous avons examiné le matériel et le codage ainsi que les bases de l'électronique. Nous voulions concevoir un schéma électronique simple pour ce projet. Dans le schéma, vous pouvez remarquer les différentes pièces, composants de puissance et capteur I²C suivant les protocoles de communication I²C. Espérons que cela illustre à quel point l'électronique de ce projet est simple.
Connexion du Raspberry Pi et du Shield I2C
Pour cela, Raspberry Pi et placez le Shield I²C dessus. Appuyez doucement sur le bouclier (voir la photo).
Connexion du capteur et du Raspberry Pi
Prenez le capteur et connectez-y le câble I²C. Assurez-vous que la sortie I²C se connecte TOUJOURS à l'entrée I²C. La même chose sera suivie par le Raspberry Pi avec le blindage I²C monté dessus. Nous avons le blindage I²C et les câbles de connexion I²C de notre côté comme un très gros avantage car il ne nous reste que l'option plug and play. Plus de problème de broches et de câblage et, par conséquent, la confusion a disparu. Quel soulagement de s'imaginer dans le réseau de fils et d'y entrer. Aussi simple que cela !
Remarque: Le fil marron doit toujours suivre la connexion de masse (GND) entre la sortie d'un appareil et l'entrée d'un autre appareil
La connectivité Internet est cruciale
Pour réussir notre projet, nous avons besoin d'un accès Internet pour notre Raspberry Pi. En cela, vous avez des options telles que la connexion d'un câble Ethernet (LAN). En outre, comme moyen alternatif mais impressionnant d'utiliser un adaptateur WiFi.
Alimentation du circuit
Branchez le câble Micro USB dans la prise d'alimentation du Raspberry Pi. Allumez-le et le tour est joué, nous sommes prêts à partir !
Connexion à l'écran
Nous pouvons soit connecter le câble HDMI à un moniteur, soit être un peu innovant pour fabriquer notre Pi sans tête (en utilisant -SSH/PuTTY), ce qui permet de réduire les coûts supplémentaires car nous sommes en quelque sorte des amateurs.
Lorsqu'une habitude commence à coûter de l'argent, cela s'appelle un passe-temps
Étape 3: Programmation Raspberry Pi en Java
Le code Java pour le Raspberry Pi et le capteur MPL3115A2. Il est disponible dans notre référentiel Github.
Avant de passer au code, assurez-vous de lire les instructions données dans le fichier Lisez-moi et configurez votre Raspberry Pi en conséquence. Cela ne prendra que quelques instants. L'altitude est calculée à partir de la pression à l'aide de l'équation ci-dessous:
h = 44330,77 {1 - (p / p0) ^ 0,1902632} + OFF_H (Valeur de registre)
où p0 = pression au niveau de la mer (101326 Pa) et h est en mètres. Le MPL3115A2 utilise cette valeur puisque le registre de décalage est défini comme 2 Pascals par LSB. Le code est clairement devant vous et il est dans la forme la plus simple que vous puissiez imaginer et vous ne devriez avoir aucun problème.
Vous pouvez également copier le code Java fonctionnel de ce capteur à partir d'ici.
// Distribué avec une licence libre-arbitre.// Utilisez-le comme vous le souhaitez, à profit ou gratuitement, à condition qu'il rentre dans les licences de ses œuvres associées. // MPL3115A2 // Ce code est conçu pour fonctionner avec le mini module MPL3115A2_I2CS I2C disponible sur ControlEverything.com. //
importer com.pi4j.io.i2c. I2CBus;
importer com.pi4j.io.i2c. I2CDevice; importer com.pi4j.io.i2c. I2CFactory; importer java.io. IOException;
classe publique MPL3115A2
{ public static void main(String args) lève une exception { // Créer un bus I2C I2CBus Bus = I2CFactory.getInstance(I2CBus. BUS_1); // Obtenir le périphérique I2C, l'adresse I2C MPL3115A2 est 0x60(96) I2CDevice device = Bus.getDevice(0x60); // Sélection du registre de contrôle // Mode actif, OSR = 128, mode altimètre device.write(0x26, (byte)0xB9); // Sélectionnez le registre de configuration des données // Événement de données prêtes activé pour l'altitude, la pression et la température device.write(0x13, (byte)0x07); // Sélection du registre de contrôle // Mode actif, OSR = 128, mode altimètre device.write(0x26, (byte)0xB9); Thread.sommeil(1000);
// Lecture de 6 octets de données à partir de l'adresse 0x00(00)
// status, tHeight msb1, tHeight msb, tHeight lsb, temp msb, temp lsb byte data = new byte[6]; device.read (0x00, données, 0, 6);
// Convertir les données en 20 bits
int tHeight = ((((data[1] & 0xFF) * 65536) + ((data[2] & 0xFF) * 256) + (data[3] & 0xF0)) / 16); int temp = ((données[4] * 256) + (données[5] & 0xF0)) / 16; double altitude = tHauteur / 16,0; double cTemp = (temp / 16,0); double fTemp = cTemp * 1,8 + 32;
// Sélection du registre de contrôle
// Mode actif, OSR = 128, mode baromètre device.write(0x26, (byte)0x39); Thread.sommeil(1000); // Lire 4 octets de données à partir de l'adresse 0x00(00) // état, appuyez sur msb1, appuyez sur msb, appuyez sur lsb device.read (0x00, data, 0, 4);
// Convertir les données en 20 bits
int pres = (((data[1] & 0xFF) * 65536) + ((data[2] & 0xFF) * 256) + (data[3] & 0xF0)) / 16; double pression = (pres / 4,0) / 1000,0; // Sortie des données à l'écran System.out.printf("Pressure: %.2f kPa %n", pressure); System.out.printf("Altitude: %.2f m %n", altitude); System.out.printf("Température en Celsius: %.2f C %n", cTemp); System.out.printf("Température en Fahrenheit: %.2f F %n", fTemp); } }
Étape 4: L'aspect pratique du code (fonctionnement)
Maintenant, téléchargez (ou git pull) le code et ouvrez-le dans le Raspberry Pi. Exécutez les commandes pour compiler et télécharger le code sur le terminal et voir la sortie sur Monitor. Après quelques secondes, il affichera tous les paramètres. Après vous être assuré que tout fonctionne correctement, vous pouvez intégrer ce projet dans un projet plus vaste.
Étape 5: Applications et fonctionnalités
L'utilisation courante du capteur d'altimètre de précision MPL3115A2 est dans des applications telles que la carte (assistance cartographique, navigation), la boussole magnétique ou le GPS (GPS Dead Reckoning, amélioration du GPS pour les services d'urgence), l'altimétrie de haute précision, les smartphones/tablettes, l'altimétrie électronique personnelle et Satellites (équipement de station météo/prévision).
Par ex. En utilisant ce capteur et Rasp Pi, vous pouvez construire un altimètre visuel numérique, la pièce la plus importante de l'équipement de parachutisme, qui peut mesurer l'altitude, la pression atmosphérique et la température. Vous pouvez ajouter de la gaze anti-vent et d'autres capteurs pour en rendre un plus intéressant.
Étape 6: Conclusion
Étant donné que le programme est incroyablement personnalisable, il existe de nombreuses façons intéressantes d'étendre ce projet et de le rendre encore meilleur. Par exemple, un altimètre/interféromètre comprendrait plusieurs altimètres montés sur des mâts qui acquerraient des mesures simultanément, offrant ainsi une couverture étendue continue, mono ou multi-altimètre. Nous avons un tutoriel vidéo intéressant sur YouTube qui peut vous aider à mieux comprendre ce projet.
Conseillé:
M5STACK Comment afficher la température, l'humidité et la pression sur le M5StickC ESP32 à l'aide de Visuino - Facile à faire : 6 étapes
M5STACK Comment afficher la température, l'humidité et la pression sur M5StickC ESP32 à l'aide de Visuino - Facile à faire: Dans ce tutoriel, nous allons apprendre à programmer ESP32 M5Stack StickC avec Arduino IDE et Visuino pour afficher la température, l'humidité et la pression à l'aide du capteur ENV (DHT12, BMP280, BMM150)
Altimètre (mètre d'altitude) basé sur la pression atmosphérique : 7 étapes (avec photos)
Altimètre (mètre d'altitude) basé sur la pression atmosphérique : [Modifier]; Voir la version 2 à l'étape 6 avec entrée manuelle de l'altitude de base. Il s'agit de la description du bâtiment d'un altimètre (mètre d'altitude) basé sur un capteur de pression atmosphérique Arduino Nano et Bosch BMP180. La conception est simple mais les mesures
Altitude, pression et température avec Raspberry Pi avec MPL3115A2 : 6 étapes
Altitude, pression et température à l'aide de Raspberry Pi avec MPL3115A2 : Cela semble intéressant. C'est tout à fait possible en cette période où nous entrons tous dans la génération IoT. En tant que passionnés d'électronique, nous avons joué avec le Raspberry Pi et avons décidé de réaliser des projets intéressants en utilisant ces connaissances. Dans ce projet, nous allons
Détermination de la pression et de l'altitude à l'aide du GY-68 BMP180 et d'Arduino : 6 étapes
Détermination de la pression et de l'altitude à l'aide du GY-68 BMP180 et d'Arduino : aperçu Dans de nombreux projets tels que les robots volants, les stations météorologiques, l'amélioration des performances de routage, les sports, etc., la mesure de la pression et de l'altitude est très importante. Dans ce tutoriel, vous apprendrez à utiliser le capteur BMP180, qui est l'un des plus
Mesurez la pression avec votre Micro:bit : 5 étapes (avec photos)
Mesurer la pression avec votre micro:bit : L'instruction suivante décrit un appareil facile à construire et peu coûteux pour effectuer des mesures de pression et démontrer la loi de Boyle, en utilisant le micro:bit en combinaison avec le capteur de pression/température BMP280. Alors que cette seringue/pression s