Table des matières:

Tutoriel sur l'accéléromètre numérique Arduino Nano - MMA8452Q 3 axes 12 bits/8 bits : 4 étapes
Tutoriel sur l'accéléromètre numérique Arduino Nano - MMA8452Q 3 axes 12 bits/8 bits : 4 étapes

Vidéo: Tutoriel sur l'accéléromètre numérique Arduino Nano - MMA8452Q 3 axes 12 bits/8 bits : 4 étapes

Vidéo: Tutoriel sur l'accéléromètre numérique Arduino Nano - MMA8452Q 3 axes 12 bits/8 bits : 4 étapes
Vidéo: Курс Arduino для начинающих — электронная платформа с открытым исходным кодом 2024, Juillet
Anonim
Image
Image

Le MMA8452Q est un accéléromètre intelligent, à faible consommation, à trois axes, capacitif et micro-usiné avec une résolution de 12 bits. Des options flexibles programmables par l'utilisateur sont fournies à l'aide de fonctions intégrées dans l'accéléromètre, configurables sur deux broches d'interruption. Il a des pleines échelles sélectionnables par l'utilisateur de ±2g/±4g/±8g avec des données filtrées par filtre passe-haut ainsi que des données non filtrées disponibles en temps réel. Voici sa démonstration avec Arduino nano.

Étape 1: Ce dont vous avez besoin.

De quoi as-tu besoin..!!
De quoi as-tu besoin..!!

1. Arduino Nano

2. MMA8452Q

3. Câble I²C

4. Bouclier I²C pour Arduino Nano

Étape 2: Connexion:

Lien
Lien
Lien
Lien
Lien
Lien
Lien
Lien

Prenez un shield I2C pour Arduino Nano et poussez-le doucement sur les broches de Nano.

Connectez ensuite l'une des extrémités du câble I2C au capteur MMA8452Q et l'autre extrémité au blindage I2C.

Les connexions sont montrées dans l'image ci-dessus.

Étape 3: Coder:

Code
Code

Le code arduino pour MMMA8452Q peut être téléchargé à partir de notre référentiel github - DCUBE Store.

Voici le lien.

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

Vous pouvez également copier le code d'ici, il est donné comme suit:

// Distribué avec une licence libre-arbitre.

// Utilisez-le comme vous le souhaitez, à profit ou gratuitement, à condition qu'il rentre dans les licences de ses œuvres associées.

// MMA8452Q

// Ce code est conçu pour fonctionner avec le mini module MMA8452Q_I2CS I2C.

#comprendre

// L'adresse I2C du MMA8452Q est 0x1C(28)

#define Adr 0x1C

void setup()

{

// Initialiser la communication I2C en tant que MASTER

Fil.begin();

// Initialiser la communication série, définir le débit en bauds = 9600

Serial.begin(9600);

// Démarrer la transmission I2C

Wire.beginTransmission(Adr);

// Sélection du registre de contrôle

Wire.write(0x2A);

// Mode veille

Wire.write(0x00);

// Arrêter la transmission I2C

Wire.endTransmission();

// Démarrer la transmission I2C

Wire.beginTransmission(Adr);

// Sélection du registre de contrôle

Wire.write(0x2A);

// Mode actif

Wire.write(0x01);

// Arrêter la transmission I2C

Wire.endTransmission();

// Démarrer la transmission I2C

Wire.beginTransmission(Adr);

// Sélection du registre de contrôle

Wire.write(0x0E);

// Définir la plage à +/- 2g

Wire.write(0x00);

// Arrêter la transmission I2C

Wire.endTransmission();

retard (300);

}

boucle vide()

{

données int non signées[7];

// Demande 7 octets de données

Wire.requestFrom(Adr, 7);

// Lecture de 7 octets de données

// état, xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb

if(Fil.disponible() == 7)

{

data[0] = Wire.read();

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

data[2] = Wire.read();

data[3] = Wire.read();

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

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

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

}

// Convertir les données en 12 bits

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

si (xAccl > 2047)

{

xAccl -= 4096;

}

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

si (yAccl > 2047)

{

yAccl -= 4096;

}

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

si (zAccl > 2047)

{

zAccl -= 4096;

}

// Sortie des données vers le moniteur série

Serial.print("Accélération dans l'axe X: ");

Serial.println(xAccl);

Serial.print("Accélération dans l'axe Y: ");

Serial.println(yAccl);

Serial.print("Accélération dans l'axe Z: ");

Serial.println(zAccl);

retard (500);

}

Étape 4: Candidatures:

Le MMA8452Q a diverses applications qui incluent les applications E-Compass, la détection d'orientation statique qui intègrent Portrait/Paysage, Haut/Bas, Gauche/Droite, Identification de la position arrière/avant, Ordinateur portable, liseuse et Détection de chute et chute libre pour ordinateur portable, en temps réel détection de l'orientation, y compris la réalité virtuelle et le retour d'informations de la position de l'utilisateur en 3D, l'analyse de l'activité en temps réel telle que le comptage des pas du podomètre, la détection des chutes libres pour le disque dur, la sauvegarde GPS à l'estime et bien plus encore.

Conseillé: