Съдържание:
Видео: Raspberry Pi - ADXL345 3 -осен акселерометър Java Урок: 4 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:50
ADXL345 е малък, тънък, 3-осен акселерометър с ултра ниска мощност с измерване с висока разделителна способност (13 бита) до ± 16 g. Цифровите изходни данни са форматирани като 16-битови двойки, допълващи се и са достъпни чрез I2 C цифров интерфейс. Той измерва статичното ускорение на гравитацията в приложенията за отчитане на наклона, както и динамичното ускорение в резултат на движение или удар. Неговата висока разделителна способност (3,9 mg/LSB) позволява измерване на промените в наклона под 1,0 °. Ето демонстрацията с малинов пи с помощта на java код.
Стъпка 1: Какво ви трябва..
1. Малина Пи
2. ADXL345
3. Кабел I²C
4. I²C щит за Raspberry Pi
5. Ethernet кабел
Стъпка 2: Връзки:
Вземете I2C щит за малиново пи и внимателно го натиснете върху щифтовете на gpio на малиново пи.
След това свържете единия край на I2C кабела към сензора ADXL345, а другия край към I2C щита.
Свържете също Ethernet кабела към pi или можете да използвате WiFi модул.
Връзките са показани на снимката по -горе.
Стъпка 3: Код:
Java кодът за ADXL345 може да бъде изтеглен от нашето хранилище на GitHub- Dcube Store
Ето линк за същото:
github.com/DcubeTechVentures/ADXL345
Използвахме библиотека pi4j за java код, стъпките за инсталиране на pi4j на raspberry pi са описани тук:
pi4j.com/install.html
Можете също да копирате кода от тук, той е даден, както следва:
// Разпространява се с лиценз за свободна воля.
// Използвайте го по какъвто начин искате, печалба или безплатно, при условие че се вписва в лицензите на свързаните с него произведения.
// ADXL345
// Този код е проектиран да работи с ADXL345_I2CS I2C мини модул, наличен в Dcube Store.
внос 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 ) хвърля Exception
{
// Създаване на I2C шина
I2CBus шина = I2CFactory.getInstance (I2CBus. BUS_1);
// Вземете I2C устройство, I2C адресът на устройството е 0x53 (83)
I2CDevice устройство = Bus.getDevice (0x53);
// Изберете регистър на честотната лента
// Нормален режим, Скорост на изходните данни = 100 Hz
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] = (байт) device.read (0x32);
данни [1] = (байт) device.read (0x33);
данни [2] = (байт) device.read (0x34);
данни [3] = (байт) device.read (0x35);
данни [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 ("Ускорение по ос X: %d %n", xAccl);
System.out.printf ("Ускорение по оста Y: %d %n", yAccl);
System.out.printf ("Ускорение по Z-ос: %d %n", zAccl);
}
}
Стъпка 4: Приложения:
ADXL345 е малък, тънък, 3-осен акселерометър с ултра ниска мощност, който може да се използва в телефони, медицински инструменти и др. Приложението му включва също игри и посочващи устройства, промишлени инструменти, лични навигационни устройства и защита на твърдия диск (HDD).
Препоръчано:
Arduino Nano-MMA8452Q 3-ос 12-битов/8-битов цифров акселерометър Урок: 4 стъпки
Arduino Nano-MMA8452Q 3-ос 12-битов/8-битов цифров акселерометър Урок: MMA8452Q е интелигентен, триосен, капацитивен, микромашинен акселерометър с 12 бита резолюция. Гъвкави програмируеми от потребителя опции се предлагат с помощта на вградени функции в акселерометъра, конфигурируеми за две прекъсвания
Raspberry Pi MMA8452Q 3-ос 12-битов/8-битов цифров акселерометър Python Урок: 4 стъпки
Raspberry Pi MMA8452Q 3-осен 12-битов/8-битов цифров акселерометър Python Урок: MMA8452Q е интелигентен, триосен, капацитивен, микромашинен акселерометър с 12 бита резолюция. Гъвкави програмируеми от потребителя опции се предлагат с помощта на вградени функции в акселерометъра, конфигурируеми за две прекъсвания
Урок за акселерометър Arduino: Управление на корабен мост с помощта на серво мотор: 5 стъпки
Урок за акселерометър Arduino: Управление на корабен мост с помощта на серво мотор: Сензорите за акселерометър вече са в повечето от нашите смартфони, за да им предоставят голямо разнообразие от възможности за използване и възможности, които използваме ежедневно, без дори да знаем, че отговорен за това е акселерометърът. Една от тези възможности е контролът
Урок за акселерометър CubeSat: 6 стъпки
Урок за акселерометър CubeSat: Кубето е вид миниатюризиран сателит за космически изследвания, който се състои от кратни на 10x10x10 cm кубични единици и маса не повече от 1,33 килограма на единица. Cubesats позволяват изпращането на голямо количество сателити в космоса и
Raspberry Pi MMA8452Q 3-ос 12-битов/8-битов цифров акселерометър Java Урок: 4 стъпки
Raspberry Pi MMA8452Q 3-осен 12-битов/8-битов цифров акселерометър Java Урок: MMA8452Q е интелигентен, триосен, капацитивен, микромашинен акселерометър с ниска мощност с 12 бита резолюция. Гъвкави програмируеми от потребителя опции се предлагат с помощта на вградени функции в акселерометъра, конфигурируеми за две прекъсвания