Innholdsfortegnelse:
Video: Arduino Nano-MMA8452Q 3-akse 12-biters/8-biters digitalt akselerometeropplæring: 4 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:21
MMA8452Q er et smart, laveffekt, tre-akset, kapasitivt, mikromaskinert akselerometer med 12 bits oppløsning. Fleksible brukerprogrammerbare alternativer tilbys ved hjelp av innebygde funksjoner i akselerometeret, som kan konfigureres til to avbruddspinner. Den har brukervalgbare hele skalaer på ± 2g/± 4g/± 8g med høypassfilterfiltrerte data, så vel som ikke-filtrerte data tilgjengelig i sanntid. Her er demonstrasjonen med Arduino nano.
Trinn 1: Hva du trenger..
1. Arduino Nano
2. MMA8452Q
3. I²C -kabel
4. I²C -skjold for Arduino Nano
Trinn 2: Tilkobling:
Ta et I2C -skjold for Arduino Nano og skyv det forsiktig over pinnene på Nano.
Koble deretter den ene enden av I2C -kabelen til MMA8452Q -sensoren og den andre enden til I2C -skjoldet.
Tilkoblinger er vist på bildet ovenfor.
Trinn 3: Kode:
Arduino-koden for MMMA8452Q kan lastes ned fra vårt github-depot- DCUBE Store.
Her er lenken.
Vi inkluderer bibliotek Wire.h for å lette I2c -kommunikasjonen av sensoren med Arduino -kortet.
Du kan også kopiere koden herfra, den er gitt som følger:
// Distribuert med en fri viljelisens.
// Bruk den slik du vil, profitt eller gratis, forutsatt at den passer inn i lisensene til de tilhørende verkene.
// MMA8452Q
// Denne koden er designet for å fungere med MMA8452Q_I2CS I2C Mini Module.
#inkludere
// MMA8452Q I2C -adressen er 0x1C (28)
#define Addr 0x1C
ugyldig oppsett ()
{
// Initialiser I2C -kommunikasjon som MASTER
Wire.begin ();
// Initialize Serial Communication, set baud rate = 9600
Serial.begin (9600);
// Start I2C -overføring
Wire.beginTransmission (Addr);
// Velg kontrollregister
Wire.write (0x2A);
// Standby-modus
Wire.write (0x00);
// Stopp I2C -overføring
Wire.endTransmission ();
// Start I2C -overføring
Wire.beginTransmission (Addr);
// Velg kontrollregister
Wire.write (0x2A);
// Aktiv modus
Wire.write (0x01);
// Stopp I2C -overføring
Wire.endTransmission ();
// Start I2C -overføring
Wire.beginTransmission (Addr);
// Velg kontrollregister
Wire.write (0x0E);
// Sett området til +/- 2g
Wire.write (0x00);
// Stopp I2C -overføring
Wire.endTransmission ();
forsinkelse (300);
}
hulrom ()
{
usignerte int -data [7];
// Be om 7 byte med data
Wire.requestFrom (Addr, 7);
// Les 7 byte med data
// staus, xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb
hvis (Wire.available () == 7)
{
data [0] = Wire.read ();
data [1] = Wire.read ();
data [2] = Wire.read ();
data [3] = Wire.read ();
data [4] = Wire.read ();
data [5] = Wire.read ();
data [6] = Wire.read ();
}
// Konverter dataene til 12-bits
int xAccl = ((data [1] * 256) + data [2]) / 16;
hvis (xAccl> 2047)
{
xAccl -= 4096;
}
int yAccl = ((data [3] * 256) + data [4]) / 16;
hvis (yAccl> 2047)
{
yAccl -= 4096;
}
int zAccl = ((data [5] * 256) + data [6]) / 16;
hvis (zAccl> 2047)
{
zAccl -= 4096;
}
// Utdata til seriell skjerm
Serial.print ("Akselerasjon i X-akse:");
Serial.println (xAccl);
Serial.print ("Akselerasjon i Y-akser:");
Serial.println (yAccl);
Serial.print ("Akselerasjon i Z-akse:");
Serial.println (zAccl);
forsinkelse (500);
}
Trinn 4: Søknader:
MMA8452Q har forskjellige applikasjoner som inkluderer E-Kompass-applikasjoner, Statisk orienteringsdeteksjon som inneholder portrett/landskap, opp/ned, venstre/høyre, bak/front posisjonidentifikasjon, bærbar PC, e-leser og bærbar Tumble og Freefall Detection, sanntid orienteringsdeteksjon, inkludert virtuell virkelighet og spill 3D-tilbakemeldinger fra brukerposisjoner, aktivitetsanalyse i sanntid som skrittellersteller, fritt fallgjenkjenning for harddisk, død-beregning av GPS-sikkerhetskopiering og mye mer.
Anbefalt:
Arduino og MPU6050 basert digitalt vater: 3 trinn
Arduino og MPU6050 basert digitalt vater: Velkommen til min første instruerbare noensinne! Jeg håper du finner det informativt. Gi gjerne tilbakemelding om det er positivt eller negativt. Dette prosjektet er å lage en arduino & MPU6050 -basert digitalt vaterpas. Mens det ferdige designet og
MCP41HVX1 digitalt potensiometer for Arduino: 10 trinn (med bilder)
MCP41HVX1 digitalt potensiometer for Arduino: MCP41HVX1 familien av digitale potensiometre (aka DigiPots) er enheter som etterligner funksjonen til et analogt potensiometer og styres gjennom SPI. Et eksempel kan være å bytte volumknappen på stereoanlegget med en DigiPot som er
Arduino -basert digitalt termometer: 3 trinn
Arduino -basert digitalt termometer: I dette prosjektet er et Arduino -basert digitalt termometer designet som kan brukes til å analysere temperaturen i rommet. Termometeret brukes vanligvis som et temperaturmåleinstrument. Det er forskjellige prinsipper som kan brukes til å måle
Digitalt kompass ved bruk av Arduino og HMC5883L magnetometer: 6 trinn
Digitalt kompass ved bruk av Arduino og HMC5883L magnetometer: Hei folkens, Denne sensoren kan indikere det geografiske nord, sør, øst og vest, vi mennesker kan også bruke det til tider når det er nødvendig. Så. I denne artikkelen la oss prøve å forstå hvordan magnetometersensor fungerer og hvordan du kan koble den til en mikrokontro
Hvordan bruke GY511 -modulen med Arduino [Lag et digitalt kompass]: 11 trinn
Hvordan bruke GY511 -modulen med Arduino [Lag et digitalt kompass]: Oversikt I noen elektronikkprosjekter må vi kjenne den geografiske plasseringen når som helst og utføre en spesifikk operasjon deretter. I denne opplæringen lærer du hvordan du bruker LSM303DLHC GY-511 kompassmodulen med Arduino til å lage en digital kompas