Мазмұны:

Raspberry Pi MMA8452Q 3 осьтік 12 биттік/8 биттік сандық акселерометр Java оқулығы: 4 қадам
Raspberry Pi MMA8452Q 3 осьтік 12 биттік/8 биттік сандық акселерометр Java оқулығы: 4 қадам

Бейне: Raspberry Pi MMA8452Q 3 осьтік 12 биттік/8 биттік сандық акселерометр Java оқулығы: 4 қадам

Бейне: Raspberry Pi MMA8452Q 3 осьтік 12 биттік/8 биттік сандық акселерометр Java оқулығы: 4 қадам
Бейне: SKR 1.4 - Definitive User Guide 2024, Қараша
Anonim
Image
Image

MMA8452Q-ақылды, қуаты аз, үш осі бар, сыйымдылығы 12 микротехникалық акселерометр, ажыратымдылығы 12 бит. Қолданбалы бағдарламаланатын икемді опциялар акселерометрге ендірілген функциялардың көмегімен қамтамасыз етілген, олар екі үзу түйреуішіне теңшеледі. Онда ± 2g/± 4g/± 8g пайдаланушы таңдауға болатын толық шкаласы бар, жоғары сүзгіден өткен сүзілген деректер, сонымен қатар нақты уақытта қол жетімді сүзгіленбеген деректер бар. Міне, оның java кодын қолданатын таңқурай пи көмегімен көрсетуі.

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

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

1. Raspberry Pi

2. MMA8452Q

3. I²C кабелі

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

5. Ethernet кабелі

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

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

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

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

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

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

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

Код
Код

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

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

github.com/DcubeTechVentures/MMA8452Q

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

pi4j.com/install.html

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

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

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

// MMA8452Q

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

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 ) Ерекшеліктерді шығарады

{

// I2C шинасын жасаңыз

I2CBus шинасы = I2CFactory.getInstance (I2CBus. BUS_1);

// I2C құрылғысын алыңыз, MMA8452Q I2C мекенжайы - 0x1C (28)

I2CDevice құрылғысы = bus.getDevice (0x1C);

// Күту пәрменін жіберіңіз

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

// Белсенді пәрменді жіберу

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

// Ауқымды +/- 2g дейін орнатыңыз

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, деректер, 0, 7);

// Мәндерді түрлендіру

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 осі: %d %n», xAccl);

System.out.printf («Y-осі: %d %n», yAccl);

System.out.printf («Z-осі: %d %n», zAccl);

}

}

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

MMA8452Q әр түрлі қосымшаларға ие, оған электронды компас қосымшалары, портрет/пейзаж, жоғары/төмен, солға/оңға, артқа/алдыңғы позиция идентификаторы, ноутбук, электронды оқырман, ноутбуктің құлдырауы мен құлауды анықтау кіреді. бағдарларды анықтау, оның ішінде виртуалды шындық пен ойынның 3D пайдаланушылардың позициясы туралы кері байланыс, қадамдық қадамдарды санау, HDD үшін құлаудың түсуін анықтау, GPS резервтік көшірмесі және тағы басқалар сияқты нақты уақыттағы белсенділікті талдау.

Ұсынылған: