Агуулгын хүснэгт:

Raspberry Pi - ADXL345 3 тэнхлэгт акселерометр Java заавар: 4 алхам
Raspberry Pi - ADXL345 3 тэнхлэгт акселерометр Java заавар: 4 алхам

Видео: Raspberry Pi - ADXL345 3 тэнхлэгт акселерометр Java заавар: 4 алхам

Видео: Raspberry Pi - ADXL345 3 тэнхлэгт акселерометр Java заавар: 4 алхам
Видео: Raspberry Pi Accelerometer using the ADXL345 2024, Долдугаар сарын
Anonim
Image
Image

ADXL345 нь жижиг, нимгэн, хэт өндөр хүч чадалтай, 3 тэнхлэг бүхий хурдасгуур нь өндөр нарийвчлалтай (13 бит) хэмжигдэхүүнтэй бөгөөд ± 16 г хүртэл байдаг. Дижитал гаралтын өгөгдлийг 16 битийн хоёр нэмэлт хэлбэрээр форматласан бөгөөд I2 C дижитал интерфэйсээр дамжуулан авах боломжтой. Энэ нь хазайлтыг мэдэрч буй таталцлын статик хурдатгал, түүнчлэн хөдөлгөөн эсвэл цочролын үр дүнд бий болсон динамик хурдатгалыг хэмждэг. Түүний өндөр нарийвчлал (3.9 мг/LSB) нь хазайлтын өөрчлөлтийг 1.0 хэмээс бага хэмжих боломжийг олгодог. Энэ бол java кодыг ашиглан бөөрөлзгөнө pi -тэй хийсэн жагсаал юм.

Алхам 1: Танд хэрэгтэй зүйл..

Чамд юу хэрэгтэй вэ..!!
Чамд юу хэрэгтэй вэ..!!

1. Raspberry Pi

2. ADXL345

3. I²C кабель

4. Raspberry Pi -ийн I²C бамбай

5. Ethernet кабель

Алхам 2: Холболтууд:

Холболтууд
Холболтууд
Холболтууд
Холболтууд
Холболтууд
Холболтууд
Холболтууд
Холболтууд

Бөөрөлзгөнө pi -д зориулсан I2C бамбай аваад бөөрөлзгөнө pi -ийн gpio тээглүүрээр зөөлөн дарна уу.

Дараа нь I2C кабелийн нэг үзүүрийг ADXL345 мэдрэгч, нөгөө үзүүрийг I2C бамбай руу холбоно уу.

Мөн Ethernet кабелийг pi руу холбоно уу, эсвэл WiFi модулийг ашиглаж болно.

Холболтыг дээрх зураг дээр харуулав.

Алхам 3: Код:

Код
Код

ADXL345-ийн java кодыг манай GitHub репозитороос татаж авах боломжтой- Dcube Store

Үүнтэй ижил холбоос энд байна:

github.com/DcubeTechVentures/ADXL345

Бид java кодын хувьд pi4j номын санг ашигласан бөгөөд бөөрөлзгөнө pi дээр pi4j суулгах алхамуудыг энд тайлбарласан болно.

pi4j.com/install.html

Та мөн кодыг эндээс хуулж болно, үүнийг дараах байдлаар өгсөн болно.

// Хүсэл зоригийн лицензээр тараасан.

// Үүнийг холбогдох бүтээлүүдийнхээ лицензтэй нийцсэн тохиолдолд ашиг, үнэгүй ашиглах боломжтой.

// ADXL345

// Энэ код нь Dcube Store -д байдаг ADXL345_I2CS I2C Mini модультай ажиллахад зориулагдсан болно.

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 ) Exception хаядаг

{

// I2C автобус үүсгэх

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

// I2C төхөөрөмж авах, төхөөрөмжийн I2C хаяг нь 0x53 (83)

I2CDevice төхөөрөмж = Bus.getDevice (0x53);

// Bandwidth rate register -ийг сонгоно уу

// Энгийн горим, Гаралтын өгөгдлийн хурд = 100 Гц

device.write (0x2C, (байт) 0x0A);

// Цахилгаан хяналтын бүртгэлийг сонгоно уу

// Автомат унтахыг идэвхгүй болгох

device.write (0x2D, (байт) 0x08);

// Өгөгдлийн форматын бүртгэлийг сонгоно уу

// Өөрийгөө шалгахыг идэвхгүй болгосон, 4 утастай интерфэйс, Бүрэн нягтралтай, хүрээ = +/- 2g

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-Axis дахь хурдатгал: %d %n", xAccl);

System.out.printf ("Y тэнхлэг дэх хурдатгал: %d %n", yAccl);

System.out.printf ("Z-Axis дахь хурдатгал: %d %n", zAccl);

}

}

Алхам 4: Өргөдөл:

ADXL345 нь гар утас, эмнэлгийн багаж хэрэгсэл гэх мэт жижиг, нимгэн, хэт давтамжтай, 3 тэнхлэгтэй хурдатгал хэмжигч бөгөөд түүний хэрэглээ нь тоглоом, заагч төхөөрөмж, үйлдвэрлэлийн багаж хэрэгсэл, хувийн навигацийн төхөөрөмж, хатуу дискний хамгаалалтыг агуулдаг.

Зөвлөмж болгож буй: