Partícula fotón - seguimiento Sensor Tutorial de movimiento de 6 ejes de MPU-6000 (3 / 4 paso)

Paso 3: código:

El código de la partícula para MPU-6000 puede descargarse desde el repositorio de github-ControlEverythingCommunity

Aquí está el enlace para el mismo:

https://github.com/ControlEverythingCommunity/MPU-...

Aquí encontrará la hoja de datos del MPU-6000:

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.

MPU-6000

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

https://www.controleverything.com/content/Accelor...

#include < application.h >

#include < spark_wiring_i2c.h >

MPU-6000 I2C dirección es 0x68(104)

#define Addr 0x68

int xGyro = 0, yGyro = 0, zGyro = 0, xAccl = 0, yAccl = 0, zAccl = 0;

void setup()

{

Establecer variable

Particle.variable ("i2cdevice", "MPU-6000");

Particle.variable ("xAccl", xAccl);

Particle.variable ("yAccl", yAccl);

Particle.variable ("zAccl", zAccl);

Particle.variable ("xGyro", xGyro);

Particle.variable ("yGyro", yGyro);

Particle.variable ("zGyro", zGyro);

Inicializar la comunicación I2C como maestro

Wire.Begin();

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

Serial.Begin(9600);

Iniciar transmisión I2C

Wire.beginTransmission(Addr);

Registro de configuración seleccione giroscopio

Wire.Write(0x1b);

Rango de la escala completa = 2000 dps

Wire.Write(0x18);

Detener la transmisión I2C

Wire.endTransmission();

Iniciar transmisión I2C

Wire.beginTransmission(Addr);

Registro de configuración de acelerómetro Select

Wire.Write(0x1C);

Rango de la escala completa = +-16g

Wire.Write(0x18);

Detener la transmisión I2C

Wire.endTransmission();

Iniciar transmisión I2C

Wire.beginTransmission(Addr);

Administración de energía seleccione registrarse

Wire.Write(0x6B);

PLL con referencia xGyro

Wire.Write(0x01);

Detener la transmisión I2C

Wire.endTransmission();

Delay(300);

}

void loop()

{

unsigned int datos [6];

Iniciar transmisión I2C

Wire.beginTransmission(Addr);

Registro de datos Seleccione

Wire.Write(0x3b);

Detener la transmisión I2C

Wire.endTransmission();

Solicitud de 6 bytes de datos

Wire.requestFrom (Addr, 6);

Leer 6 bytes de datos

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

}

Delay(800);

Convertir los datos

xAccl = ((datos [1] * 256) + data[0]);

Si (xAccl > 32767)

{

xAccl-= 65536;

}

yAccl = ((datos [3] * 256) + data[2]);

Si (yAccl > 32767)

{

yAccl-= 65536;

}

zAccl = ((datos [5] * 256) + data[4]);

Si (zAccl > 32767)

{

zAccl-= 65536;

}

Delay(800);

Iniciar transmisión I2C

Wire.beginTransmission(Addr);

Registro de datos Seleccione

Wire.Write(0X43);

Detener la transmisión I2C

Wire.endTransmission();

Solicitud de 6 bytes de datos

Wire.requestFrom (Addr, 6);

Leer 6 bytes de datos

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

}

Delay(800);

Convertir los datos

xGyro = ((datos [1] * 256) + data[0]);

Si (xGyro > 32767)

{

xGyro-= 65536;

}

yGyro = ((datos [3] * 256) + data[2]);

Si (yGyro > 32767)

{

yGyro-= 65536;

}

zGyro = ((datos [5] * 256) + data[4]);

Si (zGyro > 32767)

{

zGyro-= 65536;

}

Delay(800);

Datos de salida al tablero

Particle.Publish ("aceleración en el eje x:", String(xAccl));

Particle.Publish ("aceleración en el eje:", String(yAccl));

Particle.Publish ("aceleración en el eje z:", String(zAccl));

Delay(1000);

Particle.Publish ("eje de rotación:", String(xGyro));

Particle.Publish ("eje de rotación:", String(yGyro));

Particle.Publish ("eje de rotación:", String(zGyro));

Delay(1000);

}

Artículos Relacionados

Partícula fotón - Tutorial de Sensor altímetro de precisión MPL3115A2

Partícula fotón - Tutorial de Sensor altímetro de precisión MPL3115A2

El MPL3115A2 emplea un sensor de presión MEMS con una interfaz I2C para proporcionar los datos exactos de la presión/altitud y la temperatura. Las salidas del sensor son digitalizadas por un ADC de 24 bits de alta resolución. Procesamiento interno el
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 - 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 - 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 - 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 - 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
Á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í
Arduino Nano - seguimiento Tutorial Sensor de movimiento de eje de MPU-6000 6

Arduino Nano - seguimiento Tutorial Sensor de movimiento de eje de MPU-6000 6

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