Съдържание:
- Стъпка 1: Преглед на BMG160:
- Стъпка 2: Какво ви трябва..
- Стъпка 3: Свързване на хардуера:
- Стъпка 4: Код на частици за измерване на триосен жироскоп:
- Стъпка 5: Приложения:
Видео: Свързване на 3-осен сензор за жироскоп BMG160 с частици: 5 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:52
В днешния свят повече от половината младежи и деца обичат игрите и всички, които я обичат, очаровани от техническите аспекти на игрите, знаят значението на усещането за движение в тази област. Ние също бяхме изумени от едно и също нещо и само за да го представим на дъските, мислехме да работим върху сензор за жироскоп, който може да измери ъгловата скорост на всеки обект. И така, сензорът, който взехме, за да се справим със задачата, е BMG160. BMG160 е 16-битов, цифров, триосен, жироскопен сензор, който може да измерва ъгловата скорост в три перпендикулярни размери на помещението.
В този урок ще демонстрираме работата на BMG160 с частичен фотон.
Хардуерът, който ще ви е необходим за тази цел, е следният:
1. BMG160
2. Фотон на частици
3. I2C кабел
4. I2C щит за частичен фотон
Стъпка 1: Преглед на BMG160:
На първо място бихме искали да ви запознаем с основните характеристики на сензорния модул BMG160 и комуникационния протокол, по който работи.
BMG160 е основно 16-битов, цифров, триосен, жироскопен сензор, който може да измерва ъгловите скорости. Той е в състояние да изчислява ъгловите скорости в три перпендикулярни размери на помещението, оста x, y и z и да осигурява съответните изходни сигнали. Той може да комуникира с малиновата платка pi, използвайки комуникационния протокол I2C. Този конкретен модул е проектиран да отговаря на изискванията за потребителски приложения, както и за промишлени цели.
Комуникационният протокол, по който работи сензорът, е I2C. I2C означава междуинтегрална схема. Това е комуникационен протокол, в който комуникацията се осъществява чрез линии SDA (серийни данни) и SCL (сериен часовник). Тя позволява свързване на няколко устройства едновременно. Това е един от най -простите и ефективни комуникационни протоколи.
Стъпка 2: Какво ви трябва..
Материалите, от които се нуждаем за постигане на целта ни, включват следните хардуерни компоненти:
1. BMG160
2. Фотон от частици
3. I2C кабел
4. I2C щит за частичен фотон
Стъпка 3: Свързване на хардуера:
Разделът за хардуерно свързване основно обяснява необходимите кабелни връзки между сензора и частицата. Осигуряването на правилни връзки е основната необходимост, докато работите върху всяка система за желания изход. И така, необходимите връзки са както следва:
BMG160 ще работи над I2C. Ето примерната електрическа схема, демонстрираща как да свържете всеки интерфейс на сензора.
Извън кутията, дъската е конфигурирана за I2C интерфейс, като такава препоръчваме да използвате тази връзка, ако иначе не сте агностици.
Всичко, от което се нуждаете, са четири проводника! Изискват се само четири връзки Vcc, Gnd, SCL и SDA щифтове и те са свързани с помощта на I2C кабел.
Тези връзки са показани на снимките по -горе.
Стъпка 4: Код на частици за измерване на триосен жироскоп:
Нека започнем с кода на частиците сега.
Докато използваме сензорния модул с arduino, ние включваме библиотеката application.h и spark_wiring_i2c.h. Библиотеката "application.h" и spark_wiring_i2c.h съдържа функциите, които улесняват i2c комуникацията между сензора и частицата.
Целият код на частиците е даден по -долу за удобство на потребителя:
#включва
#включва
// BMG160 I2C адресът е 0x68 (104)
#define Addr 0x68
int xGyro = 0, yGyro = 0, zGyro = 0;
void setup ()
{
// Задаване на променлива
Particle.variable ("i2cdevice", "BMG160");
Particle.variable ("xGyro", xGyro);
Particle.variable ("yGyro", yGyro);
Particle.variable ("zGyro", zGyro);
// Инициализира I2C комуникацията като MASTER
Wire.begin ();
// Инициализиране на серийна комуникация
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);
// Изберете регистър на данни
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);
// Конвертиране на данните
xGyro = ((данни [1] * 256) + данни [0]);
ако (xGyro> 32767)
{
xGyro -= 65536;
}
yGyro = ((данни [3] * 256) + данни [2]);
ако (yGyro> 32767)
{
yGyro -= 65536;
}
zGyro = ((данни [5] * 256) + данни [4]);
ако (zGyro> 32767)
{
zGyro -= 65536;
}
// Извеждане на данни към таблото за управление
Particle.publish ("X-ос на въртене:", String (xGyro));
Particle.publish ("Y-ос на въртене:", String (yGyro));
Particle.publish ("Z-ос на въртене:", String (zGyro));
забавяне (1000);
}
Стъпка 5: Приложения:
BMG160 има разнообразни приложения в устройства като мобилни телефони, устройства за интерфейс на човешка машина. Този сензорен модул е проектиран да отговаря на изискванията за потребителски приложения като стабилизация на изображението (DSC и телефон с камера), игри и посочващи устройства. Използва се и в системи, които изискват разпознаване на жестове, и в системите, използвани при навигация на закрито.
Препоръчано:
Stone Lcd + сензор за жироскоп за ускорение: 5 стъпки
Stone Lcd +ускорител сензор за жироскоп: Този документ ще ви научи как да използвате STM32 MCU +MPU6050 акселерометър жироскоп сензор +STONE STVC070WT дисплей за сериен порт за DEMO.STVC070WT е серийният дисплей на нашата компания, разработката му е проста, лесна за използване , можете да отидете в
Свързващ сензор, SPS-30, сензор за частици с Arduino Duemilanove, използващ I2C режим: 5 стъпки
Свързване на Sensirion, SPS-30, сензор за частици с Arduino Duemilanove Използване на I2C режим: Когато разглеждах свързването на сензори SPS30, осъзнах, че повечето източници са за Raspberry Pi, но не толкова за Arduino. Прекарвам малко време, за да накарам сензора да работи с Arduino и реших да публикувам моя опит тук, за да може
Ръководство за свързване на PLSD: Свързване към телевизори на Apple чрез AirPlay [неофициално]: 10 стъпки
Ръководство за свързване на PLSD: Свързване към Apple TV чрез AirPlay [Неофициално]: Следното ръководство е предоставено, за да илюстрира процеса на свързване към Apple TV към конферентна зала чрез AirPlay. Този неофициален ресурс е предоставен с любезното съдействие на администрацията, персонала и упълномощените гости на местния училищен район Perkins
Свързване на Arduino с ултразвуков сензор и безконтактен температурен сензор: 8 стъпки
Arduino взаимодействие с ултразвуков сензор и безконтактен температурен сензор: В днешно време производителите, разработчиците предпочитат Arduino за бързо развитие на прототипирането на проекти. Arduino е електронна платформа с отворен код, базирана на лесен за използване хардуер и софтуер. Arduino има много добра потребителска общност. В този проект
Правилно свързване на светодиоди от серия срещу паралелно свързване: 6 стъпки
Правилно свързване на светодиоди от серия срещу паралелна връзка: В тази инструкция говорим за светодиоди - светодиоди и как можем да ги свържем, ако имаме няколко блока. Това е един урок, който бих искал да знам от самото начало, защото когато започнах да се занимавам с електронни схеми, изградих няколко