Tartalomjegyzék:

Raspberry Pi - ADXL345 3 tengelyes gyorsulásmérő Java oktatóanyag: 4 lépés
Raspberry Pi - ADXL345 3 tengelyes gyorsulásmérő Java oktatóanyag: 4 lépés

Videó: Raspberry Pi - ADXL345 3 tengelyes gyorsulásmérő Java oktatóanyag: 4 lépés

Videó: Raspberry Pi - ADXL345 3 tengelyes gyorsulásmérő Java oktatóanyag: 4 lépés
Videó: Control de modelo Unity3D con acelerómetro 2024, November
Anonim
Image
Image

Az ADXL345 egy kicsi, vékony, rendkívül alacsony teljesítményű, 3 tengelyes gyorsulásmérő, nagy felbontású (13 bites) méréssel, ± 16 g-ig. A digitális kimeneti adatok 16 bites kettes kiegészítésként vannak formázva, és az I2 C digitális interfészen keresztül érhetők el. Méri a gravitáció statikus gyorsulását dőlésérzékelő alkalmazásokban, valamint a mozgásból vagy ütésből eredő dinamikus gyorsulást. Nagy felbontása (3,9 mg/LSB) lehetővé teszi az 1,0 ° alatti dőlésváltozások mérését. Itt a bemutató a málna pi -vel a java kód használatával.

1. lépés: Amire szüksége van..

Amire szükséged van..!!
Amire szükséged van..!!

1. Málna Pi

2. ADXL345

3. I²C kábel

4. I²C pajzs a Raspberry Pi számára

5. Ethernet kábel

2. lépés: Csatlakozások:

Csatlakozások
Csatlakozások
Csatlakozások
Csatlakozások
Csatlakozások
Csatlakozások
Csatlakozások
Csatlakozások

Vegyünk egy I2C pajzsot a málna pi számára, és óvatosan toljuk át a málna pi gpio csapjaira.

Ezután csatlakoztassa az I2C kábel egyik végét az ADXL345 érzékelőhöz, a másik végét pedig az I2C árnyékoláshoz.

Csatlakoztassa az Ethernet kábelt is a pi -hez, vagy használhat WiFi modult.

A csatlakozásokat a fenti kép mutatja.

3. lépés: Kód:

Kód
Kód

Az ADXL345 java kódja letölthető a GitHub lerakatunkból- Dcube Store

Itt a link ugyanerre:

github.com/DcubeTechVentures/ADXL345

A java kódhoz pi4j könyvtárat használtunk, a pi4j málna pi -re történő telepítésének lépéseit itt írjuk le:

pi4j.com/install.html

Innen is másolhatja a kódot, ez a következőképpen van megadva:

// Szabad akaratú licenccel terjesztik.

// Bármilyen módon használhatja, haszonnal vagy ingyen, feltéve, hogy illeszkedik a kapcsolódó művek licenceihez.

// ADXL345

// Ez a kód a Dcube Store -ban elérhető ADXL345_I2CS I2C Mini modullal való együttműködésre készült.

import com.pi4j.io.i2c. I2CBus;

import com.pi4j.io.i2c. I2CDevice;

import com.pi4j.io.i2c. I2CFactory;

import java.io. IOException;

nyilvános osztály ADXL345

{

public static void main (String args ) dobások Kivétel

{

// I2C busz létrehozása

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

// I2C eszköz beszerzése, az eszköz I2C címe 0x53 (83)

I2CDevice device = Bus.getDevice (0x53);

// Válassza ki a sávszélesség -nyilvántartást

// Normál mód, kimeneti adatsebesség = 100 Hz

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

// Válassza ki a Power control register -t

// Automatikus alvás letiltása

device.write (0x2D, (bájt) 0x08);

// Válassza ki az Adatformátum regiszter lehetőséget

// Önteszt letiltva, 4 vezetékes interfész, Teljes felbontás, tartomány = +/- 2g

device.write (0x31, (bájt) 0x08);

Téma.alvás (500);

// 6 bájt adat olvasása

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

bájt adat = új bájt [6];

adatok [0] = (bájt) device.read (0x32);

adatok [1] = (bájt) device.read (0x33);

adatok [2] = (bájt) device.read (0x34);

adatok [3] = (bájt) device.read (0x35);

adatok [4] = (bájt) device.read (0x36);

adatok [5] = (bájt) device.read (0x37);

// Az adatok konvertálása 10 bitesre

int xAccl = (([1] és 0x03) * 256 + ([0] és 0xFF adat));

ha (xAccl> 511)

{

xAccl -= 1024;

}

int yAccl = ((adatok [3] & 0x03) * 256 + (adatok [2] és 0xFF));

ha (yAccl> 511)

{

yAccl -= 1024;

}

int zAccl = ((adatok [5] & 0x03) * 256 + (adatok [4] és 0xFF));

ha (zAccl> 511)

{

zAccl -= 1024;

}

// Adatok megjelenítése a képernyőn

System.out.printf ("Gyorsulás az X-tengelyben: %d %n", xAccl);

System.out.printf ("Gyorsulás az Y tengelyen: %d %n", yAccl);

System.out.printf ("Gyorsulás Z-tengelyben: %d %n", zAccl);

}

}

4. lépés: Alkalmazások:

Az ADXL345 egy kicsi, vékony, rendkívül alacsony teljesítményű, 3 tengelyes gyorsulásmérő, amely kézibeszélőkben, orvosi műszerekben stb. Használható. Alkalmazása magában foglalja a játék- és mutatóeszközöket, az ipari műszereket, a személyi navigációs eszközöket és a merevlemez-meghajtó (HDD) védelmét is.

Ajánlott: