Мазмуну:

Raspberry Pi MMA8452Q 3-Axis 12-бит/8-бит Digital Accelerometer Java үйрөткүчү: 4 кадам
Raspberry Pi MMA8452Q 3-Axis 12-бит/8-бит Digital Accelerometer Java үйрөткүчү: 4 кадам

Video: Raspberry Pi MMA8452Q 3-Axis 12-бит/8-бит Digital Accelerometer Java үйрөткүчү: 4 кадам

Video: Raspberry Pi MMA8452Q 3-Axis 12-бит/8-бит Digital Accelerometer Java үйрөткүчү: 4 кадам
Video: Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Java Tutorial 2024, Ноябрь
Anonim
Image
Image

MMA8452Q-бул акылдуу, аз кубаттуу, үч огу, сыйымдуулугу, 12 биттик токтому бар микромахиндүү акселерометр. Колдонуучунун ийкемдүү программалоочу параметрлери акселерометрдеги камтылган функциялардын жардамы менен камсыз кылынат, эки үзгүлтүктүү казыкка конфигурацияланат. Бул колдонуучу тандап ала турган толук масштабга ээ ± 2g/± 4g/± 8g жогорку өткөргүч чыпкаланган маалыматтар менен, ошондой эле реалдуу убакытта чыпкаланбаган маалыматтар. Бул жерде java кодун колдонуп, малина pi менен анын көрсөтмөсү.

1 -кадам: Сизге эмне керек..

Сизге эмне керек.. !!
Сизге эмне керек.. !!

1. Raspberry Pi

2. MMA8452Q

3. I²C кабели

4. Raspberry Pi үчүн I²C Shield

5. Ethernet кабели

2 -кадам: Байланыштар:

Байланыштар
Байланыштар
Байланыштар
Байланыштар
Байланыштар
Байланыштар
Байланыштар
Байланыштар

Малина пи үчүн I2C калканчын алыңыз жана аны акырын малинанын пи gpio казыктарынын үстүнө басыңыз.

Андан кийин I2C кабелинин бир учун MMA8452Q сенсоруна, экинчи учун I2C калканчына туташтырыңыз.

Ethernet кабелин пи -ге туташтырыңыз же WiFi модулун колдонсоңуз болот.

Байланыштар жогорудагы сүрөттө көрсөтүлгөн.

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

Код
Код

MMA8452Q үчүн Java кодун биздин GitHub репозиторийинен көчүрүп алсаңыз болот- Dcube Store

Мына ушуга шилтеме:

github.com/DcubeTechVentures/MMA8452Q

Биз Java коду үчүн pi4j китепканасын колдондук, малина piге pi4j орнотуу кадамдары бул жерде сүрөттөлгөн:

pi4j.com/install.html

Сиз бул жерден кодду көчүрүп алсаңыз болот, ал төмөнкүчө берилген:

// Эркин лицензия менен таратылган.

// Аны каалагандай колдон, пайда же бекер, эгер ал ага байланыштуу чыгармаларынын лицензиясына туура келсе.

// MMA8452Q

// Бул код Dcube Storeдо бар MMA8452Q_I2CS I2C Mini Module менен иштөө үчүн иштелип чыккан.

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

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

com.pi4j.io.i2c. I2CFactory импорттоо;

java.io. IOException импорттоо;

коомдук класс MMA8452Q

{

public static void main (String args ) Exception ыргытат

{

// I2C шинасын түзүү

I2CBus автобус = I2CFactory.getInstance (I2CBus. BUS_1);

// I2C түзмөгүн алыңыз, MMA8452Q I2C дареги 0x1C (28)

I2CDevice түзмөгү = bus.getDevice (0x1C);

// Күтүү буйругун жөнөтүү

device.write (0x2A, (байт) 0x00);

// активдүү буйрук жөнөтүү

device.write (0x2A, (байт) 0x01);

// Аралыкты +/- 2гге чейин коюңуз

device.write (0x0E, (байт) 0x00);

Thread.sleep (500);

// 0x00 (0) дарегинен 7 байт маалыматтарды окуу

// Статус, X msb, X lsb, Y msb, Y lsb, Z msb, Z lsb

байт маалымат = жаңы байт [7];

device.read (0x00, data, 0, 7);

// баалуулуктарды Convert

int xAccl = (((маалыматтар [1] & 0xFF) * 256) + (маалыматтар [2] & 0xFF)) / 16;

эгер (xAccl> 2047)

{

xAccl = xAccl - 4096;

}

int yAccl = ((((маалыматтар [3] & 0xFF) * 256) + (маалыматтар [4] & 0xFF)) / 16;

эгер (yAccl> 2047)

{

yAccl = yAccl - 4096;

}

int zAccl = ((((маалыматтар [5] & 0xFF) * 256) + (маалыматтар [6] & 0xFF)) / 16;

эгер (zAccl> 2047)

{

zAccl = zAccl - 4096;

}

// Экранга маалыматтарды чыгаруу

System.out.printf ("X-Axis: %d %n", xAccl);

System.out.printf ("Y-Axis: %d %n", yAccl);

System.out.printf ("Z-огу: %d %n", zAccl);

}

}

4 -кадам: Тиркемелер:

MMA8452Q ар кандай тиркемелерге ээ, анын ичинде E-Compass тиркемелери, Статикалык багытты аныктоо, анын ичинде Портрет/Пейзаж, Өйдө/ылдый, Сол/Оң, Артка/Алдыңкы позицияны аныктоо, Ноутбук, электрондук окурман, жана Ноутбуктар кулап түшүү жана Акысыз түшүү, Реалдуу убакыт багыттоону аныктоо, анын ичинде виртуалдык чындык жана оюн 3D колдонуучунун позициясы боюнча пикирлер, педометрдин кадамын эсептөө сыяктуу реалдуу убакытта анализ, HDD үчүн кулап түшүүнү аныктоо, GPSтин камдык көчүрмөсү жана башкалар.

Сунушталууда: