Мазмуну:
Video: Raspberry Pi - ADXL345 3 -Axis Accelerometer Java үйрөткүчү: 4 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:38
ADXL345-кичине, ичке, ультра кубаттуу, 3 октук акселерометр, ± 16 г чейин жогорку чечилиште (13-бит) өлчөө. Санарип чыгуучу маалыматтар 16-бит эки катары толукталган жана I2 C санариптик интерфейси аркылуу жеткиликтүү. Бул эңкейүүнү сезүүчү колдонмолордо тартылуу күчүнүн статикалык ылдамдатуусун, ошондой эле кыймылдан же шоктон келип чыккан динамикалык ылдамданууну өлчөйт. Анын жогорку токтому (3,9 мг/LSB) жантайыштын өзгөрүүсүн 1,0 ° дан аз өлчөөгө мүмкүндүк берет. Бул жерде Java кодун колдонуп, малина пи менен демонстрация.
1 -кадам: Сизге эмне керек..
1. Raspberry Pi
2. ADXL345
3. I²C кабели
4. Raspberry Pi үчүн I²C Shield
5. Ethernet кабели
2 -кадам: Байланыштар:
Малина пи үчүн I2C калканчын алыңыз жана аны акырын малинанын пи gpio казыктарынын үстүнө басыңыз.
Андан кийин I2C кабелинин бир учун ADXL345 сенсоруна, экинчи башын I2C калканчына туташтырыңыз.
Ethernet кабелин пи -ге туташтырыңыз же WiFi модулун колдонсоңуз болот.
Байланыштар жогорудагы сүрөттө көрсөтүлгөн.
3 -кадам: Код:
ADXL345 үчүн java кодун биздин GitHub репозиторийинен көчүрүп алсаңыз болот- Dcube Store
Мына ушуга шилтеме:
github.com/DcubeTechVentures/ADXL345
Биз Java коду үчүн pi4j китепканасын колдондук, малина piге pi4j орнотуу кадамдары бул жерде сүрөттөлгөн:
pi4j.com/install.html
Сиз бул жерден кодду көчүрүп алсаңыз болот, ал төмөнкүчө берилген:
// Эркин лицензия менен таратылган.
// Аны каалагандай колдон, пайда же бекер, эгер ал ага байланыштуу чыгармаларынын лицензиясына туура келсе.
// ADXL345
// Бул код Dcube дүкөнүндө бар ADXL345_I2CS I2C Mini модулу менен иштөө үчүн иштелип чыккан.
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 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);
data [1] = (байт) device.read (0x33);
data [2] = (байт) device.read (0x34);
data [3] = (байт) device.read (0x35);
data [4] = (байт) device.read (0x36);
data [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-октук акселерометр, аны телефондордо, медициналык приборлордо ж.
Сунушталууда:
Raspberry Pi - TMD26721 Инфракызыл санариптик жакындык детектору Java үйрөткүчү: 4 кадам
Raspberry Pi-TMD26721 Infrared Digital Proximity Detector Java үйрөткүчү: TMD26721-бул инфрақызыл санариптик жакындык детектору, ал толугу менен жакындыкты аныктоо тутумун жана санариптик интерфейстин логикасын бир 8 пиндүү беттик монтаждоо модулунда камтыйт. тактык. А про
Raspberry Pi - TSL45315 Ambient Light Sensor Java үйрөткүчү: 4 кадам
Raspberry Pi - TSL45315 Ambient Light Sensor Java үйрөткүчү: TSL45315 - бул санариптик жарыктын сенсору. Бул жарыктын ар кандай шарттарында адамдын көзүнүн реакциясын болжолдойт. Түзмөктөрдүн үч тандалма интеграция убактысы бар жана I2C автобус интерфейси аркылуу 16-бит люкс түз чыгууну камсыз кылат. Түзмөк ко
Raspberry Pi MCP9803 Температура Сенсорунун Java Үйрөткүчү: 4 кадам
Raspberry Pi MCP9803 Температура Сенсорунун Java Үйрөткүчү: MCP9803-2 зымдуу жогорку тактыктагы температура сенсору. Алар температураны сезүү колдонмолорун жеңилдетүүчү колдонуучу программалоочу реестрлер менен камтылган. Бул сенсор өтө татаал көп зоналык температура мониторинг системасы үчүн ылайыктуу. Бул жерде
Raspberry Pi MCP9805 Температура сенсорунун Java үйрөткүчү: 4 кадам
Raspberry Pi MCP9805 Температура Сенсорунун Java Үйрөткүчү: MCP9805 - бул эс тутумунун санарип температура сенсору. Бул температураны сезүү колдонмолору үчүн ийкемдүүлүктү камсыз кылган колдонуучу программалоочу реестрлери менен коштолгон. Бул сенсор мобилдик платформанын эстутум модулуна киргизүү үчүн иштелип чыккан
Raspberry Pi - TMP100 Температура сенсорунун Java үйрөткүчү: 4 кадам
Raspberry Pi-TMP100 Температура Сенсорунун Java Үйрөткүчү: TMP100 Жогорку Тактык, Төмөн Кубат, Санарип Температура Сенсор I2C MINI модулу. TMP100 узартылган температураны өлчөө үчүн идеалдуу. Бул түзмөк калибрлөөнү же тышкы компоненттин сигналын кондициялоону талап кылбастан ± 1 ° C тактыкты сунуштайт. Ал