Мазмұны:
- 1 -қадам: BMG160 шолуы
- 2 -қадам: Сізге не керек..
- 3 -қадам: Жабдықты қосу:
- 4-қадам: 3 осьті гироскоптың бөлшектердің коды:
- 5 -қадам: Өтініштер:
Бейне: BMG160 3 осьті гироскоп сенсорының бөлшектермен байланысы: 5 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:24
Қазіргі әлемде жастар мен балалардың жартысынан көбі ойынға құмар, ал ойынның техникалық аспектілеріне қызығатындардың бәрі осы саладағы қозғалысты сезудің маңыздылығын біледі. Бізді бір нәрсе таң қалдырды және оны тақтаға шығару үшін біз кез келген заттың бұрыштық жиілігін өлшейтін гироскоп сенсорымен жұмыс жасауды ойладық. Мәселен, біз тапсырманы шешуге сенсор - BMG160. BMG160-бұрыштық жиілікті үш перпендикуляр бөлме өлшемінде өлшеуге болатын 16-разрядты, цифрлық, үшсиалды гироскоп сенсоры.
Бұл оқулықта біз BMG160 бөлшектерінің фотонмен жұмыс істеуін көрсеткіміз келеді.
Бұл үшін сізге қажет жабдықтар келесідей:
1. BMG160
2. Бөлшек фотон
3. I2C кабелі
4. Бөлшек фотонға арналған I2C қалқаны
1 -қадам: BMG160 шолуы
Ең алдымен, біз сенсорлық модульдің негізгі мүмкіндіктерімен танысқымыз келеді, ол BMG160 және ол жұмыс істейтін байланыс хаттамасы.
BMG160-бұл негізінен 16 биттік, цифрлық, үштік гироскоп сенсоры, ол бұрыштық жиілікті өлшей алады. Ол бөлменің үш перпендикуляр өлшемінде, x-, y- және z осінде бұрыштық жылдамдықтарды есептеуге және сәйкес шығыс сигналдарын беруге қабілетті. Ол I2C байланыс протоколы арқылы таңқурай pi тақтасымен байланыса алады. Бұл нақты модуль тұтынушылық қосымшаларға қойылатын талаптарды қанағаттандыруға, сондай -ақ өндірістік мақсаттарға арналған.
Сенсор жұмыс істейтін байланыс протоколы I2C болып табылады. I2C интегралды схеманы білдіреді. Бұл байланыс хаттамасы, онда байланыс SDA (сериялық деректер) және SCL (сериялық сағат) желілері арқылы жүзеге асады. Бұл бірнеше құрылғыны бір уақытта қосуға мүмкіндік береді. Бұл қарапайым және тиімді байланыс протоколдарының бірі.
2 -қадам: Сізге не керек..
Мақсатқа жету үшін бізге қажет материалдар келесі аппараттық компоненттерді қамтиды:
1. BMG160
2. Фотондық бөлшектер
3. I2C кабелі
4. Бөлшек фотонға арналған I2C қалқаны
3 -қадам: Жабдықты қосу:
Аппаратты қосу бөлімі негізінен сенсор мен бөлшек арасындағы қажетті сымдық қосылыстарды түсіндіреді. Қажетті шығыс үшін кез келген жүйеде жұмыс істеу кезінде дұрыс қосылуды қамтамасыз ету - бұл негізгі қажеттілік. Сонымен, қажетті байланыстар келесідей:
BMG160 I2C режимінде жұмыс істейді. Датчиктің әр интерфейсін қалай қосуға болатынын көрсететін электр схемасының мысалы.
Қаптамадан тыс тақта I2C интерфейсі үшін конфигурацияланған, сондықтан егер сіз агностикалық болмасаңыз, осы қосылымды пайдалануды ұсынамыз.
Сізге тек төрт сым қажет! Vcc, Gnd, SCL және SDA түйреуіштеріне тек төрт қосылым қажет және олар I2C кабелінің көмегімен қосылған.
Бұл байланыстар жоғарыдағы суреттерде көрсетілген.
4-қадам: 3 осьті гироскоптың бөлшектердің коды:
Енді бөлшектер кодынан бастайық.
Сенсорлық модульді arduino -мен қолданған кезде, біз application.h және spark_wiring_i2c.h кітапханасын қосамыз. «application.h» және spark_wiring_i2c.h кітапханасы сенсор мен бөлшек арасындағы i2c байланысын жеңілдететін функцияларды қамтиды.
Пайдаланушыға ыңғайлы болу үшін бөлшектердің толық коды төменде берілген:
#қосу
#қосу
// BMG160 I2C мекенжайы - 0x68 (104)
#анықтайтын Addr 0x68
int xGyro = 0, yGyro = 0, zGyro = 0;
жарамсыз орнату ()
{
// Айнымалыны орнатыңыз
Particle.variable («i2cdevice», «BMG160»);
Particle.variable («xGyro», xGyro);
Particle.variable («yGyro», yGyro);
Бөлшек.өзгермелі («zGyro», zGyro);
// I2C байланысын MASTER ретінде баптаңыз
Wire.begin ();
// Сериялық байланысты бастау
Serial.begin (9600);
// I2C берілуін бастау
Wire.beginTransmission (Addr);
// Регистр ауқымын таңдаңыз
Wire.write (0x0F);
// Толық масштабты 2000 нүкте/ сек конфигурациялау
Wire.write (0x80);
// I2C берілуін тоқтату
Wire.endTransmission ();
// I2C берілуін бастау
Wire.beginTransmission (Addr);
// Өткізу жолағының регистрін таңдаңыз
Wire.write (0x10);
// Өткізу жиілігін орнату = 200 Гц
Wire.write (0x04);
// I2C берілуін тоқтату
Wire.endTransmission ();
кешіктіру (300);
}
бос цикл ()
{
қол қойылмаған 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 («Айналудың осі:», String (xGyro));
Particle.publish («Айлану осі:», Жол (yGyro));
Particle.publish («Z-айналу осі:», String (zGyro));
кешіктіру (1000);
}
5 -қадам: Өтініштер:
BMG160 ұялы телефондар, адамның машиналық интерфейсі сияқты құрылғыларда әр түрлі қосымшаларға ие. Бұл сенсорлық модуль суретті тұрақтандыру (DSC және камера-телефон), ойын және меңзегіш құрылғылар сияқты тұтынушылардың қосымшаларына қойылатын талаптарды қанағаттандыруға арналған. Ол сонымен қатар ыммен тануды қажет ететін жүйелерде және ішкі навигацияда қолданылатын жүйелерде қолданылады.
Ұсынылған:
BMG160 3 осьті гироскоп сенсорының Arduino Nano көмегімен интерфейсі: 5 қадам
BMG160 3 осьті гироскоп сенсорының Ардуино Наномен байланысы: Қазіргі әлемде жастар мен балалардың жартысынан көбі ойынға құмар, ал ойынның техникалық аспектілеріне қызығатындардың бәрі қозғалысты сезудің маңыздылығын біледі. осы доменде. Бізді бір нәрсе таң қалдырды
Raspberry Pi көмегімен BMG160 3 осьті гироскоп сенсорының интерфейсі: 5 қадам
Raspberry Pi көмегімен BMG160 3 осьті гироскоп сенсорының интерфейсі: Қазіргі әлемде жастар мен балалардың жартысынан көбі ойынға құмар, ал ойынның техникалық аспектілеріне қызығатындардың бәрі қозғалысты сезудің маңыздылығын біледі. осы доменде. Бізді бір нәрсе таң қалдырды
MPU6050-акселерометр+гироскоп сенсорының негізі: 3 қадам
MPU6050-акселерометр+гироскоп сенсорының негіздері: MPU6050-өте пайдалы сенсор. MPU 6050-бұл IMU: инерциялық өлшеу бірлігі (IMU)-бұл дененің белгілі бір күшін, бұрыштық жиілігін, кейде бағдарын өлшейтін және есеп беретін электронды құрылғы. комбинациясын қолдана отырып, дененің
Бөлшектермен жұмыс істейтін ауа сапасының мониторы: 7 қадам
Бөлшектермен жұмыс істейтін ауа сапасының мониторы: Ауа сапасы. Біздің таза ауа аспанда тұрақты тұманға айналған кезде, сіз бұл туралы көбірек ойлайтын шығарсыз. Юк. Сіз бақылай алатын бір нәрсе - үйдегі ауа сапасы. Бұл оқулықта мен сізге ауаны қалай салу керектігін көрсетемін
GY-521 MPU6050 3 осьті үдеткіш гироскоп 6DOF модулінің оқулығы: 4 қадам
GY-521 MPU6050 3 осьтік үдеткіш гироскоп 6DOF модульінің оқулығы: Сипаттама Бұл қарапайым модуль Arduino мен басқа контроллерлерге I2C арқылы қосылу үшін қажет нәрсені қамтиды (Wire Arduino кітапханасын қолданыңыз) және 3 ось-X, Y және Z үшін қозғалысты сезу ақпаратын береді. Акселерометр диапазоны: ± 2, ±