Turinys:

Raspberry Pi MMA8452Q 3 ašių 12 bitų/8 bitų skaitmeninis pagreičio matuoklis „Java“pamoka: 4 žingsniai
Raspberry Pi MMA8452Q 3 ašių 12 bitų/8 bitų skaitmeninis pagreičio matuoklis „Java“pamoka: 4 žingsniai

Video: Raspberry Pi MMA8452Q 3 ašių 12 bitų/8 bitų skaitmeninis pagreičio matuoklis „Java“pamoka: 4 žingsniai

Video: Raspberry Pi MMA8452Q 3 ašių 12 bitų/8 bitų skaitmeninis pagreičio matuoklis „Java“pamoka: 4 žingsniai
Video: Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Python Tutorial 2024, Liepa
Anonim
Image
Image

„MMA8452Q“yra protingas, mažos galios, trijų ašių, talpinis, mikroprocesorinis akselerometras, turintis 12 bitų skiriamąją gebą. Lanksčios vartotojo programuojamos parinktys pateikiamos naudojant pagreičio matuoklio funkcijas, kurias galima sukonfigūruoti dviem pertraukimo kaiščiais. Jame yra vartotojo pasirinktos visos ± 2 g/± 4 g/± 8 g skalės su aukšto dažnio filtro filtruotais duomenimis, taip pat nefiltruoti duomenys, pasiekiami realiuoju laiku. Čia yra jo demonstravimas su aviečių pi naudojant „Java“kodą.

1 žingsnis: ko jums reikia..

Ko tau reikia..!!
Ko tau reikia..!!

1. Avietė Pi

2. MMA8452Q

3. I²C kabelis

4. „I²C Shield“, skirtas „Raspberry Pi“

5. Ethernet kabelis

2 žingsnis: jungtys:

Sujungimai
Sujungimai
Sujungimai
Sujungimai
Sujungimai
Sujungimai
Sujungimai
Sujungimai

Paimkite aviečių pi I2C skydą ir švelniai stumkite jį virš aviečių pi gpio kaiščių.

Tada vieną I2C kabelio galą prijunkite prie MMA8452Q jutiklio, o kitą - prie I2C skydo.

Taip pat prijunkite Ethernet kabelį prie pi arba galite naudoti „WiFi“modulį.

Sujungimai parodyti aukščiau esančiame paveikslėlyje.

3 žingsnis: kodas:

Kodas
Kodas

„MMA8452Q“„Java“kodą galima atsisiųsti iš mūsų „GitHub“saugyklos- „Dcube Store“

Čia yra nuoroda į tą patį:

github.com/DcubeTechVentures/MMA8452Q

„Java“kodui naudojome „pi4j“biblioteką, čia aprašyti veiksmai, kaip įdiegti „pi4j“į aviečių pi:

pi4j.com/install.html

Taip pat galite nukopijuoti kodą iš čia, jis pateikiamas taip:

// Platinama su laisvos valios licencija.

// Naudokite bet kokiu būdu, pelningai ar nemokamai, jei jis atitinka susijusių darbų licencijas.

// MMA8452Q

// Šis kodas skirtas dirbti su „MMA8452Q_I2CS I2C Mini“moduliu, kurį galima įsigyti „Dcube Store“.

importuoti com.pi4j.io.i2c. I2CBus;

importuoti com.pi4j.io.i2c. I2CDevice;

importuoti com.pi4j.io.i2c. I2CFactory;

importuoti java.io. IOException;

viešosios klasės MMA8452Q

{

public static void main (String args ) metimai Išimtis

{

// Sukurti I2C magistralę

I2CBus magistralė = I2CFactory.getInstance (I2CBus. BUS_1);

// Gauti I2C įrenginį, MMA8452Q I2C adresas yra 0x1C (28)

I2CDĮrenginio įrenginys = autobusas.getDevice (0x1C);

// Siųsti laukimo režimo komandą

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

// Siųsti aktyvią komandą

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

// Nustatykite diapazoną iki +/- 2g

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

Siūlai.miegoti (500);

// Skaityti 7 baitus duomenų iš adreso 0x00 (0)

// Būsena, X msb, X lsb, Y msb, Y lsb, Z msb, Z lsb

baitas duomenys = naujas baitas [7];

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

// Konvertuoti reikšmes

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

jei (xAccl> 2047)

{

xAccl = xAccl - 4096;

}

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

jei (yAccl> 2047)

{

yAccl = yAccl - 4096;

}

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

jei (zAccl> 2047)

{

zAccl = zAccl - 4096;

}

// Išvesti duomenis į ekraną

System.out.printf ("X ašis: %d %n", xAccl);

System.out.printf ("Y ašis: %d %n", yAccl);

System.out.printf ("Z ašis: %d %n", zAccl);

}

}

4 žingsnis: programos:

„MMA8452Q“turi įvairias programas, įskaitant „E-kompaso“programas, statinės orientacijos aptikimą, apimantį portreto/kraštovaizdžio, aukštyn/žemyn, kairės/dešinės, galinės/priekinės padėties atpažinimą, nešiojamąjį kompiuterį, el. orientacijos aptikimas, įskaitant virtualios realybės ir žaidimo 3D vartotojo padėties grįžtamąjį ryšį, veiklos analizė realiuoju laiku, pvz., žingsniamatio žingsnių skaičiavimas, laisvojo kritimo aptikimas HDD, negyvos sistemos GPS atsarginė kopija ir daug daugiau.

Rekomenduojamas: