فهرست مطالب:
- مرحله 1: نمای کلی BMG160:
- مرحله 2: آنچه شما نیاز دارید..
- مرحله 3: اتصال سخت افزاری:
- مرحله 4: کد ذرات اندازه گیری ژیروسکوپ 3 محوره:
- مرحله 5: برنامه های کاربردی:
تصویری: رابط سنسور ژیروسکوپ 3 محوره BMG160 با ذره: 5 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:54
در دنیای امروز ، بیش از نیمی از جوانان و کودکان عاشق بازی هستند و همه کسانی که به آن علاقه دارند ، شیفته جنبه های فنی بازی هستند ، اهمیت حس حرکت را در این حوزه می دانند. ما نیز از همان چیزی شگفت زده شدیم و فقط برای آوردن آن روی تخته ، ما فکر کردیم که روی یک سنسور ژیروسکوپ کار می کنیم که می تواند میزان زاویه هر جسم را اندازه گیری کند. بنابراین ، سنسوری که ما برای مقابله با آن استفاده کردیم BMG160 است. BMG160 یک حسگر ژیروسکوپی 16 بیتی ، دیجیتال ، سه محوری است که می تواند میزان زاویه را در سه بعد اتاق عمود بر اندازه گیری کند.
در این آموزش ، ما قصد داریم کار BMG160 را با Particle Photon نشان دهیم.
سخت افزاری که برای این منظور نیاز دارید به شرح زیر است:
1. BMG160
2. فوتون ذرات
3. کابل I2C
4. I2C Shield برای ذرات فوتون
مرحله 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 محوره:
اجازه دهید اکنون با کد ذره شروع کنیم.
هنگام استفاده از ماژول سنسور با آردوینو ، کتابخانه 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 ؛
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)؛
// Range register را انتخاب کنید
Wire.write (0x0F) ؛
// پیکربندی مقیاس کامل 2000 dps
Wire.write (0x80) ؛
// توقف انتقال I2C
Wire.endTransmission ()؛
// شروع انتقال I2C
Wire.beginTransmission (Addr)؛
// Bandwidth register را انتخاب کنید
Wire.write (0x10) ؛
// تنظیم پهنای باند = 200 هرتز
Wire.write (0x04) ؛
// توقف انتقال I2C
Wire.endTransmission ()؛
تأخیر (300) ؛
}
حلقه خالی ()
{
اطلاعات int بدون علامت [6]؛
// شروع انتقال I2C
Wire.beginTransmission (Addr)؛
// ثبت داده را انتخاب کنید
Wire.write (0x02) ؛
// توقف انتقال I2C
Wire.endTransmission ()؛
// درخواست 6 بایت داده
سیم. درخواست از (Addr، 6)؛
// خواندن 6 بایت داده
// xGyro lsb ، xGyro msb ، yGyro lsb ، yGyro msb ، zGyro lsb ، zGyro msb
if (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]) ؛
if (xGyro> 32767)
{
xGyro -= 65536 ؛
}
yGyro = ((داده [3] * 256) + داده [2]) ؛
if (yGyro> 32767)
{
yGyro -= 65536 ؛
}
zGyro = ((داده [5] * 256) + داده [4]) ؛
if (zGyro> 32767)
{
zGyro -= 65536 ؛
}
// خروجی داده ها به داشبورد
Particle.publish ("محور X چرخش:" ، رشته (xGyro)) ؛
Particle.publish ("Y-Axis of Rotation:" ، String (yGyro)) ؛
Particle.publish ("Z-Axis of Rotation:" ، String (zGyro)) ؛
تاخیر (1000) ؛
}
مرحله 5: برنامه های کاربردی:
BMG160 دارای کاربردهای متنوعی در دستگاه هایی مانند تلفن های همراه ، دستگاه های رابط ماشین انسان است. این ماژول حسگر برای برآوردن الزامات کاربردهای مصرف کننده مانند تثبیت کننده تصویر (DSC و دوربین تلفن) ، دستگاه های بازی و اشاره طراحی شده است. همچنین در سیستم هایی که نیاز به تشخیص حرکت دارند و سیستم های مورد استفاده در ناوبری داخلی استفاده می شود.
توصیه شده:
شروع به کار با رابط سنسور I2C ؟؟ - رابط MMA8451 خود را با استفاده از ESP32s انجام دهید: 8 مرحله
شروع به کار با رابط سنسور I2C ؟؟ - رابط MMA8451 خود را با استفاده از ESP32s: در این آموزش ، با نحوه راه اندازی ، اتصال و دریافت دستگاه I2C (شتاب سنج) کار با کنترلر (Arduino ، ESP32 ، ESP8266 ، ESP12 NodeMCU) آشنا خواهید شد
رابط سنسور ژیروسکوپ 3 محوره BMG160 با آردوینو نانو: 5 مرحله
رابط سنسور ژیروسکوپ 3 محوره BMG160 با آردوینو نانو: در دنیای امروز ، بیش از نیمی از جوانان و کودکان عاشق بازی هستند و همه کسانی که به آن علاقه دارند ، شیفته جنبه های فنی بازی ، اهمیت حس حرکت را می دانند در این حوزه ما نیز از همان چیزی شگفت زده شدیم و
رابط آردوینو با سنسور اولتراسونیک و سنسور دما بدون تماس: 8 مرحله
رابط آردوینو با سنسور اولتراسونیک و سنسور دمای بدون تماس: امروزه سازندگان و توسعه دهندگان آردوینو را برای توسعه سریع نمونه اولیه پروژه ها ترجیح می دهند. آردوینو یک پلتفرم الکترونیکی منبع باز است که بر اساس سخت افزار و نرم افزارهای آسان برای استفاده است. آردوینو دارای جامعه کاربری بسیار خوبی است. در این پروژه
رابط سنسور ژیروسکوپ 3 محوره BMG160 با تمشک پای: 5 مرحله
رابط سنسور ژیروسکوپ 3 محوره BMG160 با رزبری پای: در دنیای امروز ، بیش از نیمی از جوانان و بچه ها عاشق بازی هستند و همه کسانی که به آن علاقه دارند ، شیفته جنبه های فنی بازی ، اهمیت حس حرکت را می دانند در این حوزه ما نیز از همان چیزی شگفت زده شدیم و
ماژول سنسور 6 محوره FSP200 کالیبراسیون و آزمایش: 6 مرحله
ماژول سنسور 6 محوره FSP200 کالیبراسیون و آزمایش: FSP200 یک پردازنده واحد اندازه گیری اینرسی 6 محوره است که خروجی جهت و جهت را فراهم می کند. این دستگاه ترکیبی از سنسورهای شتاب سنج و ژیروسکوپ را برای جهت و جهت پایدار و دقیق انجام می دهد. FSP200 برای استفاده در رباتیک مناسب است