Acceleration mätning med hjälp av BMA250 och partikel Photon (3 / 4 steg)

Steg 3: Kod för att mäta acceleration:



Kan börja med partikel koden nu.

När du använder modulen sensor med arduino, inkluderar vi application.h och spark_wiring_i2c.h bibliotek. "application.h" och spark_wiring_i2c.h bibliotek innehåller funktioner som underlättar i2c kommunikationen mellan sensorn och partikeln.

Hela partikel koden ges nedan för att underlätta för användaren:

#include < application.h >
#include < spark_wiring_i2c.h >
BMA250 I2C adress är 0x18(24)
#define Addr 0x18
int xAccl = 0, yAccl = 0, zAccl = 0;
void setup()
{
Variabeln
Particle.Variable("i2cdevice","BMA250");
Particle.Variable("xAccl",xAccl);
Particle.Variable("yAccl",yAccl);
Particle.Variable("zAccl",zAccl);
Initiera I2C kommunikation som MASTER
Wire.BEGIN();
Initiera seriell kommunikation, ange baudvärde = 9600
Serial.BEGIN(9600);
Starta I2C-överföring
Wire.beginTransmission(Addr);
Välj intervall urval register
Wire.write(0x0F);
Ange intervall +/-2g
Wire.write(0x03);
Stoppa I2C sändningen
Wire.endTransmission();
Starta I2C-överföring
Wire.beginTransmission(Addr);
Välj bandbredd register
Wire.write(0x10);
Ställa in bandbredden 7.81 Hz
Wire.write(0x08);
Stoppa I2C sändningen
Wire.endTransmission();
Delay(300);}
void loop()
{
unsigned int data [0];
Starta I2C-överföring
Wire.beginTransmission(Addr);
Välj Data register (0x02 − 0x07)
Wire.write(0x02);
Stoppa I2C sändningen
Wire.endTransmission();
Begäran 6 byte
Wire.requestFrom (Addr, 6);
Läs de sex byte
xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb
IF(Wire.available() == 6)
{
data [0] = Wire.read();
data [1] = Wire.read();
data [2] = Wire.read();
data [3] = Wire.read();
data [4] = Wire.read();
data [5] = Wire.read();
}
Delay(300);
Konvertera data till 10 bitar
xAccl = ((data [1] * 256) + (data [0] & 0xC0)) / 64;
om (xAccl > 511)
{
xAccl-= 1024;
}
yAccl = ((data [3] * 256) + (data [2] & 0xC0)) / 64;
om (yAccl > 511)
{
yAccl-= 1024;
}
zAccl = ((data [5] * 256) + (data [4] & 0xC0)) / 64;
om (zAccl > 511)
{
zAccl-= 1024;
}
Utdata till dashboard
Particle.publish ("Acceleration i x-axeln:", String(xAccl));
Delay(1000);
Particle.publish ("Acceleration i y-axeln:", String(yAccl));
Delay(1000);
Particle.publish ("Acceleration i z-axeln:", String(zAccl));
Delay(1000);
}

Particle.Variable() funktion skapar variabler för att lagra utdata från sensorn och Particle.publish() funktion visar utdata på instrumentbrädan av webbplatsen.

Sensor utdata visas i bilden ovan som referens.

Se Steg
Relaterade Ämnen

Acceleration mätning med hjälp av BMA250 och Arduino Nano

BMA250 är en liten, tunn, ultralow makt, 3-axlig accelerometer med hög upplösning (13-bitars) mätning vid upp till ±16 g. Digital utgång data är formaterade som 16-bitars tvåor kompletterar och kan nås via I2C digitala gränssnitt. Itmeasures den stat...

Acceleration mätning med hjälp av BMA250 och Raspberry Pi

BMA250 är en liten, tunn, ultralow makt, 3-axlig accelerometer med hög upplösning (13-bitars) mätning vid upp till ±16 g. Digital utgång data är formaterade som 16-bitars tvåor kompletterar och kan nås via I2C digitala gränssnitt. Itmeasures den stat...

Magnetfält mätning med hjälp av HMC5883 och partikel Photon

HMC5883 är en digital kompass avsedd för låg-field magnetisk avkänning. Enheten har en bred magnetfält rad +/-8 Oe och en output ränta på 160 Hz. HMC5883 sensorn ingår automatisk avmagnetiseringsfunktionen rem drivrutiner, offset avbokning och en 12-...

Luftfuktighet mätning med hjälp av HYT939 och partikel Photon

HYT939 är en digital Fuktsensor som fungerar på I2C kommunikationsprotokoll. Luftfuktigheten är en avgörande parameter när det gäller medicinska system och laboratorier, så för att uppnå dessa mål som vi försökte gränssnitt HYT939 med raspberry pi. I...

Tryck mätning med hjälp av CPS120 och partikel Photon

CPS120 är en hög kvalitet och låg kostnad kapacitiv Absolut trycksensor med full ersättning utdata. Det förbrukar mycket mindre energi och består av en ultra liten mikro-elektro-mekanisk Sensor(MEMS) för mätning. En sigma-delta baserat ADC är också i...

Temperaturmätning med hjälp av STS21 och partikel Photon

STS21 Digital temperaturgivare erbjuder överlägsen prestanda och en utrymmesbesparande fotavtryck. Det ger kalibrerad, linearized signalerar i digitalt, I2C format. Tillverkning av denna sensor är baserad på CMOSens teknik, som tillskrivar till den ö...

Ljus intensitet uträkning med hjälp av BH1715 och partikel Photon

Igår arbetade vi på LCD-skärmen visar, och samtidigt arbetar över dem vi insåg vikten av ljusintensiteten uträkning. Ljusintensiteten är inte bara viktigt i fysisk domän i denna värld men det har dess bra sagt roll i biologiska domän också. Korrekt u...

Temperatur och luftfuktighet övervakning med hjälp av SHT25 och partikel Photon

Vi har nyligen arbetat med olika projekt som krävs för temperatur och luftfuktighet övervakning och sedan insåg vi att dessa två parametrar faktiskt spela en nyckelroll i att ha en uppskattning av den arbetande effektiviteten i ett system. Både på de...

Temperaturövervakning med hjälp av MCP9808 och partikel Photon

MCP9808 är en mycket noggrann digital temperatur sensor ±0, 5 ° C I2C mini modul. De förkroppsligas med user - programmerbar register som underlättar temperaturkännande program. MCP9808 hög noggrannhet temperaturgivare har blivit en industristandard...

Mätning av Acceleration med H3LIS331DL och partikel Photon

H3LIS331DL, är en linjär lågenergi-högpresterande 3-axlig accelerometer tillhör familjen "nano", med digital I²C seriellt gränssnitt. H3LIS331DL har användaren valbara full skalorna i ±100g/±200g/±400g och det är kan mäta accelerationer med utgå...

Ljus intensitet mätning med hjälp av BH1715 och Raspberry Pi

Igår arbetade vi på LCD-skärmen visar, och samtidigt arbetar över dem vi insåg vikten av ljusintensiteten uträkning. Ljusintensiteten är inte bara viktigt i fysisk domän i denna värld men det har dess bra sagt roll i biologiska domän också. Korrekt u...

Temperaturmätning med hjälp av STS21 och Raspberry Pi

STS21 Digital temperaturgivare erbjuder överlägsen prestanda och en utrymmesbesparande fotavtryck. Det ger kalibrerad, linearized signalerar i digitalt, I2C format. Tillverkning av denna sensor är baserad på CMOSens teknik, som tillskrivar till den ö...

Temperaturmätning med hjälp av STS21 och Arduino Nano

STS21 Digital temperaturgivare erbjuder överlägsen prestanda och en utrymmesbesparande fotavtryck. Det ger kalibrerad, linearized signalerar i digitalt, I2C format. Tillverkning av denna sensor är baserad på CMOSens teknik, som tillskrivar till den ö...

Luftfuktighet mätning med hjälp av HYT939 och Arduino Nano

HYT939 är en digital Fuktsensor som fungerar på I2C kommunikationsprotokoll. Luftfuktigheten är en avgörande parameter när det gäller medicinska system och laboratorier, så för att uppnå dessa mål som vi försökte gränssnitt HYT939 med arduino nano. I...

Magnetfält mätning med hjälp av HMC5883 och Arduino Nano

HMC5883är en digital kompass avsedd för låg-field magnetisk avkänning. Enheten har en bred magnetfält rad +/-8 Oe och en output ränta på 160 Hz. HMC5883 sensorn ingår automatisk avmagnetiseringsfunktionen rem drivrutiner, offset avbokning och en 12-b...

Magnetfält mätning med hjälp av HMC5883 och Raspberry Pi

HMC5883 är en digital kompass avsedd för låg-field magnetisk avkänning. Enheten har en bred magnetfält rad +/-8 Oe och en output ränta på 160 Hz. HMC5883 sensorn ingår automatisk avmagnetiseringsfunktionen rem drivrutiner, offset avbokning och en 12-...

Luftfuktighet mätning med hjälp av HYT939 och Raspberry Pi

HYT939 är en digital Fuktsensor som fungerar på I2C kommunikationsprotokoll. Luftfuktigheten är en avgörande parameter när det gäller medicinska system och laboratorier, så för att uppnå dessa mål som vi försökte gränssnitt HYT939 med raspberry pi. I...

Tryck mätning med hjälp av CPS120 och Arduino Nano

CPS120 är en hög kvalitet och låg kostnad kapacitiv Absolut trycksensor med full ersättning utdata. Det förbrukar mycket mindre energi och består av en ultra liten mikro-elektro-mekanisk Sensor(MEMS) för mätning. En sigma-delta baserat ADC är också i...

Tryck mätning med hjälp av CPS120 och Raspberry Pi

CPS120 är en hög kvalitet och låg kostnad kapacitiv Absolut trycksensor med full ersättning utdata. Det förbrukar mycket mindre energi och består av en ultra liten mikro-elektro-mekanisk Sensor(MEMS) för mätning. En sigma-delta baserat ADC är också i...