Բովանդակություն:

Raspberry Pi - ADXL345 3 -Axis Accelerometer Java ձեռնարկ. 4 քայլ
Raspberry Pi - ADXL345 3 -Axis Accelerometer Java ձեռնարկ. 4 քայլ

Video: Raspberry Pi - ADXL345 3 -Axis Accelerometer Java ձեռնարկ. 4 քայլ

Video: Raspberry Pi - ADXL345 3 -Axis Accelerometer Java ձեռնարկ. 4 քայլ
Video: Input Shaper with a Pi Pico - Klipper Tips 2024, Նոյեմբեր
Anonim
Image
Image

ADXL345- ը փոքր, բարակ, ծայրահեղ ցածր, 3 առանցքի արագացուցիչ է ՝ բարձր լուծաչափով (13 բիթ) չափմամբ մինչև ± 16 գ: Թվային ելքային տվյալները ձևաչափվում են որպես 16-բիթ երկակի լրացում և հասանելի են I2 C թվային ինտերֆեյսի միջոցով: Չափում է թեքության զգայարանների ծանրության ստատիկ արագացումը, ինչպես նաև շարժման կամ հարվածի հետևանքով առաջացած դինամիկ արագացումը: Դրա բարձր լուծաչափը (3.9 մգ/LSB) թույլ է տալիս չափել թեքության փոփոխությունները 1.0 ° -ից պակաս: Ահա այն ցուցադրում է ազնվամորու pi- ով `օգտագործելով java կոդ:

Քայլ 1: Այն, ինչ ձեզ հարկավոր է..

Այն, ինչ ձեզ պետք է.. !!
Այն, ինչ ձեզ պետք է.. !!

1. Ազնվամորի Պի

2. ADXL345

3. I²C մալուխ

4. I²C Shield ազնվամորի Pi- ի համար

5. Ethernet մալուխ

Քայլ 2: Միացումներ

Միացումներ
Միացումներ
Միացումներ
Միացումներ
Միացումներ
Միացումներ
Միացումներ
Միացումներ

Վերցրեք I2C վահան ազնվամորու pi- ի համար և նրբորեն մղեք այն ազնվամորի pi- ի gpio կապանքների վրա:

Այնուհետև I2C մալուխի մի ծայրը միացրեք ADXL345 սենսորին, իսկ մյուս ծայրը ՝ I2C վահանին:

Միացրեք Ethernet մալուխը pi- ին կամ կարող եք օգտագործել WiFi մոդուլ:

Կապերը ցուցադրվում են վերևի նկարում:

Քայլ 3: Կոդ

Կոդ
Կոդ

ADXL345- ի համար Java կոդը կարելի է ներբեռնել մեր GitHub պահոցից- Dcube Store

Ահա նույնի հղումը.

github.com/DcubeTechVentures/ADXL345

Մենք օգտագործել ենք pi4j գրադարանը java կոդի համար, ազնվամորի pi- ի վրա pi4j տեղադրելու քայլերը նկարագրված են այստեղ.

pi4j.com/install.html

Այստեղից կարող եք նաև պատճենել կոդը, այն տրվում է հետևյալ կերպ.

// Տարածված է ազատ կամքի լիցենզիայով:

// Օգտագործեք այն ինչպես ցանկանում եք, շահույթ կամ անվճար, պայմանով, որ այն տեղավորվում է դրա հետ կապված աշխատանքների լիցենզիաներում:

// ADXL345

// Այս ծածկագիրը նախատեսված է Dcube Store- ում առկա ADXL345_I2CS I2C մինի մոդուլի հետ աշխատելու համար:

ներմուծել com.pi4j.io.i2c. I2CBus;

ներմուծել com.pi4j.io.i2c. I2CD սարք;

ներմուծել com.pi4j.io.i2c. I2CFactory;

ներմուծում java.io. IOException;

հանրային դաս ADXL345

{

public static void main (String args ) նետում է Բացառություն

{

// Ստեղծել I2C ավտոբուս

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

// Ստացեք I2C սարք, սարքի I2C հասցեն ՝ 0x53 (83)

I2CDevice սարք = Bus.getDevice (0x53);

// Ընտրեք թողունակության մակարդակի գրանցամատյան

// Նորմալ ռեժիմ, ելքային տվյալների արագություն = 100 Հց

device.write (0x2C, (բայթ) 0x0A);

// Ընտրեք Power control register

// Ավտոմատ քունն անջատել

device.write (0x2D, (բայթ) 0x08);

// Ընտրեք Տվյալների ձևաչափի գրանցամատյան

// Ինքնաթեստը անջատված է, 4-լարային ինտերֆեյս, Ամբողջական լուծաչափ, միջակայք = +/- 2 գ

device.write (0x31, (բայթ) 0x08);

Thread.sleep (500);

// Կարդացեք տվյալների 6 բայթ

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

բայթ տվյալներ = նոր բայթ [6];

տվյալներ [0] = (բայթ) սարք. կարդալ (0x32);

տվյալներ [1] = (բայթ) սարք. կարդալ (0x33);

տվյալներ [2] = (բայթ) սարք. կարդալ (0x34);

տվյալներ [3] = (բայթ) սարք. կարդալ (0x35);

տվյալներ [4] = (բայթ) սարք. կարդալ (0x36);

տվյալներ [5] = (բայթ) սարք. կարդալ (0x37);

// Տվյալները փոխակերպեք 10 բիթ

int xAccl = ((տվյալները [1] & 0x03) * 256 + (տվյալները [0] & 0xFF));

եթե (xAccl> 511)

{

xAccl -= 1024;

}

int yAccl = ((տվյալները [3] & 0x03) * 256 + (տվյալները [2] & 0xFF));

եթե (yAccl> 511)

{

yAccl -= 1024;

}

int zAccl = ((տվյալները [5] & 0x03) * 256 + (տվյալները [4] & 0xFF));

եթե (zAccl> 511)

{

zAccl -= 1024;

}

// Ելքի տվյալները էկրանին

System.out.printf ("Արագացում X- առանցքում. %D %n", xAccl);

System.out.printf ("Արագացում Y- առանցքում. %D %n", yAccl);

System.out.printf ("Արագացում Z- առանցքում. %D %n", zAccl);

}

}

Քայլ 4: Դիմումներ

ADXL345- ը փոքր, բարակ, ծայրահեղ ցածր հզորության, 3 առանցքի արագացուցիչ է, որը կարող է օգտագործվել հեռախոսների, բժշկական սարքավորումների և այլնի մեջ: Դրա կիրառումը ներառում է նաև խաղային և մատնանշող սարքեր, արդյունաբերական գործիքներ, անհատական նավիգացիոն սարքեր և կոշտ սկավառակի (HDD) պաշտպանություն:

Խորհուրդ ենք տալիս: