Мазмуну:
- 1 -кадам: BMG160 Обзор:
- 2 -кадам: Сизге эмне керек..
- 3 -кадам: Аппараттык туташуу:
- 4-кадам: 3-октук гироскопту өлчөө Arduino коду:
- 5 -кадам: Тиркемелер:
Video: 3-октук Гироскоп сенсорунун BMG160 менен Arduino Nano интерфейси: 5 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:38
Бүгүнкү дүйнөдө, жаштардын жана балдардын жарымынан көбү оюндарды жакшы көрүшөт жана оюндун техникалык аспектилерине кызыккандар, бул чөйрөдө кыймыл сезүүнүн маанилүүлүгүн билишет. Бизди дагы ошол эле нерсе таң калтырды жана тактайга алып келүү үчүн, биз кандайдыр бир нерсенин бурчтук ылдамдыгын өлчөй турган гироскоп сенсорунун үстүндө иштөөнү ойлодук. Ошентип, биз тапшырманы чечүү үчүн кабыл алган сенсор BMG160. BMG160-бул 16-биттик, санариптик, үч фазалуу, гироскоптук сенсор, ал бөлмө перпендикулярынын үч өлчөмүндө бурчтук ылдамдыгын өлчөй алат.
Бул окуу куралында биз BMG160тун Arduino Nano менен иштешин көрсөтөбүз.
Бул үчүн сизге керектүү болгон жабдыктар төмөнкүлөр:
1. BMG160
2. Ардуино Нано
3. I2C кабели
4. Arduino Nano үчүн I2C Shield
1 -кадам: BMG160 Обзор:
Биринчиден, биз сизди BMG160 сенсор модулунун негизги функциялары жана ал иштеген байланыш протоколу менен тааныштыргыбыз келет.
BMG160 негизинен бурчтук ылдамдыгын өлчөй турган 16-бит, санарип, үч фазалуу, гироскоп сенсору. Бул бөлмө перпендикулярынын үч өлчөмүндө бурчтук ылдамдыктарды эсептей алат, x-, y- жана z-огу, жана тиешелүү чыгуу сигналдарын камсыздайт. Бул I2C байланыш протоколун колдонуп, малина пи тактасы менен байланыша алат. Бул модуль керектөөчүлөрдүн өтүнмөлөрүнө, ошондой эле өндүрүштүк максаттарга жооп берүү үчүн иштелип чыккан.
Сенсор иштеген байланыш протоколу I2C. I2C интегралдык схеманы билдирет. Бул байланыш протоколу, анда байланыш SDA (сериялык маалыматтар) жана SCL (сериялык саат) линиялары аркылуу ишке ашат. Бул бир эле учурда бир нече түзмөктү туташтырууга мүмкүндүк берет. Бул эң жөнөкөй жана эффективдүү байланыш протоколунун бири.
2 -кадам: Сизге эмне керек..
Максатыбызга жетүү үчүн бизге керектүү материалдар төмөнкү аппараттык компоненттерди камтыйт:
1. BMG160
2. Ардуино Нано
3. I2C кабели
4. Arduino Nano үчүн I2C Shield
3 -кадам: Аппараттык туташуу:
Аппараттык туташуу бөлүмү негизинен сенсор менен Arduino ортосунда талап кылынган зым байланыштарын түшүндүрөт. Туура туташууларды камсыздоо каалаган өндүрүш үчүн кандайдыр бир системада иштеп жатканда негизги зарылчылык болуп саналат. Ошентип, керектүү байланыштар төмөнкүлөр:
BMG160 I2C үстүндө иштейт. Бул жерде сенсордун ар бир интерфейсин кантип зым менен жабуу керектигин көрсөтүүчү зымдардын схемасы келтирилген.
Кутудан тышкары, такта I2C интерфейси үчүн конфигурацияланган, андыктан эгер сиз агностиксиз болсоңуз, анда бул байланышты колдонууну сунуштайбыз.
Сизге болгону төрт зым керек! Vcc, Gnd, SCL жана SDA төөнөгүчтөрүнө төрт гана туташуу керек жана алар I2C кабелинин жардамы менен туташкан.
Бул байланыштар жогорудагы сүрөттөрдө көрсөтүлгөн.
4-кадам: 3-октук гироскопту өлчөө Arduino коду:
Эми arduino коду менен баштайлы.
Arduino менен сенсор модулун колдонуп жатканда, биз Wire.h китепканасын камтыйт. "Wire" китепканасы сенсор менен arduino тактасынын ортосундагы i2c байланышын жеңилдетүүчү функцияларды камтыйт.
Колдонуучунун ыңгайлуулугу үчүн ардуино коду төмөндө келтирилген:
#камтыйт // BMG160 I2C дареги 0x68 (104)
#define Addr 0x68
жараксыз орнотуу ()
{
// I2C байланышын MASTER катары баштаңыз
Wire.begin ();
// Сериялык байланышты баштоо, байдын ылдамдыгын орнотуу = 9600
Serial.begin (9600);
// I2C берүүнү баштоо
Wire.beginTransmission (Addr);
// Range register тандаңыз
Wire.write (0x0F);
// Толук масштабдуу диапазонду конфигурациялоо 2000 dps
Wire.write (0x80);
// I2C берүүнү токтотуу
Wire.endTransmission ();
// I2C берүүнү баштоо
Wire.beginTransmission (Addr);
// Bandwidth регистрин тандаңыз
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)
{
data [0] = Wire.read ();
data [1] = Wire.read ();
data [2] = Wire.read ();
маалымат [3] = Wire.read ();
data [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-Axis Rotation:");
Serial.println (xGyro); Serial.print ("Y-Axis Rotation:");
Serial.println (yGyro); Serial.print ("Z-Axis Rotation:");
Serial.println (zGyro);
кечигүү (500);
}
5 -кадам: Тиркемелер:
BMG160 уюлдук телефондор, адамдын машина интерфейси сыяктуу түзмөктөрдө ар түрдүү тиркемелерге ээ. Бул сенсор модулу сүрөттү турукташтыруу (DSC жана камера-телефон), оюн жана көрсөтүүчү түзмөктөр сыяктуу керектөөчүлөрдүн талаптарына жооп берүү үчүн иштелип чыккан. Бул жаңсоону таанууну талап кылган тутумдарда жана ички багыттоодо колдонулган системаларда колдонулат.
Сунушталууда:
Arduino менен LM35 температура сенсорунун интерфейси: 4 кадам
Arduino менен LM35 температура сенсорунун интерфейси: Термометрлер температураны өлчөө үчүн узак убакыт бою колдонулган пайдалуу аппарат. Бул долбоордо биз учурдагы айлана -чөйрөнүн температурасын жана температурасынын өзгөрүшүн ЖКда көрсөтүү үчүн Arduino негизделген санарип термометрин жасадык. Депл болушу мүмкүн
Arduino жана ESP8266 менен DS18B20 температура сенсорунун интерфейси: 8 кадам
DS18B20 Температура Сенсору Arduino жана ESP8266 менен: Эй, эмне болду, балдар! Akarsh бул жерде CETech.Todayден биз DS18B20 Температура Сенсору деп аталган арсеналга жаңы сенсорду кошкубуз келип жатат. Бул DHT11ге окшош температура сенсору, бирок башка колдонмолор топтому бар. Биз аны салыштырып көрөбүз
TMP-112 интерфейси Arduino Nano менен (I2C): 5 кадам
TMP-112 интерфейси Arduino Nano (I2C) менен: Саламатсызбы, жакшы салам .. !! Мен (Соманшу Чоудхари) Dcube технологиялык ишканаларынын атынан Arduino нанонун жардамы менен температураны өлчөйм, ал I2C протоколунун окуу үчүн колдонмолорунун бири. температура сенсорунун аналогдук маалыматтары TMP-112
MPU6050-акселерометр+гироскоп сенсорунун негиздери: 3 кадам
MPU6050-Акселерометр+Гироскоп Сенсорунун Негиздери: MPU6050-абдан пайдалуу сенсор.Mpu 6050-бул IMU: Инерциялык өлчөө бирдиги (IMU)-бул дененин белгилүү бир күчүн, бурчтук ылдамдыгын жана кээде ориентациясын билдирүүчү электрондук аппарат. дененин комбинациясын колдонуп
Arduino Nano: Акселерометр Гироскоп Компас MPU9250 I2C сенсор Visuino менен: 11 кадам
Arduino Nano: Accelerometer Gyroscope Compass MPU9250 I2C Sensor with Visuino: MPU9250 - эң алдыңкы бириктирилген Акселерометр, Гироскоп жана Компастын кичинекей өлчөмдөгү сенсорлорунун бири. Алар көптөгөн өнүккөн өзгөчөлүктөргө ээ, анын ичинде төмөн өтүү чыпкасы, кыймылды аныктоо, ал тургай программаланган адистештирилген процессор