Съдържание:
- Стъпка 1: Преглед на BMG160:
- Стъпка 2: Какво ви трябва..
- Стъпка 3: Свързване на хардуера:
- Стъпка 4: Измерване на триосен жироскоп Arduino код:
- Стъпка 5: Приложения:
Видео: Свързване на 3-осен сензор за жироскоп BMG160 с Arduino Nano: 5 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:50
В днешния свят повече от половината младежи и деца обичат игрите и всички, които я обичат, очаровани от техническите аспекти на игрите, знаят значението на усещането за движение в тази област. Ние също бяхме изумени от едно и също нещо и само за да го представим на дъските, мислехме да работим върху сензор за жироскоп, който може да измери ъгловата скорост на всеки обект. И така, сензорът, който взехме, за да се справим със задачата, е 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, ние включваме библиотеката 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 и телефон с камера), игри и посочващи устройства. Използва се и в системи, които изискват разпознаване на жестове, и в системите, използвани при навигация на закрито.
Препоръчано:
Ръководство за свързване на PLSD: Свързване към телевизори на Apple чрез AirPlay [неофициално]: 10 стъпки
Ръководство за свързване на PLSD: Свързване към Apple TV чрез AirPlay [Неофициално]: Следното ръководство е предоставено, за да илюстрира процеса на свързване към Apple TV към конферентна зала чрез AirPlay. Този неофициален ресурс е предоставен с любезното съдействие на администрацията, персонала и упълномощените гости на местния училищен район Perkins
Свързване на Arduino с ултразвуков сензор и безконтактен температурен сензор: 8 стъпки
Arduino взаимодействие с ултразвуков сензор и безконтактен температурен сензор: В днешно време производителите, разработчиците предпочитат Arduino за бързо развитие на прототипирането на проекти. Arduino е електронна платформа с отворен код, базирана на лесен за използване хардуер и софтуер. Arduino има много добра потребителска общност. В този проект
Правилно свързване на светодиоди от серия срещу паралелно свързване: 6 стъпки
Правилно свързване на светодиоди от серия срещу паралелна връзка: В тази инструкция говорим за светодиоди - светодиоди и как можем да ги свържем, ако имаме няколко блока. Това е един урок, който бих искал да знам от самото начало, защото когато започнах да се занимавам с електронни схеми, изградих няколко
Arduino Nano и Visuino: Преобразуване на ускорението в ъгъл от акселерометър и жироскоп MPU6050 I2C сензор: 8 стъпки (със снимки)
Arduino Nano и Visuino: Преобразуване на ускорението в ъгъл от акселерометър и жироскоп MPU6050 I2C сензор: Преди време публикувах урок за това как можете да свържете MPU9250 акселерометър, жироскоп и компас сензор към Arduino Nano и да го програмирате с Visuino за изпращане на пакетни данни и дисплей на обхват и визуални инструменти. Акселерометърът изпраща X, Y
Arduino Nano: Акселерометър Жироскоп Компас MPU9250 I2C сензор с Visuino: 11 стъпки
Arduino Nano: Акселерометър Жироскоп Компас MPU9250 I2C сензор с Visuino: MPU9250 е един от най -модерните комбинирани сензори за акселерометър, жироскоп и компас, налични в момента. Те имат много разширени функции, включително нискочестотно филтриране, откриване на движение и дори програмируем специализиран процесор