Mesure de l’accélération à l’aide de H3LIS331DL et la particule Photon (3 / 4 étapes)

Étape 3: Code pour la mesure de l’accélération :

Permet de démarrer avec le code de particules maintenant.

Lorsque vous utilisez le module détecteur avec l’arduino, nous incluons des bibliothèques application.h et spark_wiring_i2c.h. Bibliothèque « application.h » et spark_wiring_i2c.h contient les fonctions qui facilitent la communication i2c entre le capteur et la particule.

Le code de toute particule est donné ci-dessous pour la commodité de l’utilisateur :

 #include<application.h> #include<spark_wiringg_i2c.h> // H3LIS331DL I2C address is 0x18(24)#define Addr 0x18int xAccl = 0, yAccl = 0, zAccl = 0;void setup(){ // Set variable Particle.variable("i2cdevice", "H3LIS331DL"); Particle.variable("xAccl", xAccl); Particle.variable("yAccl", yAccl); Particle.variable("zAccl", zAccl);// Initialise I2C communication as MASTER Wire.begin(); // Initialize serial communication, set baud rate = 9600 Serial.begin(9600); // Start I2C Transmission Wire.beginTransmission(Addr); // Select control register 1 Wire.write(0x20); // Enable X, Y, Z axis, power on mode, data output rate 50Hz Wire.write(0x27); // Stop I2C Transmission Wire.endTransmission(); // Start I2C Transmission Wire.beginTransmission(Addr); // Select control register 4 Wire.write(0x23); // Set full scale, +/- 100g, continuous update Wire.write(0x00); // Stop I2C Transmission Wire.endTransmission(); delay(300);} void loop(){ unsigned int data[6]; for(int i = 0; i < 6; i++) { // Start I2C Transmission Wire.beginTransmission(Addr); // Select data register Wire.write((40 + i)); // Stop I2C Transmission Wire.endTransmission(); // Request 1 byte of data Wire.requestFrom(Addr, 1); // Read 6 bytes of data // xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb if(Wire.available() == 1) { data[i] = Wire.read(); } delay(300); } // Convert the data int xAccl = ((data[1] * 256) + data[0]); if(xAccl > 32767) { xAccl -= 65536; } int yAccl = ((data[3] * 256) + data[2]); if(yAccl > 32767) { yAccl -= 65536; } int zAccl = ((data[5] * 256) + data[4]); if(zAccl > 32767) { zAccl -= 65536; }// Output data to dashboard Particle.publish("Acceleration in X-Axis is :", String(xAccl)); Particle.publish("Acceleration in Y-Axis is :", String(yAccl)); Particle.publish("Acceleration in Z-Axis is :", String(zAccl)); delay(300);} 

Particle.variable() fonction crée les variables afin de stocker la sortie du capteur et Particle.publish() fonction affiche la sortie sur le tableau de bord du site.

La sortie du capteur est montrée dans l’image ci-dessus pour votre référence.

Articles Liés

Mesure de l’accélération à l’aide de H3LIS331DL et Arduino Nano

Mesure de l’accélération à l’aide de H3LIS331DL et Arduino Nano

H3LIS331DL, un accéléromètre linéaire de 3 axes de haute performance de faible puissance est appartenant à la famille de « nano », avec interface numérique I²C. H3LIS331DL a échelles complet sélectionnables de l'utilisateur de ±100g/±200g/±400g et il
Mesure de l’accélération à l’aide de H3LIS331DL et framboise Pi

Mesure de l’accélération à l’aide de H3LIS331DL et framboise Pi

H3LIS331DL, un accéléromètre linéaire de 3 axes de haute performance de faible puissance est appartenant à la famille de « nano », avec interface numérique I²C. H3LIS331DL a échelles complet sélectionnables de l'utilisateur de ±100g/±200g/±400g et il
Mesure d’accélération à l’aide de BMA250 et framboise Pi

Mesure d’accélération à l’aide de BMA250 et framboise Pi

BMA250 est un petit, léger, ultra basse puissance, accéléromètre 3 axes avec mesure de haute résolution (13 bits) à jusqu'à ±16 g. sortie numérique données sont au format 16-bit twos complément et est accessible via I2C interface numérique. Itmeasure
Mesure d’accélération à l’aide de BMA250 et Arduino Nano

Mesure d’accélération à l’aide de BMA250 et Arduino Nano

BMA250 est un petit, léger, ultra basse puissance, accéléromètre 3 axes avec mesure de haute résolution (13 bits) à jusqu'à ±16 g. sortie numérique données sont au format 16-bit twos complément et est accessible via I2C interface numérique. Itmeasure
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'
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
Mesure de la température à l’aide de STS21 et la particule Photon

Mesure de la température à l’aide de STS21 et la particule Photon

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
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
Température et humidité suivi à l’aide de SHT25 et la particule Photon

Température et humidité suivi à l’aide de SHT25 et la particule Photon

Nous avons récemment travaillé sur divers projets nécessitant la surveillance de l'humidité et température, et puis nous avons réalisé que ces deux paramètres jouent effectivement un rôle essentiel d'avoir une estimation de l'efficacité de fonctionne
Surveillance de la température à l’aide de MCP9808 et la particule Photon

Surveillance de la température à l’aide de MCP9808 et la particule Photon

MCP9808 est un module numérique très précise de la température capteur ± 0,5 ° C I2C mini. Elles s'incarnent avec user - registres programmable qui facilitent les applications de détection de température. La MCP9808 sonde de température haute précisi
Comment mesurer la masse de la terre à l’aide d’arduino.

Comment mesurer la masse de la terre à l’aide d’arduino.

Un beau jour, j'ai été pesant mon auto sur une balance. Tout à coup une pensée vint à mon esprit, « combien serait la masse de la terre? ». Laissez cette apart « Comment pouvons nous même mesurer? ». Il n'y a pas de tel balance sur lequel, la terre p
Rampes de Galileo : exploration de vitesse et accélération avec marbre et plans inclinés

Rampes de Galileo : exploration de vitesse et accélération avec marbre et plans inclinés

Cette expérience s'ensuit Galileo plan incliné expérimenter d'instruction de vitesse et d'accélération de boules coulaient sur un plan incliné. Galileo utilisé des boules de laiton et de cloches, montés sur un plan incliné, on peut utiliser des bille
En savoir plus sur l’accélération avec Rocket voitures !

En savoir plus sur l’accélération avec Rocket voitures !

Un moteur de fusée miniature, tubes de stylo, une roue chaude et un peu de colle chaude sera le parfait aide pour en savoir plus sur l'accélération !Étape 1: matériauxL'essentiel :-Hot roue voiture, ou une voiture de valeur égale (solide, pas un prod
Plus Open Source Science - déterminer l’accélération gravitationnelle

Plus Open Source Science - déterminer l’accélération gravitationnelle

j'irai à travers un processus qui vous permettra de déterminer l'accélération due à la pesanteur. J'utilise cette activité avec mes élèves de physique de lycée. Dans le passé, nous avons fait une activité similaire à l'aide d'un porte photo disponibl