Serial.println(value, OCT);

Serial.println(value, BIN);

Дополнительно можно вывести значения с датчика температуры, который мы рассматривали в предыдущей главе.

2.9 Подключаем гироскоп, компас и акселерометр

С помощью шины I2C можно подключать различные устройства, например многочисленные датчики. Для примера можно рассмотреть плату “Grove - IMU 10DOF”.

Плата работает по той же шине I2C и подключается точно так же, как и дисплей из предыдущей главы, 4 проводами. На плате находятся датчик MPU-9250, содержащий гироскоп, акселерометр и компас, и цифровой барометр BMP280.

Подключение платы точно такое же, как на картинке с дисплеем из предыдущей главы. Сам обмен данных с датчиками достаточно сложен, но готовые библиотеки для Arduino уже существуют, и их весьма просто использовать.

Чтобы получить данные с датчика MPU-9250, нужно скачать библиотеку с сайта https://github.com/Snowda/MPU9250 (выбрать Download - zip) и распаковать ее в папку Документы\Arduino\libraries. Сам код чтения данных с датчика и их вывода в последовательный порт весьма прост.

#include "Wire.h"

#include "I2Cdev.h"

#include "MPU9250.h"

MPU9250 accelgyro;

int index = 0;

void setup() {

// Запуск шины I2C

Wire.begin();

// Инициализация порта

Serial.begin(115200);

// Инициализация датчика

accelgyro.initialize();

// Проверка подключения

Serial.println("Testing device connections...");

Serial.println(accelgyro.testConnection() ? "MPU9250 connected" : "MPU9250 failed");

}

void loop() {

// Чтение данных

int16_t ax, ay, az, gx, gy, gz, mx, my, mz;

accelgyro.getMotion9(&ax, &ay, &az, &gx, &gy, &gz, &mx, &my, &mz);

// Получение ускорения или вращения (опционально)

//accelgyro.getAcceleration(&ax, &ay, &az);

//accelgyro.getRotation(&gx, &gy, &gz);

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату