Arduino Nano - tutoriel de capteur altimètre de précision MPL3115A2 (3 / 4 étapes)

Étape 3: Code :

Le code de l’arduino pour MPL3115A2 peut être téléchargé depuis notre dépôt github-ControlEverythingCommunity

Voici le lien pour la même chose :

https://github.com/ControlEverythingCommunity/MPL3...

Le datasheet du MPL3115A2 peut être trouvé ici :

https://S3.amazonaws.com/controleverything.Media/c...

Nous incluons la bibliothèque Wire.h de faciliter la communication I2c du capteur avec la carte Arduino.

Vous pouvez également copier le code d’ici, il est affecté comme suit :

Distribué avec une licence libre-arbitre.

Utilisez-le toute façon vous voulez, Profitez ou libre, autant il s’intègre dans les licences de ses ouvrages connexes.

MPL3115A2

Copiez le code suivant est conçu pour fonctionner avec le Module MPL3115A2_I2CS I2C Mini, disponible de ControlEverything.com.

https://www.controleverything.com/content/Analog-...

#include < Wire.h >

I2C MPL3115A2 adresse est 0x60(96)

#define Addr 0 x 60

void setup()

{

Initialiser la communication I2C

Wire.Begin() ;

Initialiser la Communication série, réglée en bauds = 9600

Serial.Begin(9600) ;

Démarrer la transmission I2C

Wire.beginTransmission(Addr) ;

Registre de contrôle Select

Wire.Write(0x26) ;

Mode actif, OSR = 128, mode altimètre

Wire.Write(0xB9) ;

Interrompre la transmission I2C

Wire.endTransmission() ;

Démarrer la transmission I2C

Wire.beginTransmission(Addr) ;

Registre de configuration de données SELECT

Wire.Write(0x13) ;

Données prêt événement activé pour altitude, pression, température

Wire.Write(0x07) ;

Interrompre la transmission I2C

Wire.endTransmission() ;

Delay(300) ;

}

void loop()

{

unsigned int données [6] ;

Démarrer la transmission I2C

Wire.beginTransmission(Addr) ;

Registre de contrôle Select

Wire.Write(0x26) ;

Mode actif, OSR = 128, mode altimètre

Wire.Write(0xB9) ;

Interrompre la transmission I2C

Wire.endTransmission() ;

Delay(1000) ;

Démarrer la transmission I2C

Wire.beginTransmission(Addr) ;

Sélectionner des données de Registre

Wire.Write(0x00) ;

Interrompre la transmission I2C

Wire.endTransmission() ;

Demande 6 octets de données

Wire.requestFrom (Addr, 6) ;

Lire les 6 octets de données de l’adresse 0x00(00)

statut, tHeight msb1, tHeight msb, tHeight lsb, msb temp, temp lsb

Si (Wire.available() == 6)

{

Data [0] = Wire.read() ;

données [1] = Wire.read() ;

données [2] = Wire.read() ;

données [3] = Wire.read() ;

données [4] = Wire.read() ;

données [5] = Wire.read() ;

}

Convertissez les données en 20 bits

int tHeight = (((long) (données [1] * 65536 (long)) + (données [2] * 256) + (données [3] & 0xF0)) / 16) ;

int temp = ((données [4] * 256) + (données [5] & 0xF0)) / 16 ;

flotteur d’altitude = tHeight / 16,0 ;

flotteur MTET = (temp / 16,0) ;

float fTemp = MTET * 1.8 + 32 ;

Démarrer la transmission I2C

Wire.beginTransmission(Addr) ;

Registre de contrôle Select

Wire.Write(0x26) ;

Mode actif, OSR = 128, mode Baromètre

Wire.Write(0x39) ;

Interrompre la transmission I2C

Wire.endTransmission() ;

Delay(1000) ;

Démarrer la transmission I2C

Wire.beginTransmission(Addr) ;

Sélectionner des données de Registre

Wire.Write(0x00) ;

Interrompre la transmission I2C

Wire.endTransmission() ;

Demande 4 octets de données

Wire.requestFrom (Addr, 4) ;

Lire les 4 octets de données

statut, pres msb1, pres msb lsb pres

Si (Wire.available() == 4)

{

Data [0] = Wire.read() ;

données [1] = Wire.read() ;

données [2] = Wire.read() ;

données [3] = Wire.read() ;

}

Convertissez les données en 20 bits

pres de long = ((données (long) [1] * 65536 (long)) + (données [2] * 256) + (données [3] & 0xF0)) / 16 ;

flotteur de pression = (pres / 4,0) / 1000.0 ;

Données de sortie à serial monitor

Serial.Print (« Altitude: ") ;

Serial.Print(altitude) ;

Serial.println ("m") ;

Serial.Print ("pression:") ;

Serial.Print(Pressure) ;

Serial.println ("kPa") ;

Serial.Print ("température en degrés Celsius:") ;

Serial.Print(cTemp) ;

Serial.println ("C") ;

Serial.Print ("température en degrés Fahrenheit:") ;

Serial.Print(fTemp) ;

Serial.println ("F") ;

Delay(500) ;

}

Articles Liés

Particule Photon - tutoriel de capteur altimètre de précision MPL3115A2

Particule Photon - tutoriel de capteur altimètre de précision MPL3115A2

La MPL3115A2 utilise un capteur de pression MEMS grâce à une interface I2C pour fournir des données exactes de l'Altitude/pression et température. Les sorties du capteur sont numérisées par une haute résolution 24-bit ADC. Traitement interne supprime
Arduino Nano - tutoriel de capteur de température TMP100

Arduino Nano - tutoriel de capteur de température TMP100

TMP100 haute précision, faible puissance, module capteur de température numérique I2C MINI. Le TMP100 est idéal pour la mesure de températures étendue. Ce dispositif offre une précision de ±1 ° C sans nécessiter d'étalonnage ou composant externe cond
Arduino Nano - tutoriel de capteur de température STS21

Arduino Nano - tutoriel de capteur de température STS21

STS21 capteur de température numérique offre une performance supérieure et une empreinte peu encombrant. Il fournit des signaux calibrés, linéarisées en format numérique, de I2C. Fabrication de ce capteur est basée sur la technologie CMOSens, qui att
Arduino Nano - tutoriel de capteur de température SI7050

Arduino Nano - tutoriel de capteur de température SI7050

SI7050 est un capteur de température numérique qui fonctionne sur le protocole de communication I2C et offre une grande précision sur la toute tension de service et de la température ambiante. Cette grande précision du capteur est attribuée par le tr
Arduino Nano - tutoriel de capteur de température TCN75A

Arduino Nano - tutoriel de capteur de température TCN75A

TCN75A est un capteur de température série bifilaire constituée avec température-to-digital converter. Il est incorporé avec les registres programmable utilisateur qui fournissent la flexibilité pour les applications de détection de température. Les
Arduino Nano - tutoriel accéléromètre numérique 3 axes 12 bits/8 bits MMA8452Q

Arduino Nano - tutoriel accéléromètre numérique 3 axes 12 bits/8 bits MMA8452Q

Le MMA8452Q est un accéléromètre intelligente, faible puissance, trois axes, capacitif, micro-usinés avec une résolution de 12 bits. Options programmables d'utilisateur flexible sont fournies avec l'aide des fonctions incorporées dans l'accéléromètre
Arduino Nano - tutoriel de capteur de température HDC1000

Arduino Nano - tutoriel de capteur de température HDC1000

Le HDC1000 est un capteur d'humidité numérique avec sonde de température intégrée qui permet une précision de mesure excellente à très faible puissance. L'appareil mesure humidité basée sur un roman capteur capacitif. Les capteurs d'humidité et de te
Arduino Nano - tutoriel numérique capteur de lumière ambiante BH1715

Arduino Nano - tutoriel numérique capteur de lumière ambiante BH1715

Le BH1715 est un capteur de lumière ambiante numérique avec une interface de bus I²C. Le BH1715 est utilisé communément pour obtenir les données de lumière ambiantes pour régler la puissance de rétro-éclairage LCD et clavier pour les appareils mobile
Arduino Nano - tutoriel capteur d’éclairage ambiant TSL45315

Arduino Nano - tutoriel capteur d’éclairage ambiant TSL45315

TSL45315 est un capteur de lumière ambiante numérique. Il rapproche de réponse de l'oeil humain sous différentes conditions d'éclairage. Les dispositifs ont trois temps d'intégration réglable et fournissent une sortie directe lux 16 bits via une inte
Raspberry Pi - MPL3115A2 altimètre de précision capteur Python Tutorial

Raspberry Pi - MPL3115A2 altimètre de précision capteur Python Tutorial

La MPL3115A2 utilise un capteur de pression MEMS grâce à une interface I2C pour fournir des données exactes de l'Altitude/pression et température. Les sorties du capteur sont numérisées par une haute résolution 24-bit ADC. Traitement interne supprime
Raspberry Pi - MPL3115A2 altimètre de précision capteur Java Tutorial

Raspberry Pi - MPL3115A2 altimètre de précision capteur Java Tutorial

La MPL3115A2 utilise un capteur de pression MEMS grâce à une interface I2C pour fournir des données exactes de l'Altitude/pression et température. Les sorties du capteur sont numérisées par une haute résolution 24-bit ADC. Traitement interne supprime
Arduino Nano + sol humidité capteur + LCD

Arduino Nano + sol humidité capteur + LCD

Nous pouvons utiliser la sonde d'humidité du sol avec arduino nano et afficher les données dans un 2 x 16 lcd. Commençons...Étape 1: Ajouter 2 X 16 LCD à Arduino NanoRS = 12R/W = masseACTIVER = 11ÉCRAN LCD D4 = 9ÉCRAN LCD D5 = 8ÉCRAN LCD D6 = 7ÉCRAN
Arduino Nano - HTS221 l’humidité Relative et température capteur tutoriel

Arduino Nano - HTS221 l’humidité Relative et température capteur tutoriel

HTS221 est un ultra compact numérique un capteur capacitif d'humidité relative et de température. Il comprend un capteur et un signal mixé circuit(ASIC) intégrée spécifique demande de fournir l'information de mesure par l'intermédiaire des interfaces
Arduino Nano - MPU-6000 6 Axis Motion Tracking capteur tutoriel

Arduino Nano - MPU-6000 6 Axis Motion Tracking capteur tutoriel

MPU-6000 est un mouvement 6 axes suivi de capteur qui a accéléromètre 3 axes et 3 axes gyroscope intégré dedans. Ce capteur est capable de suivi efficace de la position exacte et l'emplacement d'un objet dans le plan en 3 dimensions. Il peut être uti