Sisukord:

Raspberry Pi MMA8452Q 3-teljeline 12-bitine/8-bitine digitaalne kiirendusmõõturi Java õpetus: 4 sammu
Raspberry Pi MMA8452Q 3-teljeline 12-bitine/8-bitine digitaalne kiirendusmõõturi Java õpetus: 4 sammu

Video: Raspberry Pi MMA8452Q 3-teljeline 12-bitine/8-bitine digitaalne kiirendusmõõturi Java õpetus: 4 sammu

Video: Raspberry Pi MMA8452Q 3-teljeline 12-bitine/8-bitine digitaalne kiirendusmõõturi Java õpetus: 4 sammu
Video: Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Java Tutorial 2024, Juuli
Anonim
Image
Image

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 vaarika pi abil, kasutades java koodi.

Samm: mida vajate..

Mida sa vajad..!!
Mida sa vajad..!!

1. Vaarika Pi

2. MMA8452Q

3. I²C kaabel

4. I²C kilp Raspberry Pi jaoks

5. Etherneti kaabel

Samm: ühendused:

Ühendused
Ühendused
Ühendused
Ühendused
Ühendused
Ühendused
Ühendused
Ühendused

Võtke vaarika pi jaoks I2C -kilp ja lükake see õrnalt üle vaarika pi gpio -tihvtide.

Seejärel ühendage I2C kaabli üks ots MMA8452Q anduriga ja teine ots I2C varjestusega.

Ühendage ka Etherneti kaabel pi -ga või võite kasutada WiFi -moodulit.

Ühendused on näidatud ülaltoodud pildil.

3. samm: kood:

Kood
Kood

MMA8452Q Java-koodi saab alla laadida meie GitHubi hoidlast- Dcube Store

Siin on link samale:

github.com/DcubeTechVentures/MMA8452Q

Oleme Java -koodi jaoks kasutanud pi4j -raamatukogu, pi4j -i vaarika pi -le installimise samme kirjeldatakse siin:

pi4j.com/install.html

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 Dcube Store'is saadaval oleva MMA8452Q_I2CS I2C minimooduliga.

import com.pi4j.io.i2c. I2CBus;

import com.pi4j.io.i2c. I2CDevice;

import com.pi4j.io.i2c. I2CFactory;

importige java.io. IOException;

avalik klass MMA8452Q

{

public static void main (String args ) viskab Erand

{

// Loo I2C siin

I2CBus siin = I2CFactory.getInstance (I2CBus. BUS_1);

// Hangi I2C seade, MMA8452Q I2C aadress on 0x1C (28)

I2CDseadme seade = buss.getDevice (0x1C);

// Ooterežiimi käsu saatmine

device.write (0x2A, (bait) 0x00);

// Saada aktiivne käsk

device.write (0x2A, (bait) 0x01);

// Määra vahemik kuni +/- 2g

device.write (0x0E, (bait) 0x00);

Niit.unenägu (500);

// Loe 7 baiti andmeid aadressilt 0x00 (0)

// Olek, X msb, X lsb, Y msb, Y lsb, Z msb, Z lsb

bait andmed = uus bait [7];

device.read (0x00, andmed, 0, 7);

// Teisenda väärtused

int xAccl = (((andmed [1] ja 0xFF) * 256) + (andmed [2] ja 0xFF)) / 16;

kui (xAccl> 2047)

{

xAccl = xAccl - 4096;

}

int yAccl = (((andmed [3] ja 0xFF) * 256) + (andmed [4] ja 0xFF)) / 16;

kui (yAccl> 2047)

{

yAccl = yAccl - 4096;

}

int zAccl = (((andmed [5] ja 0xFF) * 256) + (andmed [6] ja 0xFF)) / 16;

kui (zAccl> 2047)

{

zAccl = zAccl - 4096;

}

// Andmete väljastamine ekraanile

System.out.printf ("X-telg: %d %n", xAccl);

System.out.printf ("Y-telg: %d %n", yAccl);

System.out.printf ("Z-telg: %d %n", zAccl);

}

}

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: