Мазмұны:

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 кодын қолданатын таңқурай пиімен демонстрация.

1 -қадам: Сізге не керек..

Сізге не керек.. !!
Сізге не керек.. !!

1. Raspberry Pi

2. ADXL345

3. I²C кабелі

4. Raspberry Pi үшін I²C қалқаны

5. Ethernet кабелі

2 -қадам: Қосылымдар:

Қосылымдар
Қосылымдар
Қосылымдар
Қосылымдар
Қосылымдар
Қосылымдар
Қосылымдар
Қосылымдар

Таңқурай пи үшін I2C қалқанын алыңыз және оны таңқурай пи gpio түйреуіштерінен ақырын басыңыз.

Содан кейін I2C кабелінің бір ұшын ADXL345 сенсорына, екінші ұшын I2C қалқанына қосыңыз.

Ethernet кабелін pi -ге қосыңыз немесе WiFi модулін қолдана аласыз.

Қосылымдар жоғарыдағы суретте көрсетілген.

3 -қадам: код:

Код
Код

ADXL345 java кодын біздің GitHub репозиторийінен жүктеуге болады- Dcube дүкені

Міне, сол үшін сілтеме:

github.com/DcubeTechVentures/ADXL345

Біз Java коды үшін pi4j кітапханасын қолдандық, таңқурайға pi4j орнату қадамдары осында сипатталған:

pi4j.com/install.html

Сіз кодты осы жерден көшіре аласыз, ол келесі түрде берілген:

// Ерікті лицензиямен таратылды.

// Оны қалаған жолмен пайдаланыңыз немесе тегін, егер ол онымен байланысты жұмыстардың лицензиясына сәйкес келсе.

// ADXL345

// Бұл код Dcube дүкенінде қол жетімді ADXL345_I2CS I2C шағын модулімен жұмыс істеуге арналған.

com.pi4j.io.i2c. I2CBus импорттау;

com.pi4j.io.i2c. I2CDevice импорттау;

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);

// Қуатты басқару регистрін таңдаңыз

// Автоматты ұйқыны өшіру

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];

data [0] = (байт) device.read (0x32);

деректер [1] = (байт) device.read (0x33);

деректер [2] = (байт) device.read (0x34);

data [3] = (байт) device.read (0x35);

data [4] = (байт) device.read (0x36);

деректер [5] = (байт) device.read (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 («Х осінде үдеу: %d %n», xAccl);

System.out.printf («Y осінде үдеу: %d %n», yAccl);

System.out.printf («Z осінде үдеу: %d %n», zAccl);

}

}

4 -қадам: Өтініштер:

ADXL345-бұл шағын, жұқа, ультра қуатты, 3 осьті акселерометр, оны телефон тұтқаларында, медициналық құралдарда қолдануға болады және т.

Ұсынылған: