Πίνακας περιεχομένων:

Arduino Nano-MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Tutorial: 4 βήματα
Arduino Nano-MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Tutorial: 4 βήματα

Βίντεο: Arduino Nano-MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Tutorial: 4 βήματα

Βίντεο: Arduino Nano-MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Tutorial: 4 βήματα
Βίντεο: BeagleBone Black MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer 'C' Code Tutorial 2024, Ιούλιος
Anonim
Image
Image

Το MMA8452Q είναι ένα έξυπνο, χαμηλής ισχύος, τριών αξόνων, χωρητικό, μικρομηχανικό επιταχυνσιόμετρο με ανάλυση 12 bits. Παρέχονται ευέλικτες προγραμματιζόμενες επιλογές χρήστη με τη βοήθεια ενσωματωμένων λειτουργιών στο επιταχυνσιόμετρο, διαμορφώσιμες σε δύο ακίδες διακοπής. Διαθέτει πλήρεις κλίμακες που μπορούν να επιλέξουν οι χρήστες of 2g/± 4g/± 8g με φιλτραρισμένα δεδομένα φίλτρου υψηλής διέλευσης καθώς και μη φιλτραρισμένα δεδομένα διαθέσιμα σε πραγματικό χρόνο. Εδώ είναι η επίδειξή του με το Arduino nano.

Βήμα 1: Αυτό που χρειάζεστε..

Ο, τι χρειάζεσαι..!!
Ο, τι χρειάζεσαι..!!

1. Arduino Nano

2. MMA8452Q

3. Καλώδιο I²C

4. I²C Shield για Arduino Nano

Βήμα 2: Σύνδεση:

Σύνδεση
Σύνδεση
Σύνδεση
Σύνδεση
Σύνδεση
Σύνδεση
Σύνδεση
Σύνδεση

Πάρτε μια ασπίδα I2C για το Arduino Nano και σπρώξτε την απαλά πάνω από τις ακίδες του Nano.

Στη συνέχεια, συνδέστε το ένα άκρο του καλωδίου I2C στον αισθητήρα MMA8452Q και το άλλο άκρο στην ασπίδα I2C.

Οι συνδέσεις φαίνονται στην παραπάνω εικόνα.

Βήμα 3: Κωδικός:

Κώδικας
Κώδικας

Μπορείτε να κατεβάσετε τον κωδικό arduino για το MMMA8452Q από το αποθετήριο github μας- DCUBE Store.

Ορίστε ο σύνδεσμος.

Περιλαμβάνουμε τη βιβλιοθήκη Wire.h για τη διευκόλυνση της επικοινωνίας I2c του αισθητήρα με την πλακέτα Arduino.

Μπορείτε επίσης να αντιγράψετε τον κώδικα από εδώ, δίνεται ως εξής:

// Διανέμεται με άδεια ελεύθερης βούλησης.

// Χρησιμοποιήστε το με όποιον τρόπο θέλετε, κερδοφόρο ή δωρεάν, υπό την προϋπόθεση ότι ταιριάζει στις άδειες των σχετικών έργων του.

// MMA8452Q

// Αυτός ο κώδικας έχει σχεδιαστεί για να λειτουργεί με το Mini Module MMA8452Q_I2CS I2C.

#περιλαμβάνω

// Η διεύθυνση MMA8452Q I2C είναι 0x1C (28)

#define Addr 0x1C

void setup ()

{

// Αρχικοποίηση επικοινωνίας I2C ως MASTER

Wire.begin ();

// Αρχικοποίηση Σειριακής Επικοινωνίας, ρυθμισμένος ρυθμός baud = 9600

Serial.begin (9600);

// Έναρξη μετάδοσης I2C

Wire.beginTransmission (Addr);

// Επιλέξτε μητρώο ελέγχου

Wire.write (0x2A);

// Λειτουργία StandBy

Wire.write (0x00);

// Διακοπή μετάδοσης I2C

Wire.endTransmission ();

// Έναρξη μετάδοσης I2C

Wire.beginTransmission (Addr);

// Επιλέξτε μητρώο ελέγχου

Wire.write (0x2A);

// Ενεργή λειτουργία

Wire.write (0x01);

// Διακοπή μετάδοσης I2C

Wire.endTransmission ();

// Έναρξη μετάδοσης I2C

Wire.beginTransmission (Addr);

// Επιλέξτε μητρώο ελέγχου

Wire.write (0x0E);

// Ορίστε το εύρος στο +/- 2g

Wire.write (0x00);

// Διακοπή μετάδοσης I2C

Wire.endTransmission ();

καθυστέρηση (300)?

}

κενός βρόχος ()

{

ανυπόγραφα δεδομένα int [7];

// Ζητήστε 7 byte δεδομένων

Wire.requestFrom (Addr, 7)?

// Διαβάστε 7 byte δεδομένων

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

εάν (Wire.available () == 7)

{

δεδομένα [0] = Wire.read ();

δεδομένα [1] = Wire.read ();

δεδομένα [2] = Wire.read ();

δεδομένα [3] = Wire.read ();

δεδομένα [4] = Wire.read ();

δεδομένα [5] = Wire.read ();

δεδομένα [6] = Wire.read ();

}

// Μετατρέψτε τα δεδομένα σε 12-bit

int xAccl = ((δεδομένα [1] * 256) + δεδομένα [2]) / 16;

εάν (xAccl> 2047)

{

xAccl -= 4096;

}

int yAccl = ((δεδομένα [3] * 256) + δεδομένα [4]) / 16;

εάν (yAccl> 2047)

{

yAccl -= 4096;

}

int zAccl = ((δεδομένα [5] * 256) + δεδομένα [6]) / 16;

εάν (zAccl> 2047)

{

zAccl -= 4096;

}

// Έξοδος δεδομένων σε σειριακή οθόνη

Serial.print ("Επιτάχυνση στον άξονα Χ:");

Serial.println (xAccl);

Serial.print ("Επιτάχυνση στον άξονα Υ:");

Serial.println (yAccl);

Serial.print ("Επιτάχυνση στον άξονα Z:");

Serial.println (zAccl);

καθυστέρηση (500)?

}

Βήμα 4: Εφαρμογές:

Το MMA8452Q διαθέτει διάφορες εφαρμογές που περιλαμβάνουν εφαρμογές E-Compass, ανίχνευση στατικού προσανατολισμού που ενσωματώνουν πορτρέτο/τοπίο, πάνω/κάτω, αριστερά/δεξιά, αναγνώριση θέσης πίσω/εμπρός, σημειωματάριο, e-reader και ανίχνευση ανατροπής και ελεύθερης πτώσης φορητού υπολογιστή, σε πραγματικό χρόνο ανίχνευση προσανατολισμού, συμπεριλαμβανομένης της εικονικής πραγματικότητας και του παιχνιδιού 3D ανατροφοδότηση θέσης χρήστη, ανάλυση δραστηριότητας σε πραγματικό χρόνο, όπως καταμέτρηση βημάτων βηματόμετρου, ανίχνευση πτώσης ελεύθερης πτώσης για σκληρό δίσκο, δημιουργία αντιγράφων ασφαλείας GPS νεκρού λογαριασμού και πολλά άλλα.

Συνιστάται: