Turinys:

„Raspberry Pi“- ADXL345 3 ašių akcelerometras „Java“pamoka: 4 žingsniai
„Raspberry Pi“- ADXL345 3 ašių akcelerometras „Java“pamoka: 4 žingsniai

Video: „Raspberry Pi“- ADXL345 3 ašių akcelerometras „Java“pamoka: 4 žingsniai

Video: „Raspberry Pi“- ADXL345 3 ašių akcelerometras „Java“pamoka: 4 žingsniai
Video: I2C ADXL345 with Beaglebone black 2024, Lapkritis
Anonim
Image
Image

„ADXL345“yra mažas, plonas, itin mažos galios 3 ašių akselerometras su didelės skiriamosios gebos (13 bitų) matavimu iki ± 16 g. Skaitmeniniai išvesties duomenys yra suformatuoti kaip 16 bitų du papildymai ir yra prieinami per I2 C skaitmeninę sąsają. Jis matuoja statinį gravitacijos pagreitį pasvirimo jutiklyje, taip pat dinaminį pagreitį, atsirandantį dėl judesio ar smūgio. Didelė skiriamoji geba (3,9 mg/LSB) leidžia matuoti nuolydžio pokyčius, mažesnius nei 1,0 °. Štai demonstracija su aviečių pi naudojant „Java“kodą.

1 žingsnis: ko jums reikia..

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

1. Avietė Pi

2. ADXL345

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 ADXL345 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

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

Čia yra nuoroda į tą patį:

github.com/DcubeTechVentures/ADXL345

„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.

// ADXL345

// Šis kodas skirtas dirbti su „ADCL345_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šoji klasė ADXL345

{

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

{

// Sukurti I2C magistralę

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

// Gauti I2C įrenginį, įrenginio I2C adresas yra 0x53 (83)

I2CDevice device = Bus.getDevice (0x53);

// Pasirinkite Bandwidth rate register

// Normalus režimas, Išvesties duomenų perdavimo sparta = 100 Hz

device.write (0x2C, (baitas) 0x0A);

// Pasirinkite galios valdymo registrą

// Automatinio miego išjungimas

device.write (0x2D, (baitas) 0x08);

// Pasirinkite Duomenų formatų registras

// Savęs testavimas išjungtas, 4 laidų sąsaja, visa raiška, diapazonas = +/- 2g

device.write (0x31, (baitas) 0x08);

Siūlai.miegoti (500);

// Perskaitykite 6 baitus duomenų

// xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb

baitas duomenys = naujas baitas [6];

duomenys [0] = (baitas) device.read (0x32);

duomenys [1] = (baitas) device.read (0x33);

duomenys [2] = (baitas) device.read (0x34);

duomenys [3] = (baitas) device.read (0x35);

duomenys [4] = (baitas) device.read (0x36);

duomenys [5] = (baitas) device.read (0x37);

// Konvertuokite duomenis į 10 bitų

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

jei (xAccl> 511)

{

xAccl -= 1024;

}

int yAccl = ((duomenys [3] ir 0x03) * 256 + (duomenys [2] ir 0xFF));

jei (yAccl> 511)

{

yAccl -= 1024;

}

int zAccl = ((duomenys [5] ir 0x03) * 256 + (duomenys [4] ir 0xFF));

jei (zAccl> 511)

{

zAccl -= 1024;

}

// Išvesti duomenis į ekraną

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

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

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

}

}

4 žingsnis: programos:

ADXL345 yra mažas, plonas, itin mažos galios 3 ašių akselerometras, kurį galima naudoti telefonuose, medicinos prietaisuose ir pan. Jo taikymas taip pat apima žaidimų ir rodymo prietaisus, pramoninius prietaisus, asmeninius navigacijos įrenginius ir standžiojo disko (HDD) apsaugą.

Rekomenduojamas: