Arduino Nano - MMA8452Q 3-as 12-bits/8-bits digitale Accelerometer Tutorial (3 / 4 stap)

Stap 3: Code:


De code van de arduino voor MMMA8452Q kan worden gedownload van onze github archief-ControlEverythingCommunity

Hier is de link voor hetzelfde:

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

Het gegevensblad van MMA8452Q kan hier worden gevonden:

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

We nemen de bibliotheek Wire.h om de I2c communicatie van de sensor met de Arduino board.

U kunt ook de code kopiëren vanaf hier, het wordt als volgt gegeven:

Gedistribueerd met een licentie van de vrije wil.

Gebruik het elke manier wilt u, op de winst of het gratis, mits het past in de licenties van de bijbehorende werken.

MMA8452Q

Deze code is ontworpen om te werken met de MMA8452Q_I2CS I2C Mini Module beschikbaar vanaf ControlEverything.com.

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

#include < Wire.h >

MMA8452Q I2C adres is 0x1C(28)

#define Addr 0x1C

VOID Setup

{

I2C communicatie als MASTER initialiseren

Wire.begin();

Initialiseren van seriële communicatie, set baud-rate = 9600

Serial.begin(9600);

I2C-overdracht starten

Wire.beginTransmission(Addr);

Besturingselement SELECT register

Wire.write(0x2A);

Standby-modus

Wire.write(0x00);

Stoppen met I2C transmissie

Wire.endTransmission();

I2C-overdracht starten

Wire.beginTransmission(Addr);

Besturingselement SELECT register

Wire.write(0x2A);

Actieve modus

Wire.write(0x01);

Stoppen met I2C transmissie

Wire.endTransmission();

I2C-overdracht starten

Wire.beginTransmission(Addr);

Besturingselement SELECT register

Wire.write(0x0E);

Reeks tot +/-2g

Wire.write(0x00);

Stoppen met I2C transmissie

Wire.endTransmission();

delay(300);

}

void loop

{

unsigned int gegevens [7];

7 bytes aan gegevens aanvragen

Wire.requestFrom (Addr, 7);

Lees 7 bytes aan gegevens

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

if(Wire.available() == 7)

{

gegevens [0] = Wire.read();

gegevens [1] = Wire.read();

gegevens [2] = Wire.read();

gegevens [3] = Wire.read();

gegevens [4] = Wire.read();

gegevens [5] = Wire.read();

gegevens [6] = Wire.read();

}

De gegevens converteren naar 12-bits

int. xAccl = ((gegevens [1] * 256) + data[2]) / 16;

Als (xAccl > 2047)

{

xAccl-= 4096;

}

int. yAccl = ((gegevens [3] * 256) + data[4]) / 16;

Als (yAccl > 2047)

{

yAccl-= 4096;

}

int. zAccl = ((gegevens [5] * 256) + data[6]) / 16;

Als (zAccl > 2047)

{

zAccl-= 4096;

}

Uitvoergegevens naar seriële monitor

Serial.Print ("versnelling van de x-as:");

Serial.println(xAccl);

Serial.Print ("versnelling van de y-as:");

Serial.println(yAccl);

Serial.Print ("versnelling in de z-as:");

Serial.println(zAccl);

delay(500);

}

Gerelateerde Artikelen

Raspberry Pi MMA8452Q 3-as 12-bits/8-bits digitale Accelerometer Python Tutorial

Raspberry Pi MMA8452Q 3-as 12-bits/8-bits digitale Accelerometer Python Tutorial

De MMA8452Q is een slimme spaarstand, drie assen, capacitieve, micromachined versnellingsmeter met 12 bits van resolutie. Flexibele gebruiker programmeerbare opties worden geleverd met behulp van ingebouwde functies in de versnellingsmeter, configure
Raspberry Pi het leerprogramma van de 3-as 12-bits/8-bits digitale Accelerometer Java van de MMA8452Q

Raspberry Pi het leerprogramma van de 3-as 12-bits/8-bits digitale Accelerometer Java van de MMA8452Q

De MMA8452Q is een slimme spaarstand, drie assen, capacitieve, micromachined versnellingsmeter met 12 bits van resolutie. Flexibele gebruiker programmeerbare opties worden geleverd met behulp van ingebouwde functies in de versnellingsmeter, configure
Berlijn klok, Arduino Nano, DS1307 Real timerklok. 74HC595N 8 Bit Shift Register.

Berlijn klok, Arduino Nano, DS1307 Real timerklok. 74HC595N 8 Bit Shift Register.

Ik heb geruime tijd wilde bouwen een klok van Berlijn. Ik weet echt niet waarom? Net als ik de "andere" benadering van vertellend de tijd.Dus hoe werkt het??Vanaf de bodem er 4 geel licht elke lichte vertegenwoordigt 1 minuut zijn, dus als er ge
Arduino Nano en Visuino: 7 Segment Display klok met MAX7219 en DS1307 Real Time Clock(RTC)

