
2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-23 14:40


MMA8452Q on nutikas, väikese võimsusega kolmeteljeline mahtuvuslik mikromeetriga kiirendusmõõtur, millel on 12 bitti eraldusvõime. Kiirendusmõõturi sisseehitatud funktsioonide abil pakutakse paindlikke kasutaja programmeeritavaid valikuid, mis on konfigureeritavad kaheks katkestusnõelaks. Sellel on kasutaja poolt valitavad täisskaalad ± 2g/± 4g/± 8g koos kõrgpääsfiltriga filtreeritud andmetega ja reaalajas saadaval olevate filtreerimata andmetega. Siin on selle demonstratsioon Arduino nanoga.
Samm: mida vajate..

1. Arduino Nano
2. MMA8452Q
3. I²C kaabel
4. I²C kilp Arduino Nano jaoks
2. samm: ühendus:




Võtke Arduino Nano jaoks I2C kilp ja lükake see õrnalt üle Nano tihvtide.
Seejärel ühendage I2C kaabli üks ots MMA8452Q anduriga ja teine ots I2C varjestusega.
Ühendused on näidatud ülaltoodud pildil.
3. samm: kood:

MMMA8452Q arduino koodi saate alla laadida meie githubi hoidlast DCUBE Store.
Siin on link.
Kaasame raamatukogu Wire.h, et hõlbustada anduri I2c -side Arduino plaadiga.
Siit saate koodi ka kopeerida, see on järgmine:
// Levitatakse vaba tahte litsentsiga.
// Kasutage seda soovitud viisil, kasumit teenides või tasuta, tingimusel et see sobib sellega seotud teoste litsentsidega.
// MMA8452Q
// See kood on loodud töötama koos MMA8452Q_I2CS I2C minimooduliga.
#kaasake
// MMA8452Q I2C aadress on 0x1C (28)
#define Addr 0x1C
tühine seadistus ()
{
// Initsialiseeri I2C side kui MASTER
Wire.begin ();
// Initsialiseeri jadaühendus, määrake edastuskiirus = 9600
Seriaalne algus (9600);
// Käivitage I2C edastamine
Wire.beginTransmission (Addr);
// Valige juhtregister
Wire.write (0x2A);
// Ooterežiim
Wire.write (0x00);
// Peata I2C edastamine
Wire.endTransmission ();
// Käivitage I2C edastamine
Wire.beginTransmission (Addr);
// Valige juhtregister
Wire.write (0x2A);
// Aktiivne režiim
Wire.write (0x01);
// Peata I2C edastamine
Wire.endTransmission ();
// Käivitage I2C edastamine
Wire.beginTransmission (Addr);
// Valige juhtregister
Wire.write (0x0E);
// Määra vahemik +/- 2g
Wire.write (0x00);
// Peata I2C edastamine
Wire.endTransmission ();
viivitus (300);
}
tühine tsükkel ()
{
allkirjastamata int andmed [7];
// Taotle 7 baiti andmeid
Wire.requestFrom (Addr, 7);
// Loe 7 baiti andmeid
// staus, xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb
kui (Wire.available () == 7)
{
andmed [0] = Wire.read ();
andmed [1] = Wire.read ();
andmed [2] = Wire.read ();
andmed [3] = Wire.read ();
andmed [4] = Wire.read ();
andmed [5] = Wire.read ();
andmed [6] = Wire.read ();
}
// Teisendage andmed 12-bitisteks
int xAccl = ((andmed [1] * 256) + andmed [2]) / 16;
kui (xAccl> 2047)
{
xAccl -= 4096;
}
int yAccl = ((andmed [3] * 256) + andmed [4]) / 16;
kui (yAccl> 2047)
{
yAccl -= 4096;
}
int zAccl = ((andmed [5] * 256) + andmed [6]) / 16;
kui (zAccl> 2047)
{
zAccl -= 4096;
}
// Andmete väljastamine jadamonitorile
Serial.print ("Kiirendus X-teljel:");
Serial.println (xAccl);
Serial.print ("Kiirendus Y-teljel:");
Serial.println (yAccl);
Serial.print ("Kiirendus Z-teljel:");
Serial.println (zAccl);
viivitus (500);
}
4. samm: rakendused:
MMA8452Q-l on mitmesuguseid rakendusi, sealhulgas E-kompassirakendusi, staatilise orientatsiooni tuvastamist, mis hõlmab portree/maastikku, üles/alla, vasakule/paremale, tagumise/esiseisundi tuvastamist, sülearvutit, e-lugerit ning sülearvuti trumli ja vabalangemise tuvastamist, reaalajas orienteerumise tuvastamine, sealhulgas virtuaalne reaalsus ja mängude 3D kasutaja positsiooni tagasiside, reaalajas toimuva tegevuse analüüs, nagu sammulugeja sammude loendamine, vabalangemise languse tuvastamine kõvakettale, surnud GPS-i varundamine ja palju muud.
Soovitan:
Arduino kiirendusmõõturi õpetus: Laevasilla juhtimine servomootori abil: 5 sammu

Arduino kiirendusmõõturi õpetus: Laevasilla juhtimine servomootori abil: Kiirendusmõõturi andurid on nüüd enamikus meie nutitelefonides, et anda neile laia valikut kasutusvõimalusi, mida kasutame iga päev, isegi teadmata, et selle eest vastutab kiirendusmõõtur. Üks neist võimalustest on juhtimisseade
Kiirendusmõõturi CubeSat õpetus: 6 sammu

CubeSati kiirendusmõõturi õpetus: kuubik on kosmosetööstuse miniatuursete satelliitide tüüp, mis koosneb 10x10x10 cm kuupmeetri kordajatest ja mille mass ei ületa 1,33 kilogrammi ühiku kohta. Kuubikud võimaldavad kosmosesse saata suurel hulgal satelliite
Arduino Nano ja Visuino: teisendage kiirendus kiirendusmõõturi ja güroskoobi MPU6050 I2C anduri nurgaks: 8 sammu (piltidega)

Arduino Nano ja Visuino: teisendage kiirendus kiirendusnurgaks kiirendusmõõturilt ja güroskoobilt MPU6050 I2C andur: mõni aeg tagasi postitasin õpetuse selle kohta, kuidas saate MPU9250 kiirendusmõõturi, güroskoobi ja kompassianduri ühendada Arduino Nanoga ja programmeerida selle Visuinoga, et saata pakettandmeid ja kuvada see ulatus ja visuaalsed instrumendid. Kiirendusmõõtur saadab X, Y
Arduino Nano: kiirendusmõõturi güroskoobi kompass MPU9250 I2C andur koos Visuinoga: 11 sammu

Arduino Nano: kiirendusmõõturi güroskoobi kompass MPU9250 I2C sensor Visuinoga: MPU9250 on üks kõige arenenumaid kombineeritud kiirendusmõõturi, güroskoobi ja kompassi andureid, mis praegu saadaval on. Neil on palju täiustatud funktsioone, sealhulgas madalpääsfiltreerimine, liikumistuvastus ja isegi programmeeritav spetsialiseeritud protsessor
Nurga mõõtmine güroskoobi, kiirendusmõõturi ja Arduino abil: 5 sammu

Nurga mõõtmine, kasutades güroskoopi, kiirendusmõõturit ja Arduino: Seade on ligikaudne prototüüp sellest, millest saab lõpuks isetasakaalu robot, see on aukude teine osa (lugege kiirendusmõõturit ja kontrollige mootorit enese tasakaalustamiseks). Esimese osa, kus on ainult güroskoop, leiate siit. Sel juhul