Deeltje foton - MPU-6000 6-assige Motion Tracking Sensor Tutorial (3 / 4 stap)

Stap 3: Code:


De code van de deeltjes voor MPU-6000 kan worden gedownload van onze github archief-ControlEverythingCommunity

Hier is de link voor hetzelfde:

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

Het gegevensblad van MPU-6000 kan hier worden gevonden:

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

Wij hebben twee bibliotheken gebruikt voor particle code, die application.h en spark_wiring_i2c.h. Spark_wiring_i2c bibliotheek is vereist om de I2C communicatie met de sensor.

U kunt ook de code kopiëren vanaf hier, het wordt als volgt gegeven:

Gedistribueerd met een licentie van de vrije wil.

Gebruik het elke manier wilt u, op de winst of het gratis, mits het past in de licenties van de bijbehorende werken.

MPU-6000

Deze code is ontworpen om te werken met de MPU-6000_I2CS I2C Mini Module beschikbaar vanaf ControlEverything.com.

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

#include < application.h >

#include < spark_wiring_i2c.h >

MPU-6000 I2C adres is 0x68(104)

#define Addr 0x68

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

VOID Setup

{

Variabele instellen

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

I2C communicatie als Master initialiseren

Wire.begin();

Initialiseren van seriële communicatie, set baud-rate = 9600

Serial.begin(9600);

I2C-overdracht starten

Wire.beginTransmission(Addr);

Selecteer gyroscoop configuratie register

Wire.write(0x1B);

Bereik van het volledige schaalbereik = 2000 dps

Wire.write(0x18);

Stop I2C transmissie

Wire.endTransmission();

I2C-overdracht starten

Wire.beginTransmission(Addr);

Selecteer versnellingsmeter configuratie register

Wire.write(0x1C);

Bereik van het volledige schaalbereik = +/-16g

Wire.write(0x18);

Stop I2C transmissie

Wire.endTransmission();

I2C-overdracht starten

Wire.beginTransmission(Addr);

Selecteer energiebeheer registreren

Wire.write(0x6B);

PLL met xGyro referentie

Wire.write(0x01);

Stop I2C transmissie

Wire.endTransmission();

delay(300);

}

void loop

{

unsigned int gegevens [6];

I2C-overdracht starten

Wire.beginTransmission(Addr);

Selecteer gegevens registreren

Wire.write(0x3B);

Stop I2C transmissie

Wire.endTransmission();

6 bytes aan gegevens aanvragen

Wire.requestFrom (Addr, 6);

Lees 6 byte van de gegevens

Als (Wire.available() == 6)

{

gegevens [0] = Wire.read();

gegevens [1] = Wire.read();

gegevens [2] = Wire.read();

gegevens [3] = Wire.read();

gegevens [4] = Wire.read();

gegevens [5] = Wire.read();

}

delay(800);

De gegevens converteren

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

Als (xAccl > 32767)

{

xAccl-= 65536;

}

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

Als (yAccl > 32767)

{

yAccl-= 65536;

}

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

Als (zAccl > 32767)

{

zAccl-= 65536;

}

delay(800);

I2C-overdracht starten

Wire.beginTransmission(Addr);

Selecteer gegevens registreren

Wire.write(0x43);

Stop I2C transmissie

Wire.endTransmission();

6 bytes aan gegevens aanvragen

Wire.requestFrom (Addr, 6);

Lees 6 byte van de gegevens

Als (Wire.available() == 6)

{

gegevens [0] = Wire.read();

gegevens [1] = Wire.read();

gegevens [2] = Wire.read();

gegevens [3] = Wire.read();

gegevens [4] = Wire.read();

gegevens [5] = Wire.read();

}

delay(800);

De gegevens converteren

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

Als (xGyro > 32767)

{

xGyro-= 65536;

}

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

Als (yGyro > 32767)

{

yGyro-= 65536;

}

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

Als (zGyro > 32767)

{

zGyro-= 65536;

}

delay(800);

Uitvoergegevens naar dashboard

Particle.publish ("versnelling van de x-as:", String(xAccl));

Particle.publish ("versnelling van de y-as:", String(yAccl));

Particle.publish ("versnelling in de z-as:", String(zAccl));

delay(1000);

Particle.publish ("x-as van rotatie:", String(xGyro));

Particle.publish ("y-as van rotatie:", String(yGyro));

Particle.publish ("z-as van rotatie:", String(zGyro));

delay(1000);

}

Gerelateerde Artikelen

Arduino Nano - MPU-6000 6 as Motion Tracking Sensor Tutorial

Arduino Nano - MPU-6000 6 as Motion Tracking Sensor Tutorial

MPU-6000 is een 6-assige Motion Sensor die heeft 3-Axis versnellingsmeter en 3-as gyroscoop ingebed in het Tracking. Deze sensor is in staat efficiënt bijhouden van exacte positie of locatie van een object in het 3-dimensionale vlak. Het kan worden i
Altoids Mini Motion Tracker

Altoids Mini Motion Tracker

UPDATE 29 Nov.: toegevoegde basisstation mod instructies!Wie op de lagere school tijdens de 2000 's waarschijnlijk was wist iemand die had een van deze SpyGear tracker systemen. In feite, als je had een, waren u waarschijnlijk de coolste jongen in de
Arduino LDR Motion Tracking

Arduino LDR Motion Tracking

Ik heb al speelde met het idee om iets te doen met het volgen van beweging. Ik had soortgelijke te bouwen een beetje beweging bijhouden Nerf gun turret (of soortgelijke) dus ik dacht ik zou beginnen met de basics, niets te flash, niets te duur dat, d
Deeltje Photon - HDC1000 Temperatuur Sensor Tutorial

Deeltje Photon - HDC1000 Temperatuur Sensor Tutorial

De HDC1000 is een digitale vochtigheid sensor met geïntegreerde temperatuursensor waarmee uitstekende meetnauwkeurigheid op zeer lage kracht. Het toestel meet luchtvochtigheid gebaseerd op een roman capacitieve sensor. De vochtigheid en temperatuur s
Deeltje Photon - MCP9803 Temperatuur Sensor Tutorial

Deeltje Photon - MCP9803 Temperatuur Sensor Tutorial

MCP9803 is een hoge nauwkeurigheid van de 2-draads temperatuursensor. Ze zijn vastgelegd met de gebruiker - programmeerbare registers, die de temperatuur sensing toepassingen vergemakkelijken. Deze sensor is geschikt voor zeer geavanceerde multi-zone
Deeltje Photon - STS21 Temperatuur Sensor Tutorial

Deeltje Photon - STS21 Temperatuur Sensor Tutorial

STS21 digitale temperatuursensor biedt superieure prestaties en een ruimtebesparende voetafdruk. Het biedt gekalibreerde, gelineariseerde signalen in digitale, I2C-indeling. Fabricage van deze sensor is gebaseerd op CMOSens technologie, die aan de su
Deeltje Photon - ADT75 Temperatuur Sensor Tutorial

Deeltje Photon - ADT75 Temperatuur Sensor Tutorial

ADT75 is een zeer nauwkeurige, digitale temperatuursensor. Het bestaat uit een band hiaat temperatuursensor en een 12-bits analoog naar digitaal converter voor monitoring en digitaliseren van de temperatuur. Haar zeer gevoelige sensor maakt het bekwa
Deeltje Photon - TMP100 Temperatuur Sensor Tutorial

Deeltje Photon - TMP100 Temperatuur Sensor Tutorial

TMP100 hoog-nauwkeurigheid, Low-Power, digitale temperatuur Sensor I2C MINI module. De TMP100 is ideaal voor uitgebreide temperatuurmeting. Dit apparaat biedt een nauwkeurigheid van ± 1 ° C zonder kalibratie of externe component signaal conditioning.
Deeltje Photon - TCN75A Temperatuur Sensor Tutorial

Deeltje Photon - TCN75A Temperatuur Sensor Tutorial

TCN75A is een twee-draads seriële temperatuursensor opgenomen met temperatuur / digitaal-converter. Het is opgenomen met gebruiker programmeerbare registers die flexibiliteit voor temperatuur-sensing toepassingen leveren. De register-instellingen kun
Deeltje Photon - MPL3115A2 Precision hoogtemeter Sensor Tutorial

Deeltje Photon - MPL3115A2 Precision hoogtemeter Sensor Tutorial

De MPL3115A2 maakt gebruik van een MEMS druksensor met een I2C-interface nauwkeurig drukhoogte/en temperatuur gegevens te verstrekken. De sensor outputs zijn gedigitaliseerd door een hoge resolutie 24-bits ADC. Interne verwerking verwijderd vergoedin
Fortune cookie teller met deeltje foton, thethings.iO & Twitter

Fortune cookie teller met deeltje foton, thethings.iO & Twitter

In dit instructable we gonna te bouwen en programma een ontzagwekkende fortune cookie-teller, met behulp van het Particle foton op thethings.iO via mqtt en op Twitter via api aanvragen aangesloten.Gewenste functionaliteit:-Telkens wanneer de knop (aa
Facebook pagina houdt Counter Display (met deeltje foton)

Facebook pagina houdt Counter Display (met deeltje foton)

Ik wilde een kleine tribune die kon worden weergegeven in real time de telling van de houdt van een vriend(in) Pizza restaurant Facebook pagina, om aan te bieden hem een manier om zijn klanten te bevorderen van de locatie en, natuurlijk, ook graag zi
Core deeltjes / foton - nabijheidssensor

Core deeltjes / foton - nabijheidssensor

In deze tutorial ga ik laten zien hoe het ontwerpen van een Sensor van de nabijheid (infra rood) samen met de Core van het deeltje of foton. Dit instructable is een onderdeel van een reeks instructables met behulp van de kern van de particle die u da
HackerBoxes 0006: Internet van dingen (IoT) projecten met het deeltje foton

HackerBoxes 0006: Internet van dingen (IoT) projecten met het deeltje foton

Hacken van het Internet van dingen! Deze maand, abonnees op HackerBoxes werken met de spaanplaat van de Photon IoT aan controle-apparaten via het Internet, verzamelen sensor gegevens via het Internet, gegevens opslaan in de cloud, en nog veel meer.Di