Partícula fotón - Tutorial de Sensor altímetro de precisión MPL3115A2 (3 / 4 paso)

Paso 3: código:

El código de partículas MPL3115A2 se puede descargar desde nuestro repositorio de github-ControlEverythingCommunity

Aquí está el enlace para el mismo:

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

La hoja de datos de MPL3115A2 se puede encontrar aquí:

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

Hemos utilizado dos bibliotecas para el código de la partícula, que son application.h y spark_wiring_i2c.h. Biblioteca de Spark_wiring_i2c es necesaria para facilitar la comunicación I2C con el sensor.

También puede copiar el código desde aquí, se da como sigue:

Distribuido con una licencia de libre albedrío.

Se usa cualquier forma desea, beneficio o libre, siempre cabe en las licencias de sus obras anexas.

MPL3115A2

Este código está diseñado para trabajar con el módulo de Mini de I2C MPL3115A2_I2CS de ControlEverything.com.

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

#include < application.h >

#include < spark_wiring_i2c.h >

Dirección I2C MPL3115A2 es 0x60(96)

#define Addr 0x60

flotador cTemp = 0.0, fTemp = 0.0, presión = 0.0, altitud = 0.0;

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

void setup()

{

Establecer variable

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

Particle.variable ("cTemp", cTemp);

Particle.variable ("pressure", presión);

Particle.variable ("altitud", altura);

Inicializar la comunicación I2C

Wire.Begin();

Inicializar la comunicación Serial, juego velocidad en baudios = 9600

Serial.Begin(9600);

Iniciar transmisión I2C

Wire.beginTransmission(Addr);

Registro de control Select

Wire.Write(0x26);

Modo activo, OSR = 128, modo de altímetro

Wire.Write(0xB9);

Detener la transmisión I2C

Wire.endTransmission();

Iniciar transmisión I2C

Wire.beginTransmission(Addr);

Registro de configuración de datos Seleccione

Wire.Write(0x13);

Datos listo evento habilitado para altitud, presión, temperatura

Wire.Write(0x07);

Detener la transmisión I2C

Wire.endTransmission();

Delay(300);

}

void loop()

{

unsigned int datos [6];

Iniciar transmisión I2C

Wire.beginTransmission(Addr);

Registro de control Select

Wire.Write(0x26);

Modo activo, OSR = 128, modo de altímetro

Wire.Write(0xB9);

Detener la transmisión I2C

Wire.endTransmission();

Delay(1000);

Iniciar transmisión I2C

Wire.beginTransmission(Addr);

Registro de datos Seleccione

Wire.Write(0x00);

Detener la transmisión I2C

Wire.endTransmission();

Solicitud de 6 bytes de datos

Wire.requestFrom (Addr, 6);

Leer 6 bytes de datos de la dirección 0x00(00)

Estado, tHeight msb1, tHeight msb, lsb tHeight, temp msb, lsb temp

if(Wire.Available() == 6)

{

datos [0] = Wire.read();

datos [1] = Wire.read();

datos [2] = Wire.read();

datos [3] = Wire.read();

datos [4] = Wire.read();

datos [5] = Wire.read();

}

Convertir los datos en 20 bits

tHeight = (((largos) datos [1] * 65536 (larga)) + (datos [2] * 256) + (datos [3] & 0xF0)) / 16);

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

altitud = tHeight / 16.0;

cTemp = (temp / 16.0);

fTemp = cTemp * 1.8 + 32;

Iniciar transmisión I2C

Wire.beginTransmission(Addr);

Registro de control Select

Wire.Write(0x26);

Modo activo, OSR = 128, modalidad de barómetro

Wire.Write(0x39);

Detener la transmisión I2C

Wire.endTransmission();

Iniciar transmisión I2C

Wire.beginTransmission(Addr);

Registro de datos Seleccione

Wire.Write(0x00);

Detener la transmisión I2C

Wire.endTransmission();

Delay(1000);

Solicitud de 4 bytes de datos

Wire.requestFrom (Addr, 4);

Lee 4 bytes de datos

Estado, pres msb1, pres msb, lsb de pres

if(Wire.Available() == 4)

{

datos [0] = Wire.read();

datos [1] = Wire.read();

datos [2] = Wire.read();

datos [3] = Wire.read();

}

Convertir los datos en 20 bits

Pres = (((largos) datos [1] * 65536 (larga)) + (datos [2] * 256) + (datos [3] & 0xF0)) / 16;

presión = (pres / 4.0) / 1000.0;

Datos de salida al tablero

Particle.Publish ("altitud:", String(altitude));

Particle.Publish ("presión:", String(pressure));

Particle.Publish ("temperatura en grados Celsius:", String(cTemp));

Particle.Publish ("temperatura en grados Fahrenheit:", String(fTemp));

Delay(1000);

}

Artículos Relacionados

Partícula fotón - Tutorial de Sensor Digital de luz ambiental BH1715

Partícula fotón - Tutorial de Sensor Digital de luz ambiental BH1715

El BH1715 es un Sensor de luz ambiente digital con una interfaz de bus I²C. El BH1715 es utilizado para obtener los datos de luz ambientales para ajustar la potencia de luz de fondo LCD y teclado para dispositivos móviles. Este dispositivo ofrece una
Partícula fotón - Tutorial de Sensor de temperatura TMP100

Partícula fotón - Tutorial de Sensor de temperatura TMP100

TMP100 High-Accuracy, módulo Digital Sensor de temperatura I2C MINI de baja potencia. El TMP100 es ideal para medición de temperatura extendido. Este dispositivo ofrece una precisión de ±1 ° C sin necesidad de calibración o componente externo de seña
Partícula fotón - Tutorial de Sensor de temperatura TCN75A

Partícula fotón - Tutorial de Sensor de temperatura TCN75A

TCN75A es un sensor de temperatura serial de dos hilos constituido convertidor de temperatura en digital. Se incorpora con registros programables de usuario que proporcionan flexibilidad para aplicaciones de detección de temperatura. La configuración
Partícula fotón - Tutorial de Sensor de temperatura ADT75

Partícula fotón - Tutorial de Sensor de temperatura ADT75

ADT75 es un sensor de temperatura digital muy preciso. Se compone de un sensor de temperatura de espacio de banda y un 12-bit convertidor analógico a digital para el monitoreo y la digitalización de la temperatura. Su sensor de alta sensibilidad, es
Partícula fotón - Tutorial de Sensor de temperatura MCP9803

Partícula fotón - Tutorial de Sensor de temperatura MCP9803

MCP9803 es un sensor de temperatura de alta precisión de 2 hilos. Se incorporan con usuario - registros programables que facilitan aplicaciones de detección de temperatura. Este sensor es adecuado para la temperatura de varias zona altamente sofistic
Partícula fotón - HDC1000 temperatura Sensor Tutorial

Partícula fotón - HDC1000 temperatura Sensor Tutorial

El HDC1000 es un sensor de humedad digital con sensor de temperatura integrado que proporciona una medición excelente precisión a muy baja potencia. El aparato mide humedad basado en un nuevo sensor capacitivo. Los sensores de humedad y temperatura s
Partícula fotón - STS21 temperatura Sensor Tutorial

Partícula fotón - STS21 temperatura Sensor Tutorial

Sensor de temperatura Digital STS21 ofrece un rendimiento superior y una huella de ahorro de espacio. Proporciona señales calibradas, lineal en formato digital, I2C. Fabricación de este sensor se basa en tecnología CMOSens, que atribuye a la rendimie
Partícula fotón - seguimiento Sensor Tutorial de movimiento de 6 ejes de MPU-6000

Partícula fotón - seguimiento Sensor Tutorial de movimiento de 6 ejes de MPU-6000

MPU-6000 es un movimiento de 6 ejes seguimiento Sensor con acelerómetro de 3 ejes y 3 ejes giroscopio incorporado en él. Este sensor es capaz de seguimiento eficiente de la posición exacta y la ubicación de un objeto en el plano de 3 dimensiones. Pue
Árbol de Navidad desde teléfono: no codificación requerida interruptor de red utilizando la partícula fotón y IFTTT hacer

Árbol de Navidad desde teléfono: no codificación requerida interruptor de red utilizando la partícula fotón y IFTTT hacer

Un interruptor accionado por una partícula fotón y IFTTT. Funcionar cualquier dispositivo (árbol de Navidad!) en tu casa desde tu teléfono! O desde twitter! o basado en el tiempo en su ubicación! Con ninguna codificación y mínima soldadura habilidad
Introducción a la partícula fotón y IoT

Introducción a la partícula fotón y IoT

1. por favor, disfrutar de mi primer Instructable2. sólo soy un humilde novato, que aspiran a ser un gran programador, así que por favor, no comentarios de odio (no creo necesario mencionar que, la comunidad es muy agradable aquí)3. por favor, la crí
Núcleo de la partícula / fotón - Sensor de proximidad

Núcleo de la partícula / fotón - Sensor de proximidad

En este tutorial voy a mostrarte cómo diseñar un Sensor de proximidad (infra rojo) junto con el Núcleo de la partícula o fotón. Este instructable es parte de una serie de instructables utilizando el núcleo de la partícula que se puede comprobar que a
Núcleo de la partícula / fotón - Gmail Notifier

Núcleo de la partícula / fotón - Gmail Notifier

En el tutorial pasado veíamos cómo a los patrones con el núcleo de la partícula y ahora es el momento para poner en uso en este tutorial voy a mostrarte cómo construir un notificador de Gmail usando el botón de internet. El botón de internet muestra
Galleta de la fortuna teller con partícula fotón, thethings.iO y Twitter

Galleta de la fortuna teller con partícula fotón, thethings.iO y Twitter

En este instructivo vamos a construir y programa una impresionante galleta de la fortuna teller, con el fotón partícula ligada al thethings.iO via mqtt y Twitter vía solicitudes de api.Funcionalidad deseada:-Cada vez que se pulsa el botón (conectado
Que comenzó con la partícula fotón

Que comenzó con la partícula fotón

Hola compañeros creadores! Hoy mostrará le sobre un poco producto minúsculo que puede suponen un aporte de IoT. Hoy que vamos a trabajar con el fotón partícula.Aquí están las especificaciones:Partícula P0 WiFi móduloChip de Broadcom BCM43362 WiFiSTM3