Table des matières:

Altitude, pression et température avec Raspberry Pi avec MPL3115A2 : 6 étapes
Altitude, pression et température avec Raspberry Pi avec MPL3115A2 : 6 étapes

Vidéo: Altitude, pression et température avec Raspberry Pi avec MPL3115A2 : 6 étapes

Vidéo: Altitude, pression et température avec Raspberry Pi avec MPL3115A2 : 6 étapes
Vidéo: Простое использование BMP280 для измерения давления, температуры и высоты с помощью Arduino + OLED. 2024, Novembre
Anonim
Altitude, pression et température en utilisant Raspberry Pi avec MPL3115A2
Altitude, pression et température en utilisant Raspberry Pi avec MPL3115A2
Altitude, pression et température en utilisant Raspberry Pi avec MPL3115A2
Altitude, pression et température en utilisant Raspberry Pi avec MPL3115A2

Ç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

Équipement impératif dont nous avons besoin
Équipement impératif dont nous avons besoin
Équipement impératif dont nous avons besoin
Équipement impératif dont nous avons besoin
Équipement impératif dont nous avons besoin
Équipement impératif dont nous avons besoin
Équipement impératif dont nous avons besoin
É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

Connexions matérielles pour assembler le circuit
Connexions matérielles pour assembler le circuit
Connexions matérielles pour assembler le circuit
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

Programmation Raspberry Pi en Python
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)

L'aspect pratique du code (tests)
L'aspect pratique du code (tests)

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é: