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

Étape 3: Code :

Le code de particules de 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 avons utilisé les deux bibliothèques de code de particules, qui sont application.h et spark_wiring_i2c.h. Spark_wiring_i2c bibliothèque est nécessaire pour faciliter la communication I2C avec le capteur.

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 < application.h >

#include < spark_wiring_i2c.h >

I2C MPL3115A2 adresse est 0x60(96)

#define Addr 0 x 60

flotteur MTET = 0. 0, fTemp = 0,0, pression = 0,0, altitude = 0.0 ;

int temp = 0, tHeight = 0; long pres = 0 ;

void setup()

{

Définissez la variable

Particle.variable ("i2cdevice", « MPL3115A2 ») ;

Particle.variable ("PMTET", MTET) ;

Particle.variable (« pression », pression) ;

Particle.variable ("altitude", altitude) ;

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

if(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

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

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

altitude = tHeight / 16,0 ;

MTET = (temp / 16,0) ;

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() ;

Démarrer la transmission I2C

Wire.beginTransmission(Addr) ;

Sélectionner des données de Registre

Wire.Write(0x00) ;

Interrompre la transmission I2C

Wire.endTransmission() ;

Delay(1000) ;

Demande 4 octets de données

Wire.requestFrom (Addr, 4) ;

Lire les 4 octets de données

statut, pres msb1, pres msb lsb pres

if(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 = ((données (long) [1] * 65536 (long)) + (données [2] * 256) + (données [3] & 0xF0)) / 16 ;

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

Données de sortie au tableau de bord

Particle.Publish (« Altitude: ", String(altitude)) ;

Particle.Publish ("pression:", String(pressure)) ;

Particle.Publish ("température en degrés Celsius:", String(cTemp)) ;

Particle.Publish ("température en degrés Fahrenheit:", String(fTemp)) ;

Delay(1000) ;

}

Articles Liés

Arduino Nano - tutoriel de capteur altimètre de précision MPL3115A2

Arduino Nano - 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
Particule Photon - tutoriel de capteur de température HDC1000

Particule Photon - 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
Particule Photon - tutoriel de capteur de température MCP9803

Particule Photon - tutoriel de capteur de température MCP9803

MCP9803 est un capteur de température haute précision 2 fils. Elles s'incarnent avec user - registres programmable qui facilitent les applications de détection de température. Ce capteur est adapté aux très sophistiquée multizone température, système
Particule Photon - tutoriel de capteur de température TCN75A

Particule Photon - 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
Particule Photon - tutoriel de capteur de température ADT75

Particule Photon - tutoriel de capteur de température ADT75

ADT75 est un capteur de température haute précision, numérique. Il se compose d'un capteur de température du gap band et un convertisseur numérique pour la surveillance et la température de numérisation analogique 12 bits. Son capteur ultrasensible r
Particule Photon - tutoriel de capteur de température TMP100

Particule Photon - 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
Particule Photon - tutoriel de capteur de température STS21

Particule Photon - 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
Particule Photon - tutoriel numérique capteur de lumière ambiante BH1715

Particule Photon - 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
Particule Photon - tutoriel capteur de suivi de mouvement 6 axes de MPU-6000

Particule Photon - tutoriel capteur de suivi de mouvement 6 axes de MPU-6000

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
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
Pression de mesure à l’aide de CPS120 et la particule Photon

Pression de mesure à l’aide de CPS120 et la particule Photon

CPS120 est une haute qualité et capteur de pression absolue capacitive faible coût avec pleine compensation de sortie. Il consomme très moins d'énergie et se compose d'un ultra petit Sensor(MEMS) de Micro-électro-mécaniques pour la mesure de la press
Calcul d’intensité à l’aide de BH1715 et la particule Photon de lumière

Calcul d’intensité à l’aide de BH1715 et la particule Photon de lumière

Hier que nous avons travaillé sur l'écran LCD affiche et tout en travaillant sur eux, nous avons réalisé l'importance du calcul de l'intensité lumineuse. L'intensité lumineuse est importante non seulement dans le domaine physique de ce monde, mais il
Mesure de l’humidité à l’aide de HYT939 et la particule Photon

Mesure de l’humidité à l’aide de HYT939 et la particule Photon

HYT939 est un capteur d'humidité numérique qui fonctionne sur le protocole de communication I2C. L'humidité est un paramètre essentiel quand il s'agit de systèmes médicaux et laboratoires, donc afin d'atteindre ces objectifs, que nous avons essayé d'