Arduino Nano en Visuino: 7 Segment Display klok met MAX7219 en DS1307 Real Time Clock(RTC)

DS1307 Real timerklok zijn wijd-beschikbaar low-cost I2C RTC modules. Ze komen met een klok en een kleine batterij, en wanneer aangesloten op de Arduino, annuleerteken vieren voetspoor van real-time zelfs wanneer de Arduino board is niet aangedreven.
Arduino Nano gebaseerd Hexbug Scarab Robotic spin

Arduino Nano gebaseerd Hexbug Scarab Robotic spin

Het idee:Als u wilt bouwen van een programmeerbare robot spider, gebaseerd op de Hexbug Scarab, voorzien van de volgende sensor suite:[video]Ultrasone afstandssensorDe belemmering van de infrarood sensoren/apparatuurGyroscoopVersnellingsmeterLaseraan
12 hr Binary Clock, uren en minuten alleen, DS1307 de RTC, i2C, Arduino-Nano

12 hr Binary Clock, uren en minuten alleen, DS1307 de RTC, i2C, Arduino-Nano

Voor een tijdje nu heb ik wilde een binaire klok, maar na het rondkijken heb ik besloten dat ik wilde iets een beetje anders. Dus heb ik besloten alleen weergegeven hoeveel uren en minuten en slechts het weergeven van een klok 12 uur, betekent dit da
Eenvoudige 18dof Hexapod, Arduino nano (eventueel met pololu maestro)

Eenvoudige 18dof Hexapod, Arduino nano (eventueel met pololu maestro)

Hallo,Hier is een eenvoudige hexapod hexapod die kan worden opgebouwd met de hand zeer snel. Het mechanische ontwerp is niet groot, maar het is zeer veel in de kus (Houd het dom simpel) stijl en uitvoerbaar in een weekend voor bouwers van beginner to
TMP-112 interfacing met Arduino nano (I2C)

TMP-112 interfacing met Arduino nano (I2C)

HalloGoede groeten..!!Ik (Somanshu Choudhary) op de rekening van Dcube tech ventures gaan voor het meten van de temperatuur met behulp van de Arduino nano, het is een van de toepassingen van de I2C protocol om analoge gegevens van temperatuur Sensor
Arduino Nano - TCN75A Temperatuur Sensor Tutorial

Arduino Nano - TCN75A Temperatuur Sensor Tutorial

TCN75A is een twee-draads seriële temperatuursensor opgenomen met temperatuur / digitaal-converter. Het is opgenomen met gebruiker programmeerbare registers die flexibiliteit voor temperatuur-sensing toepassingen leveren. De register-instellingen kun
Arduino Nano - TMP100 Temperatuur Sensor Tutorial

Arduino Nano - TMP100 Temperatuur Sensor Tutorial

TMP100 hoog-nauwkeurigheid, Low-Power, digitale temperatuur Sensor I2C MINI module. De TMP100 is ideaal voor uitgebreide temperatuurmeting. Dit apparaat biedt een nauwkeurigheid van ± 1 ° C zonder kalibratie of externe component signaal conditioning.
Arduino Nano - HTS221 relatieve vochtigheid en temperatuur Sensor Tutorial

Arduino Nano - HTS221 relatieve vochtigheid en temperatuur Sensor Tutorial

HTS221 is een ultra compacte capacitieve digitale sensor voor relatieve vochtigheid en temperatuur. Het omvat een sensing-element en een gemengde signaal toepassing specifieke geïntegreerde circuit(ASIC) de meting informatie via digitale seriële inte
Raspberry webserver verzenden gegevens ophalen met Arduino Nano rijden 6 servo's

Raspberry webserver verzenden gegevens ophalen met Arduino Nano rijden 6 servo's

http://www.YouTube.com/watch?v=f7oSqLO9iJoDit is een klein project heb ik voor een collega die een 1/48 RC schaalmodel van een Fletcherklasse torpedobootjager bouwt (yup... dat maakt het "model" ongeveer 8 voet lang!) Hij vroeg als ik de 5 anime
Interfacing ADC121C met Arduino nano(I2C)

Interfacing ADC121C met Arduino nano(I2C)

HalloGoede groeten..!!Vandaag ik (Somanshu Choudhary) op de rekening van Dcube tech ventures gaan om ADC121C-apparaat met behulp van de Arduino te controleren, het is een van de toepassingen van de I2C protocol om analoge gegevens via Arduino te leze
Huidige Monitoring via Arduino nano (I2C)

Huidige Monitoring via Arduino nano (I2C)

HalloGoede groeten..!!Hier ik (Somanshu Choudhary) namens Dcube tech ventures gonna controleren stroom met behulp van de Arduino nano, het is een van de toepassingen van de I2C protocol om analoge gegevens van huidige Sensor TA12-200 te lezen.Stap 1: