Arduino Nano - tutoriel accéléromètre numérique 3 axes 12 bits/8 bits MMA8452Q (3 / 4 étapes)

Étape 3: Code :

Le code de l’arduino pour MMMA8452Q peut être téléchargé depuis notre dépôt github-ControlEverythingCommunity

Voici le lien pour la même chose :

https://github.com/ControlEverythingCommunity/MMA8...

Le datasheet du MMA8452Q peut être trouvé ici :

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

Nous incluons la bibliothèque Wire.h de faciliter la communication I2c du capteur avec la carte Arduino.

Vous pouvez également copier le code d’ici, il est affecté comme suit :

Distribué avec une licence libre-arbitre.

Utilisez-le toute façon vous voulez, Profitez ou libre, autant il s’intègre dans les licences de ses ouvrages connexes.

MMA8452Q

Copiez le code suivant est conçu pour fonctionner avec le Module MMA8452Q_I2CS I2C Mini, disponible de ControlEverything.com.

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

#include < Wire.h >

I2C MMA8452Q adresse est 0x1C(28)

Addr #define 0x1C

void setup()

{

Initialiser la communication I2C maître

Wire.Begin() ;

Initialiser la Communication série, réglée en bauds = 9600

Serial.Begin(9600) ;

Démarrer la Transmission I2C

Wire.beginTransmission(Addr) ;

Registre de contrôle Select

Wire.Write(0x2A) ;

En mode veille

Wire.Write(0x00) ;

Interrompre la Transmission I2C

Wire.endTransmission() ;

Démarrer la Transmission I2C

Wire.beginTransmission(Addr) ;

Registre de contrôle Select

Wire.Write(0x2A) ;

Mode actif

Wire.Write(0x01) ;

Interrompre la Transmission I2C

Wire.endTransmission() ;

Démarrer la Transmission I2C

Wire.beginTransmission(Addr) ;

Registre de contrôle Select

Wire.Write(0x0E) ;

Définissez la plage à +/-2g

Wire.Write(0x00) ;

Interrompre la Transmission I2C

Wire.endTransmission() ;

Delay(300) ;

}

void loop()

{

unsigned int données [7] ;

Demande 7 octets de données

Wire.requestFrom (Addr, 7) ;

Lu 7 octets de données

staus xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb

if(Wire.available() == 7)

{

Data [0] = Wire.read() ;

données [1] = Wire.read() ;

données [2] = Wire.read() ;

données [3] = Wire.read() ;

données [4] = Wire.read() ;

données [5] = Wire.read() ;

données [6] = Wire.read() ;

}

Convertissez les données en 12 bits

int xAccl = ((données [1] * 256) + data[2]) / 16 ;

Si (xAccl > 2047)

{

xAccl-= 4096 ;

}

int yAccl = ((données [3] * 256) + data[4]) / 16 ;

Si (yAccl > 2047)

{

yAccl-= 4096 ;

}

int zAccl = ((données [5] * 256) + data[6]) / 16 ;

Si (zAccl > 2047)

{

zAccl-= 4096 ;

}

Données de sortie à serial monitor

Serial.Print ("accélération dans l’axe des abscisses:") ;

Serial.println(xAccl) ;

Serial.Print ("accélération dans l’axe des ordonnées:") ;

Serial.println(yAccl) ;

Serial.Print ("accélération dans l’axe z:") ;

Serial.println(zAccl) ;

Delay(500) ;

}

Articles Liés

Raspberry Pi MMA8452Q accéléromètre numérique 3 axes 12 bits/8 bits Java Tutorial

Raspberry Pi MMA8452Q accéléromètre numérique 3 axes 12 bits/8 bits Java Tutorial

Le MMA8452Q est un accéléromètre intelligente, faible puissance, trois axes, capacitif, micro-usinés avec une résolution de 12 bits. Options programmables d'utilisateur flexible sont fournies avec l'aide des fonctions incorporées dans l'accéléromètre
Raspberry Pi MMA8452Q accéléromètre numérique 3 axes 12 bits/8 bits Python Tutorial

Raspberry Pi MMA8452Q accéléromètre numérique 3 axes 12 bits/8 bits Python Tutorial

Le MMA8452Q est un accéléromètre intelligente, faible puissance, trois axes, capacitif, micro-usinés avec une résolution de 12 bits. Options programmables d'utilisateur flexible sont fournies avec l'aide des fonctions incorporées dans l'accéléromètre
GEO Data Logger : Arduino + GPS + SD + accéléromètre pour enregistrer, horodatage et les données des capteurs géo-tag

