Satura rādītājs:

Raspberry Pi MMA8452Q 3 asu 12 bitu/8 bitu digitālā akselerometra Java apmācība: 4 soļi
Raspberry Pi MMA8452Q 3 asu 12 bitu/8 bitu digitālā akselerometra Java apmācība: 4 soļi
Anonim
Image
Image

MMA8452Q ir gudrs, mazjaudas, trīs asu, kapacitatīvs, mikromehāniski apstrādāts akselerometrs ar 12 bitu izšķirtspēju. Elastīgas lietotāja programmējamas opcijas tiek nodrošinātas ar akselerometrā iebūvēto funkciju palīdzību, kuras var konfigurēt ar divām pārtraukšanas tapām. Tam ir lietotāja atlasītas pilnas skalas ± 2g/± 4g/± 8g ar augstfrekvences filtra filtrētiem datiem, kā arī reāllaikā pieejami nefiltrēti dati. Šeit ir tā demonstrācija ar aveņu pi, izmantojot java kodu.

1. solis: kas jums nepieciešams..

Ko tev vajag..!!
Ko tev vajag..!!

1. Aveņu Pi

2. MMA8452Q

3. I²C kabelis

4. I²C vairogs Raspberry Pi

5. Ethernet kabelis

2. darbība. Savienojumi:

Savienojumi
Savienojumi
Savienojumi
Savienojumi
Savienojumi
Savienojumi
Savienojumi
Savienojumi

Paņemiet I2C vairogu aveņu pi un viegli piespiediet to pa aveņu pi gpio tapām.

Pēc tam pievienojiet I2C kabeļa vienu galu MMA8452Q sensoram un otru galu I2C vairogam.

Pievienojiet arī Ethernet kabeli pie pi vai varat izmantot WiFi moduli.

Savienojumi ir parādīti attēlā iepriekš.

3. darbība: kods:

Kods
Kods

MMA8452Q Java kodu var lejupielādēt no mūsu GitHub repozitorija- Dcube Store

Šeit ir saite uz to pašu:

github.com/DcubeTechVentures/MMA8452Q

Mēs esam izmantojuši pi4j bibliotēku Java kodam, soļi pi4j instalēšanai aveņu pi ir aprakstīti šeit:

pi4j.com/install.html

Varat arī nokopēt kodu no šejienes, tas ir norādīts šādi:

// Izplatīts ar brīvās gribas licenci.

// Izmantojiet to jebkurā veidā, bez peļņas vai bez maksas, ja tas iekļaujas saistīto darbu licencēs.

// MMA8452Q

// Šis kods ir paredzēts darbam ar MMA8452Q_I2CS I2C mini moduli, kas pieejams Dcube veikalā.

importēt com.pi4j.io.i2c. I2CBus;

importēt com.pi4j.io.i2c. I2CDevice;

importēt com.pi4j.io.i2c. I2CFactory;

importēt java.io. IOException;

publiskā klase MMA8452Q

{

public static void main (String args ) metieni Izņēmums

{

// Izveidot I2C kopni

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

// Iegūt I2C ierīci, MMA8452Q I2C adrese ir 0x1C (28)

I2CDierīces ierīce = bus.getDevice (0x1C);

// Sūtīt gaidīšanas režīma komandu

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

// Sūtīt aktīvu komandu

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

// Iestatiet diapazonu līdz +/- 2g

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

Vītne.miega (500);

// Nolasīt 7 baitus datu no adreses 0x00 (0)

// Statuss, X msb, X lsb, Y msb, Y lsb, Z msb, Z lsb

baits dati = jauns baits [7];

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

// Konvertēt vērtības

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

ja (xAccl> 2047)

{

xAccl = xAccl - 4096;

}

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

ja (yAccl> 2047)

{

yAccl = yAccl - 4096;

}

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

ja (zAccl> 2047)

{

zAccl = zAccl - 4096;

}

// Izvadiet datus ekrānā

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

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

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

}

}

4. darbība. Lietojumprogrammas:

MMA8452Q ir dažādas lietojumprogrammas, kas ietver E-kompasa lietojumprogrammas, statiskās orientācijas noteikšanu, kas ietver portreta/ainavas, augšup/lejup, pa kreisi/pa labi, aizmugures/priekšējās pozīcijas identifikāciju, piezīmjdatoru, e-lasītāju un klēpjdatora veļas un brīvā kritiena noteikšanu, reālā laikā orientācijas noteikšana, ieskaitot virtuālo realitāti un spēļu 3D lietotāja atrašanās vietas atgriezenisko saiti, reāllaika darbību analīze, piemēram, soļu skaitīšanas soļu skaitīšana, brīvā kritiena noteikšana HDD, mirušo aprēķinu GPS dublēšana un daudz kas cits.

Ieteicams: