Table des matières:
- Étape 1: Équipement impératif dont nous avons besoin
- Étape 2: Connexions matérielles pour assembler le circuit
- Étape 3: Programmation Raspberry Pi en Python
- Étape 4: L'aspect pratique du code (test)
- Étape 5: Applications et fonctionnalités
- Étape 6: Conclusion
Vidéo: Altitude, pression et température avec Raspberry Pi avec MPL3115A2 : 6 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:05
Ça a l'air 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 mesurerons l'altitude, la pression atmosphérique et la température à l'aide de Raspberry Pi. Alors voici la documentation (toujours en cours de modification et d'extension). Nous vous recommandons de commencer par suivre les instructions et de copier le code. Vous pouvez expérimenter plus tard. Alors, commençons.
Étape 1: Équipement impératif dont nous avons besoin
1. Framboise Pi
La première étape consistait à obtenir une carte Raspberry Pi. Nous avons acheté le nôtre et vous aussi. Commencé à apprendre à partir des tutoriels, nous avons compris les concepts de script et de connexion et avons appris par la suite. Ce petit génie est commun aux amateurs, aux enseignants et à la création d'environnements innovants.
2. Bouclier I²C 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/altitude et température. Ce capteur utilise le protocole I²C pour communiquer. Nous avons acheté ce capteur sur Dcube Store
4. Câble de connexion
Nous avions le câble de connexion I2C disponible chez Dcube Store
5. Câble micro-USB
Le câble d'alimentation micro USB est un choix idéal pour alimenter le Raspberry Pi.
6. Amélioration de l'accès Internet - Câble Ethernet/Adaptateur WiFi
À cette époque, accéder à n'importe quoi nécessite une connexion Internet (presque comme il y a aussi une vie hors ligne). Nous allons donc suivre les conseils d'un câble LAN ou d'un adaptateur nano USB sans fil (WiFi) pour établir la connexion Internet afin que nous puissions utiliser notre Rasp Pi en toute simplicité et sans aucun problème.
7. Câble HDMI (facultatif, votre choix)
C'est un peu délicat. Vous pouvez avoir le pouvoir de connecter un autre moniteur au cas où vous le souhaitez ou c'est très rentable pour vous-même en établissant une connexion Pi sans tête avec votre PC/ordinateur portable.
Étape 2: Connexions matérielles pour assembler le circuit
Faites le circuit selon le schéma montré. En général, les connexions sont très simples. Suivez les instructions et les images, 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
Tout d'abord, prenez le 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 le câble I²C avec. 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. Juste le processus simple que nous avons mentionné.
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 vitale
Vous avez le choix ici en fait. Vous pouvez connecter Raspberry Pi avec le câble LAN ou l'adaptateur sans fil Nano USB pour la connectivité WiFi. Quoi qu'il en soit, l'objectif principal était de se connecter à Internet.
Alimentation du circuit
Branchez le câble Micro USB dans la prise d'alimentation du Raspberry Pi. Allumez-le et nous sommes prêts à partir.
Connexion à l'écran
Nous pouvons soit connecter le câble HDMI à un nouveau moniteur, soit créer notre Pi sans tête qui est créatif et rentable en utilisant un accès à distance comme SSH/PuTTY. (Je sais que nous ne sommes pas financés comme une organisation secrète)
Étape 3: Programmation Raspberry Pi en Python
Le code Python 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 pour le faire.
L'altitude est calculée à partir de la pression en utilisant 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 Python fonctionnel de ce capteur à partir d'ici.
# Distribué avec une licence de libre arbitre. # Utilisez-le comme vous le souhaitez, à profit ou gratuitement, à condition qu'il s'intègre 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 smbus
heure d'importation
# Obtenez le bus I2C
bus = smbus. SMbus(1)
# Adresse MPL3115A2, 0x60(96)
# Sélectionner le registre de contrôle, 0x26(38) # 0xB9(185) Mode actif, OSR = 128, Mode altimètre bus.write_byte_data(0x60, 0x26, 0xB9) # Adresse MPL3115A2, 0x60(96) # Sélectionner le registre de configuration des données, 0x13(19) # 0x07(07) Événement de données prêt activé pour l'altitude, la pression, la température bus.write_byte_data(0x60, 0x13, 0x07) # Adresse MPL3115A2, 0x60(96) # Sélection du registre de contrôle, 0x26(38) # 0xB9(185) Mode actif, OSR = 128, mode altimètre bus.write_byte_data (0x60, 0x26, 0xB9)
heure.sommeil(1)
# Adresse MPL3115A2, 0x60(96)
# Lire les données de 0x00(00), 6 octets # status, tHeight MSB1, tHeight MSB, tHeight LSB, temp MSB, temp LSB data = bus.read_i2c_block_data(0x60, 0x00, 6)
# Convertir les données en 20 bits
tHeight = ((data[1] * 65536) + (data[2] * 256) + (data[3] & 0xF0)) / 16 temp = ((data[4] * 256) + (data[5] & 0xF0)) / 16 altitude = tHauteur / 16,0 cTemp = temp / 16,0 fTemp = cTemp * 1,8 + 32
# Adresse MPL3115A2, 0x60(96)
# Sélectionner le registre de contrôle, 0x26(38) # 0x39(57) Mode actif, OSR = 128, Mode baromètre bus.write_byte_data(0x60, 0x26, 0x39)
heure.sommeil(1)
# Adresse MPL3115A2, 0x60(96)
# Lire les données de 0x00(00), 4 octets # état, pres MSB1, pres MSB, pres LSB data = bus.read_i2c_block_data (0x60, 0x00, 4)
# Convertir les données en 20 bits
pres = ((data[1] * 65536) + (data[2] * 256) + (data[3] & 0xF0)) / 16 pression = (pres / 4.0) / 1000.0
# Données de sortie à l'écran
print "Pressure: %.2f kPa" %pressure print "Altitude: %.2f m" %altitude print "Temperature in Celsius: %.2f C" %cTemp print "Temperature in Fahrenheit: %.2f F" %fTemp
Étape 4: L'aspect pratique du code (test)
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 dans 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 altimètre de précision I²C MPL3115A2 est dans des applications telles que la carte (assistance cartographique, navigation), la boussole magnétique ou le GPS (GPS Dead Reckoning, amélioration GPS pour les services d'urgence), altimétrie haute précision, smartphones/tablettes, altimétrie électronique personnelle et satellites (équipement de station météorologique/prévision).
Par ex. un projet de fabrication d'altimètre électronique personnel qui mesure l'altitude, la pression atmosphérique et la température à l'aide de Raspberry Pi. L'altimètre électronique personnel est un projet assez rapide à construire. Cela ne prendra que quelques instants si vous avez toutes les pièces et n'improvisez pas (bien sûr que vous pouvez !). Un altimètre barométrique est un altimètre que l'on trouve dans la plupart des avions, et les parachutistes utilisent des versions montées au poignet à des fins similaires. Les randonneurs et les alpinistes utilisent des altimètres au poignet ou à main.
Étape 6: Conclusion
Espérons que ce projet inspire d'autres expérimentations. Ce capteur I²C est incroyablement polyvalent, bon marché et accessible. Comme il s'agit d'un programme extrêmement modifiable, il existe des moyens intéressants d'étendre ce projet et de le rendre encore meilleur. Par exemple, l'altimètre est un instrument en option dans les véhicules tout-terrain pour aider à la navigation. Certaines voitures de luxe hautes performances qui n'ont jamais été destinées à quitter les routes goudronnées, utilisent cette technologie. Pour votre commodité, nous avons un didacticiel vidéo intéressant sur YouTube qui pourrait vous aider dans votre exploration. Espérons que ce projet inspire d'autres expérimentations.
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
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
À l'aide de Raspberry Pi, mesurez l'altitude, la pression et la température avec le MPL3115A2 : 6 étapes
À l'aide de Raspberry Pi, mesurez l'altitude, la pression et la température avec le MPL3115A2 : sachez ce que vous possédez et sachez pourquoi vous le possédez ! C'est intrigant. 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
Enregistreur de température, d'humidité relative et de pression atmosphérique utilisant Raspberry Pi et TE Connectivity MS8607-02BA01 : 22 étapes (avec photos)
Enregistreur de température, d'humidité relative et de pression atmosphérique à l'aide de Raspberry Pi et de la connectivité TE MS8607-02BA01 : Introduction : Dans ce projet, je vais vous montrer comment configurer par étape un système d'enregistrement de la température, de l'humidité et de la pression atmosphérique. Ce projet est basé sur la puce de capteur environnemental Raspberry Pi 3 Model B et TE Connectivity MS8607-02BA