GEO Data Logger : Arduino + GPS + SD + accéléromètre pour enregistrer, horodatage et les données des capteurs géo-tag

mises à jour17 octobre 2013: J'ai publié un guide sur l'utilisation de votre téléphone Android pour accomplir une tâche similaire en s'appuyant sur votre Android appareil construit dans le GPS et les capteurs.6 février 2013: En vedette sur GeoAwesome
Arduino à partir de zéro - thermomètre numérique

Arduino à partir de zéro - thermomètre numérique

J'ai aimé faire des projets avec Arduinos, mais 30 $ un morceau vos projets peuvent coûter chers. Je tiens donc à vous montrer comment vous pouvez faire votre propre Arduino à partir de zéro et faire des économies. Faites votre propre Arduino pour en
Arduino Nano - tutoriel de capteur altimètre de précision MPL3115A2

Arduino Nano - tutoriel de capteur altimètre de précision MPL3115A2

La MPL3115A2 utilise un capteur de pression MEMS grâce à une interface I2C pour fournir des données exactes de l'Altitude/pression et température. Les sorties du capteur sont numérisées par une haute résolution 24-bit ADC. Traitement interne supprime
Arduino / traitement ADXL330 accéléromètre

Arduino / traitement ADXL330 accéléromètre

C'est encore un work in progress. Actuellement seulement montrant le déplacement d'axe X et Y, encore pour montrer quoi que ce soit sur l'axe z. J'espère qu'un jour il sera. S'il vous plaît noter et commenter aussi bien.Visitez http://retardokiddo.bl
Accéléromètre & Gyro tutoriel

Accéléromètre & Gyro tutoriel

IntroductionCe guide est destiné à tous ceux intéressés à utiliser des accéléromètres et Gyroscopes ainsi que dispositifs combinés d'IMU (Unité de mesure inertielle) dans leurs projets d'électroniqueNous allons aborder :Que mesure un accéléromètre ?Q
Utiliser un accéléromètre et un Gyroscope avec Arduino

Utiliser un accéléromètre et un Gyroscope avec Arduino

j'ai acheté récemment une combinaison 3 axes accéléromètre et le gyroscope 2 axes de Sparkfun et je voulais mettre du code j'ai utilisé pour le faire marche.  Je suis décidé de l'utiliser dans un Arduino base contrôleur MIDI que je vais poster bientô
Potentiomètres numériques Arduino Shield

Potentiomètres numériques Arduino Shield

Le Bouclier de Arduino potentiomètres numériques a été testé pour la compatibilité avec Arduino Duemilanove, Diecimilaet Arduino UNO R1/R2Ce blason est issu de l'appareil AD5206 d'Analog Devices.Sur Internet, nous pouvons trouver quelques application
Casque de vélo LED contrôlé par accéléromètre

Casque de vélo LED contrôlé par accéléromètre

si vous cycle pour le plaisir, l'exercice, au transport ou la contrainte, il est important d'être visible et bien éclairé pendant la nuit. Garder le casque allumé est une bonne option car elle donne une protection supplémentaire votre tête. Ce casque
Accéléromètre contrôlée, Head Tracking Rover

Accéléromètre contrôlée, Head Tracking Rover

Ce projet a été une combinaison de plusieurs idées que tous s'unissent pour créer un rover génial.   Le Rover est contrôlé à l'aide d'une montre équipée d'un accéléromètre pour suivre les déplacements et inclinaison du poignet.  Le rover se déplace v
Bouclier de l’accéléromètre pour cours de physique et au-delà

Bouclier de l’accéléromètre pour cours de physique et au-delà

lors d'un cours de physique nous étions préformage une expérience de physique pour mesurer l'accélération due à graivty - 9,8 m/s ^ 2 et alors que nous n'a pas fait des nouvelles découvertes de la physique j'ai eu une idée pour améliorer l'expérience
Contrôler toutes les pièces avec un accéléromètre

Contrôler toutes les pièces avec un accéléromètre

environnement de programmation le Scratch est très populaire auprès des enfants. À l'aide de l'Arduino, nous pouvons introduire contrôle accéléromètre pour vos jeux peut réagir à l'inclinaison de l'accéléromètre.J'ai couvert les principes fondamentau
Accéléromètre powered LED robe

Accéléromètre powered LED robe

soyons honnêtes un instant, tout le monde ne veut pas une robe qui s'allume à votre gré très ? Non ? Bon, Eh bien je le fais. C'est assez simple, mais la programmation devient un tout petit peu rusée. Alors choisissez votre crayon, esquisser un dessi