Оглавление:
- Шаг 1: Требуемое оборудование:
- Шаг 2: Подключение оборудования:
- Шаг 3: Код для измерения ускорения:
- Шаг 4: Приложения:
Видео: Измерение ускорения с использованием BMA250 и фотона частиц: 4 шага
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:51
BMA250 - это небольшой, тонкий, сверхмалопотребляющий 3-осевой акселерометр с высоким разрешением (13 бит) для измерения при нагрузке до ± 16 г. Данные цифрового вывода форматируются как 16-битное дополнение до двоек и доступны через цифровой интерфейс I2C. Он измеряет статическое ускорение свободного падения в приложениях для измерения наклона, а также динамическое ускорение, возникающее в результате движения или удара. Его высокое разрешение (3,9 мг / младший значащий бит) позволяет измерять изменения наклона менее 1,0 °.
В этом уроке мы собираемся измерить ускорение по всем трем перпендикулярным осям с помощью BMA250 и Particle Photon.
Шаг 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 ()
{
// Устанавливаем переменную
Particle.variable («i2cdevice», «BMA250»);
Particle.variable ("xAccl", xAccl);
Particle.variable ("yAccl", yAccl);
Particle.variable ("zAccl", zAccl);
// Инициализируем связь I2C как МАСТЕР
Wire.begin ();
// Инициализируем последовательную связь, устанавливаем скорость передачи = 9600
Serial.begin (9600);
// Запуск передачи I2C
Wire.beginTransmission (адрес);
// Выбираем регистр выбора диапазона
Wire.write (0x0F);
// Устанавливаем диапазон +/- 2g
Wire.write (0x03);
// Остановка передачи I2C
Wire.endTransmission ();
// Запуск передачи I2C
Wire.beginTransmission (адрес);
// Выбираем регистр пропускной способности
Wire.write (0x10);
// Устанавливаем полосу пропускания 7,81 Гц
Wire.write (0x08);
// Остановка передачи I2C
Wire.endTransmission ();
задержка (300);}
пустой цикл ()
{
беззнаковые данные int [0];
// Запуск передачи I2C
Wire.beginTransmission (адрес);
// Выбираем регистры данных (0x02 - 0x07)
Wire.write (0x02);
// Остановка передачи I2C
Wire.endTransmission ();
// Запрос 6 байтов
Wire.requestFrom (Адрес, 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 - это трехосный цифровой датчик ускорения, который объединен с интеллектуальным встроенным контроллером прерываний, запускаемым движением.
Рекомендуемые:
Измерение магнитного поля с использованием HMC5883 и фотона частиц: 4 шага
Измерение магнитного поля с использованием HMC5883 и фотона частиц: HMC5883 - это цифровой компас, разработанный для измерения магнитного поля в слабом поле. Это устройство имеет широкий диапазон магнитного поля +/- 8 Э и выходную частоту 160 Гц. Датчик HMC5883 включает в себя драйверы ремня с автоматическим размагничиванием, отмену смещения и
Измерение ускорения с помощью H3LIS331DL и фотона частиц: 4 шага
Измерение ускорения с использованием H3LIS331DL и Particle Photon: H3LIS331DL - это маломощный высокопроизводительный 3-осевой линейный акселерометр, принадлежащий к семейству «нано», с цифровым последовательным интерфейсом I²C. H3LIS331DL имеет выбираемую пользователем полную шкалу ± 100 г / ± 200 г / ± 400 г и может измерять ускорения w
Измерение ускорения с использованием BMA250 и Arduino Nano: 4 шага
Измерение ускорения с использованием BMA250 и Arduino Nano: BMA250 - это небольшой, тонкий, сверхмалопотребляющий 3-осевой акселерометр с высоким разрешением (13 бит) для измерения при нагрузке до ± 16 g. Цифровые выходные данные форматируются как 16-битное дополнение до двоек и доступны через цифровой интерфейс I2C. Он измеряет статическое электричество
Измерение ускорения с использованием BMA250 и Raspberry Pi: 4 шага
Измерение ускорения с использованием BMA250 и Raspberry Pi: BMA250 - это небольшой, тонкий, сверхмалопотребляющий 3-осевой акселерометр с высоким разрешением (13 бит) для измерения при нагрузке до ± 16 g. Данные цифрового вывода форматируются как 16-битное дополнение до двоек и доступны через цифровой интерфейс I2C. Он измеряет статическое электричество
Измерение температуры с использованием TMP112 и фотона частиц: 4 шага
Измерение температуры с использованием TMP112 и частиц Photon: TMP112 Высокоточный, маломощный цифровой датчик температуры Модуль I2C MINI. TMP112 идеально подходит для расширенного измерения температуры. Это устройство обеспечивает точность ± 0,5 ° C без необходимости калибровки или обработки сигнала от внешних компонентов. I