Съдържание:

Свързване на 3-осен сензор за жироскоп BMG160 с Arduino Nano: 5 стъпки
Свързване на 3-осен сензор за жироскоп BMG160 с Arduino Nano: 5 стъпки

Видео: Свързване на 3-осен сензор за жироскоп BMG160 с Arduino Nano: 5 стъпки

Видео: Свързване на 3-осен сензор за жироскоп BMG160 с Arduino Nano: 5 стъпки
Видео: Широкоъгълен Сгъваем Дрон с Видео в Реално Време #05881 | 4Sales.bg 2024, Ноември
Anonim
Image
Image

В днешния свят повече от половината младежи и деца обичат игрите и всички, които я обичат, очаровани от техническите аспекти на игрите, знаят значението на усещането за движение в тази област. Ние също бяхме изумени от едно и също нещо и само за да го представим на дъските, мислехме да работим върху сензор за жироскоп, който може да измери ъгловата скорост на всеки обект. И така, сензорът, който взехме, за да се справим със задачата, е BMG160. BMG160 е 16-битов, цифров, триосен, жироскопен сензор, който може да измерва ъгловата скорост в три перпендикулярни размери на помещението.

В този урок ще демонстрираме работата на BMG160 с Arduino Nano.

Хардуерът, който ще ви е необходим за тази цел, е следният:

1. BMG160

2. Arduino Nano

3. I2C кабел

4. I2C щит за Arduino Nano

Стъпка 1: Преглед на BMG160:

От какво имаш нужда..!!
От какво имаш нужда..!!

На първо място бихме искали да ви запознаем с основните характеристики на сензорния модул BMG160 и комуникационния протокол, по който работи.

BMG160 е основно 16-битов, цифров, триосен, жироскопен сензор, който може да измерва ъгловите скорости. Той е в състояние да изчислява ъгловите скорости в три перпендикулярни размери на помещението, оста x, y и z и да осигурява съответните изходни сигнали. Той може да комуникира с малиновата платка pi, използвайки комуникационния протокол I2C. Този конкретен модул е проектиран да отговаря на изискванията за потребителски приложения, както и за промишлени цели.

Комуникационният протокол, по който работи сензорът, е I2C. I2C означава междуинтегрална схема. Това е комуникационен протокол, в който комуникацията се осъществява чрез линии SDA (серийни данни) и SCL (сериен часовник). Тя позволява свързване на няколко устройства едновременно. Това е един от най -простите и ефективни комуникационни протоколи.

Стъпка 2: Какво ви трябва..

От какво имаш нужда..!!
От какво имаш нужда..!!
От какво имаш нужда..!!
От какво имаш нужда..!!
От какво имаш нужда..!!
От какво имаш нужда..!!

Материалите, от които се нуждаем за постигане на целта ни, включват следните хардуерни компоненти:

1. BMG160

2. Arduino Nano

3. I2C кабел

4. I2C щит за Arduino Nano

Стъпка 3: Свързване на хардуера:

Хардуерно свързване
Хардуерно свързване
Хардуерно свързване
Хардуерно свързване

Разделът за свързване на хардуер основно обяснява необходимите кабелни връзки между сензора и Arduino. Осигуряването на правилни връзки е основната необходимост, докато работите върху всяка система за желания изход. И така, необходимите връзки са както следва:

BMG160 ще работи над I2C. Ето примерната електрическа схема, демонстрираща как да свържете всеки интерфейс на сензора.

Извън кутията, дъската е конфигурирана за I2C интерфейс, като такава препоръчваме да използвате тази връзка, ако иначе не сте агностици.

Всичко, от което се нуждаете, са четири проводника! Изискват се само четири връзки Vcc, Gnd, SCL и SDA щифтове и те са свързани с помощта на I2C кабел.

Тези връзки са показани на снимките по -горе.

Стъпка 4: Измерване на триосен жироскоп Arduino код:

Код на Arduino за измерване на триосен жироскоп
Код на Arduino за измерване на триосен жироскоп
Код на Arduino за измерване на триосен жироскоп
Код на Arduino за измерване на триосен жироскоп

Нека започнем с кода arduino сега.

Докато използваме сензорния модул с arduino, ние включваме библиотеката Wire.h. Библиотеката "Wire" съдържа функциите, които улесняват i2c комуникацията между сензора и платката arduino.

Целият код на arduino е даден по -долу за удобство на потребителя:

#include // BMG160 I2C адресът е 0x68 (104)

#define Addr 0x68

void setup ()

{

// Инициализира I2C комуникацията като MASTER

Wire.begin ();

// Инициализира серийна комуникация, зададена скорост на предаване = 9600

Serial.begin (9600);

// Стартиране на I2C предаване

Wire.beginTransmission (Addr);

// Изберете регистър на обхвата

Wire.write (0x0F);

// Конфигуриране на пълен мащаб 2000 dps

Wire.write (0x80);

// Спиране на I2C предаването

Wire.endTransmission ();

// Стартиране на I2C предаване

Wire.beginTransmission (Addr);

// Изберете регистър на честотната лента

Wire.write (0x10);

// Задайте честотна лента = 200 Hz

Wire.write (0x04);

// Спиране на I2C предаването

Wire.endTransmission ();

забавяне (300);

}

void loop ()

{

беззнакови int данни [6];

// Стартиране на I2C предаване

Wire.beginTransmission (Addr);

// Изберете регистър на данни от Gyrometer

Wire.write (0x02);

// Спиране на I2C предаването

Wire.endTransmission ();

// Изискване на 6 байта данни

Wire.requestFrom (Addr, 6);

// Прочетете 6 байта данни

// xGyro lsb, xGyro msb, yGyro lsb, yGyro msb, zGyro lsb, zGyro msb

ако (Wire.available () == 6)

{

данни [0] = Wire.read ();

данни [1] = Wire.read ();

данни [2] = Wire.read ();

данни [3] = Wire.read ();

данни [4] = Wire.read ();

данни [5] = Wire.read ();

}

забавяне (300);

// Конвертиране на данните

int xGyro = ((данни [1] * 256) + данни [0]);

int yGyro = ((данни [3] * 256) + данни [2]);

int zGyro = ((данни [5] * 256) + данни [4]);

// Извеждане на данни към серийния монитор

Serial.print ("X-ос на въртене:");

Serial.println (xGyro); Serial.print ("Y-ос на въртене:");

Serial.println (yGyro); Serial.print ("Z-ос на въртене:");

Serial.println (zGyro);

забавяне (500);

}

Стъпка 5: Приложения:

Приложения
Приложения

BMG160 има разнообразни приложения в устройства като мобилни телефони, устройства за интерфейс на човешка машина. Този сензорен модул е проектиран да отговаря на изискванията за потребителски приложения като стабилизация на изображението (DSC и телефон с камера), игри и посочващи устройства. Използва се и в системи, които изискват разпознаване на жестове, и в системите, използвани при навигация на закрито.

Препоръчано: