Indholdsfortegnelse:
Video: Arduino Nano-MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Tutorial: 4 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:26
MMA8452Q er et smart, laveffekt, tre-akset, kapacitivt, mikromaskinet accelerometer med 12 bits opløsning. Fleksible brugerprogrammerbare muligheder leveres ved hjælp af integrerede funktioner i accelerometeret, der kan konfigureres til to afbrydelsesnåle. Den har brugervalgbare fulde skalaer på ± 2g/± 4g/± 8g med højpasfilterfiltrerede data samt ikke-filtrerede data tilgængelige i realtid. Her er dens demonstration med Arduino nano.
Trin 1: Hvad du har brug for..
1. Arduino Nano
2. MMA8452Q
3. I²C -kabel
4. I²C Shield til Arduino Nano
Trin 2: Tilslutning:
Tag et I2C -skjold til Arduino Nano og skub det forsigtigt hen over stifterne på Nano.
Tilslut derefter den ene ende af I2C -kablet til MMA8452Q -sensoren og den anden ende til I2C -skærmen.
Forbindelser er vist på billedet ovenfor.
Trin 3: Kode:
Arduino-koden til MMMA8452Q kan downloades fra vores github-depot- DCUBE Store.
Her er linket.
Vi inkluderer bibliotek Wire.h for at lette I2c -kommunikationen mellem sensoren og Arduino -kortet.
Du kan også kopiere koden herfra, den er givet som følger:
// Distribueret med en fri vilje licens.
// Brug den, som du vil, profit eller gratis, forudsat at den passer ind i licenserne til de tilhørende værker.
// MMA8452Q
// Denne kode er designet til at fungere med MMA8452Q_I2CS I2C Mini Module.
#omfatte
// MMA8452Q I2C -adressen er 0x1C (28)
#define Addr 0x1C
ugyldig opsætning ()
{
// Initialiser I2C -kommunikation som MASTER
Wire.begin ();
// Initialiser seriel kommunikation, indstil baudhastighed = 9600
Serial.begin (9600);
// Start I2C -transmission
Wire.beginTransmission (Addr);
// Vælg kontrolregister
Wire.write (0x2A);
// Standby -tilstand
Wire.write (0x00);
// Stop I2C -transmission
Wire.endTransmission ();
// Start I2C -transmission
Wire.beginTransmission (Addr);
// Vælg kontrolregister
Wire.write (0x2A);
// Aktiv tilstand
Wire.write (0x01);
// Stop I2C -transmission
Wire.endTransmission ();
// Start I2C -transmission
Wire.beginTransmission (Addr);
// Vælg kontrolregister
Wire.write (0x0E);
// Indstil område til +/- 2g
Wire.write (0x00);
// Stop I2C -transmission
Wire.endTransmission ();
forsinkelse (300);
}
hulrum ()
{
usignerede int -data [7];
// Anmod om 7 bytes data
Wire.requestFrom (Addr, 7);
// Læs 7 bytes 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-bit
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;
}
// Output data til seriel skærm
Serial.print ("Acceleration i X-akse:");
Serial.println (xAccl);
Serial.print ("Acceleration i Y-akse:");
Serial.println (yAccl);
Serial.print ("Acceleration i Z-akse:");
Serial.println (zAccl);
forsinkelse (500);
}
Trin 4: Ansøgninger:
MMA8452Q har forskellige applikationer, som omfatter E-Kompass-applikationer, Statisk orienteringsdetektering, der inkorporerer Portræt/Landskab, Op/Ned, Venstre/Højre, Tilbage/Front position identifikation, Notebook, e-reader og Laptop Tumble og Freefall Detection, Real-time orienteringsdetektering inklusive virtual reality og gaming 3D brugerpositionsfeedback, realtidsaktivitetsanalyse såsom skridttæller-trintælling, freefall-drop-detektion for HDD, dødregning af GPS-backup og meget mere.
Anbefalede:
Arduino Accelerometer Tutorial: Styr en skibsbro ved hjælp af en servomotor: 5 trin
Arduino Accelerometer Tutorial: Styr en skibsbro ved hjælp af en servomotor: Accelerometer sensorer er nu i de fleste af vores smartphones for at give dem en bred vifte af brug og muligheder, som vi bruger dagligt, uden selv at vide, at den, der er ansvarlig for det, er accelerometeret. En af disse muligheder er kontrollen
CubeSat Accelerometer Tutorial: 6 trin
CubeSat Accelerometer Tutorial: En cubesat er en type miniaturiseret satellit til rumforskning, der består af multipler på 10x10x10 cm kubiske enheder og en masse på ikke mere end 1,33 kg pr. Enhed. Cubesats gør det muligt at sende en stor mængde satellitter til rummet og al
Arduino Nano - BH1715 Digital Omgivelseslys Sensor Tutorial: 4 trin
Arduino Nano - BH1715 Digital Ambient Light Sensor Tutorial: BH1715 er en digital Ambient Light Sensor med en I²C busgrænseflade. BH1715 bruges almindeligvis til at indhente omgivelseslysdata til justering af LCD- og tastaturets baggrundsbelysning til mobile enheder. Denne enhed tilbyder en 16-bit opløsning og en justering
Arduino Nano og Visuino: Konverter acceleration til vinkel fra accelerometer og gyroskop MPU6050 I2C -sensor: 8 trin (med billeder)
Arduino Nano og Visuino: Konverter acceleration til vinkel fra accelerometer og gyroskop MPU6050 I2C -sensor: For et stykke tid siden lagde jeg en tutorial op om, hvordan du kan forbinde MPU9250 Accelerometer, Gyroscope og Compass Sensor til Arduino Nano og programmere den med Visuino til at sende pakkedata og vise det på et omfang og visuelle instrumenter. Accelerometeret sender X, Y
Arduino Nano: Accelerometer -gyroskopkompas MPU9250 I2C -sensor med Visuino: 11 trin
Arduino Nano: Accelerometer Gyroskop Kompas MPU9250 I2C Sensor Med Visuino: MPU9250 er en af de mest avancerede kombinerede Accelerometer, Gyroskop og Kompas sensorer i øjeblikket tilgængelig. De har mange avancerede funktioner, herunder lavpasfiltrering, bevægelsesdetektering og endda en programmerbar specialiseret processor