Съдържание:
- Стъпка 1: Изисква се хардуер:
- Стъпка 2: Свързване на хардуера:
- Стъпка 3: Код за измерване на ускорението:
- Стъпка 4: Приложения:
Видео: Измерване на ускорението с помощта на BMA250 и фотон на частици: 4 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:52
BMA250 е малък, тънък, 3-осен акселерометър с ултра ниска мощност с измерване с висока разделителна способност (13 бита) при до ± 16 g. Цифровите изходни данни са форматирани като 16-битови двойки, допълващи се и са достъпни чрез I2C цифров интерфейс. Той измерва статичното ускорение на гравитацията в приложенията за отчитане на наклона, както и динамичното ускорение в резултат на движение или удар. Неговата висока разделителна способност (3,9 mg/LSB) позволява измерване на промените в наклона под 1,0 °.
В този урок ще измерим ускорението във всичките три перпендикулярни оси, използвайки BMA250 и фотон на частици.
Стъпка 1: Изисква се хардуер:
Материалите, от които се нуждаем за постигане на целта ни, включват следните хардуерни компоненти:
1. BMA250
2. Фотон от частици
3. I2C кабел
4. I2C щит за частичен фотон
Стъпка 2: Свързване на хардуера:
Разделът за свързване на хардуера основно обяснява необходимите кабелни връзки между сензора и фотона на частиците. Осигуряването на правилни връзки е основната необходимост, докато работите върху всяка система за желания изход. И така, необходимите връзки са както следва:
BMA250 ще работи над I2C. Ето примерната електрическа схема, демонстрираща как да свържете всеки интерфейс на сензора.
Извън кутията, дъската е конфигурирана за I2C интерфейс, като такава препоръчваме да използвате тази връзка, ако иначе не сте агностици. Всичко, от което се нуждаете, са четири проводника!
Изискват се само четири връзки Vcc, Gnd, SCL и SDA щифтове и те са свързани с помощта на I2C кабел.
Тези връзки са показани на снимките по -горе.
Стъпка 3: Код за измерване на ускорението:
Нека започнем с кода на частиците сега.
Докато използваме сензорния модул с arduino, ние включваме библиотеката application.h и spark_wiring_i2c.h. Библиотеката "application.h" и spark_wiring_i2c.h съдържа функциите, които улесняват i2c комуникацията между сензора и частицата.
Целият код на частиците е даден по -долу за удобство на потребителя:
#включва
#включва
// BMA250 I2C адресът е 0x18 (24)
#define Addr 0x18
int xAccl = 0, yAccl = 0, zAccl = 0;
void setup ()
{
// Задаване на променлива
Particle.variable ("i2cdevice", "BMA250");
Particle.variable ("xAccl", xAccl);
Particle.variable ("yAccl", yAccl);
Particle.variable ("zAccl", zAccl);
// Инициализиране на I2C комуникацията като MASTER
Wire.begin ();
// Инициализира серийна комуникация, задава скорост на предаване = 9600
Serial.begin (9600);
// Стартиране на I2C предаване
Wire.beginTransmission (Addr);
// Избор на регистър за избор на диапазон
Wire.write (0x0F);
// Задайте диапазон +/- 2g
Wire.write (0x03);
// Спиране на I2C предаването
Wire.endTransmission ();
// Стартиране на I2C предаване
Wire.beginTransmission (Addr);
// Изберете регистър на честотната лента
Wire.write (0x10);
// Задайте честотна лента 7,81 Hz
Wire.write (0x08);
// Спиране на I2C предаването
Wire.endTransmission ();
забавяне (300);}
void loop ()
{
беззнакови int данни [0];
// Стартиране на I2C предаване
Wire.beginTransmission (Addr);
// Избор на регистри на данни (0x02 - 0x07)
Wire.write (0x02);
// Спиране на I2C предаването
Wire.endTransmission ();
// Заявка за 6 байта
Wire.requestFrom (Addr, 6);
// Прочетете шестте байта
// xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb
ако (Wire.available () == 6)
{
данни [0] = Wire.read ();
данни [1] = Wire.read ();
данни [2] = Wire.read ();
данни [3] = Wire.read ();
данни [4] = Wire.read ();
данни [5] = Wire.read ();
}
забавяне (300);
// Конвертираме данните в 10 бита
xAccl = ((данни [1] * 256) + (данни [0] & 0xC0)) / 64;
ако (xAccl> 511)
{
xAccl -= 1024;
}
yAccl = ((данни [3] * 256) + (данни [2] & 0xC0)) / 64;
ако (yAccl> 511)
{
yAccl -= 1024;
}
zAccl = ((данни [5] * 256) + (данни [4] & 0xC0)) / 64;
ако (zAccl> 511)
{
zAccl -= 1024;
}
// Извеждане на данни към таблото за управление
Particle.publish ("Ускорение по ос X:", String (xAccl));
забавяне (1000);
Particle.publish ("Ускорение в оста Y:", String (yAccl));
забавяне (1000);
Particle.publish ("Ускорение по Z-ос:", String (zAccl));
забавяне (1000);
}
Функцията Particle.variable () създава променливите за съхраняване на изхода на сензора, а функцията Particle.publish () показва изхода на таблото за управление на сайта.
Изходът на сензора е показан на снимката по -горе за ваша справка.
Стъпка 4: Приложения:
Акселерометрите като BMA250 намират своето приложение най -вече в игрите и превключването на профилите на дисплея. Този сензорен модул се използва и в усъвършенстваната система за управление на захранването за мобилни приложения. BMA250 е триаксиален цифров сензор за ускорение, който е интегриран с интелигентен контролер за прекъсвания, задействан от движение на чипа.
Препоръчано:
Измерване на ускорението с помощта на ADXL345 и частичен фотон: 4 стъпки
Измерване на ускорението с помощта на ADXL345 и частичен фотон: ADXL345 е малък, тънък, 3-осен акселерометър с ултра ниска мощност с измерване с висока разделителна способност (13 бита) до ± 16 g. Цифровите изходни данни са форматирани като 16-битови двойки, допълващи се и са достъпни чрез I2 C цифров интерфейс. Измерва
Измерване на ускорението с помощта на H3LIS331DL и фотон на частици: 4 стъпки
Измерване на ускорението с помощта на H3LIS331DL и частичен фотон: H3LIS331DL, е маломощен високоефективен 3-осен линеен акселерометър, принадлежащ към семейството „нано“, с цифров I²C сериен интерфейс. H3LIS331DL има избираеми от потребителя пълни скали от ± 100g/± 200g/± 400g и е в състояние да измерва ускорения w
Измерване на ускорението с помощта на BMA250 и Arduino Nano: 4 стъпки
Измерване на ускорението с помощта на BMA250 и Arduino Nano: BMA250 е малък, тънък, 3-осен акселерометър с ултра ниска мощност с измерване с висока разделителна способност (13 бита) до ± 16 g. Цифровите изходни данни са форматирани като 16-битови двойки, допълващи се и са достъпни чрез I2C цифров интерфейс. Измерва статичното
Измерване на температурата с помощта на MCP9803 и фотон от частици: 4 стъпки
Измерване на температурата с помощта на MCP9803 и частичен фотон: MCP9803 е 2-жичен температурен сензор с висока точност. Те са въплътени с програмируеми от потребителя регистри, които улесняват приложенията за измерване на температурата. Този сензор е подходящ за много сложна многозонова система за мониторинг на температурата
Измерване на ускорението с помощта на BMA250 и Raspberry Pi: 4 стъпки
Измерване на ускорението с помощта на BMA250 и Raspberry Pi: BMA250 е малък, тънък, 3-осен акселерометър с ултра ниска мощност с измерване с висока разделителна способност (13 бита) до ± 16 g. Цифровите изходни данни са форматирани като 16-битови двойки, допълващи се и са достъпни чрез I2C цифров интерфейс. Измерва статичното