فهرست مطالب:
- مرحله 1: نمای کلی BMG160:
- مرحله 2: آنچه شما نیاز دارید..
- مرحله 3: اتصال سخت افزاری:
- مرحله 4: اندازه گیری ژیروسکوپ 3 محوره آردوینو کد:
- مرحله 5: برنامه های کاربردی:
تصویری: رابط سنسور ژیروسکوپ 3 محوره BMG160 با آردوینو نانو: 5 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:52
در دنیای امروز ، بیش از نیمی از جوانان و کودکان عاشق بازی هستند و همه کسانی که به آن علاقه دارند ، شیفته جنبه های فنی بازی هستند ، اهمیت حس حرکت را در این حوزه می دانند. ما نیز از همان چیزی شگفت زده شدیم و فقط برای آوردن آن روی تخته ، ما فکر کردیم که روی یک سنسور ژیروسکوپ کار می کنیم که می تواند میزان زاویه هر جسم را اندازه گیری کند. بنابراین ، سنسوری که ما برای مقابله با آن استفاده کردیم BMG160 است. BMG160 یک حسگر ژیروسکوپی 16 بیتی ، دیجیتال ، سه محوری است که می تواند میزان زاویه را در سه بعد اتاق عمود بر اندازه گیری کند.
در این آموزش ، ما قصد داریم کار BMG160 را با آردوینو نانو نشان دهیم.
سخت افزاری که برای این منظور نیاز دارید به شرح زیر است:
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 Shield برای آردوینو نانو
مرحله 3: اتصال سخت افزاری:
بخش اتصال سخت افزاری اساساً اتصالات سیم کشی مورد نیاز بین سنسور و آردوینو را توضیح می دهد. اطمینان از اتصالات صحیح ضروری ترین ضرورت در هنگام کار بر روی هر سیستم برای خروجی مورد نظر است. بنابراین ، اتصالات مورد نیاز به شرح زیر است:
BMG160 از طریق I2C کار می کند. در اینجا مثال نمودار سیم کشی است که نحوه اتصال هر رابط سنسور را نشان می دهد.
خارج از جعبه ، برد برای یک رابط I2C پیکربندی شده است ، بنابراین توصیه می کنیم در غیر این صورت آگنوستیک از این اتصال استفاده کنید.
تنها چیزی که نیاز دارید چهار سیم است! فقط چهار اتصال نیاز به پین های Vcc ، Gnd ، SCL و SDA دارد و این اتصالات با کمک کابل I2C متصل می شوند.
این اتصالات در تصاویر بالا نشان داده شده است.
مرحله 4: اندازه گیری ژیروسکوپ 3 محوره آردوینو کد:
بیایید اکنون با کد arduino شروع کنیم.
هنگام استفاده از ماژول سنسور با آردوینو ، ما کتابخانه Wire.h را شامل می شود. کتابخانه "Wire" شامل عملکردهایی است که ارتباط i2c بین سنسور و برد آردوینو را تسهیل می کند.
برای راحتی کاربر ، کل کد آردوینو در زیر آورده شده است:
#include // آدرس BMG160 I2C 0x68 است (104)
#تعریف Addr 0x68
void setup ()
{
// راه اندازی ارتباط 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 register را انتخاب کنید
Wire.write (0x10) ؛
// تنظیم پهنای باند = 200 هرتز
Wire.write (0x04) ؛
// توقف انتقال I2C
Wire.endTransmission ()؛
تأخیر (300) ؛
}
حلقه خالی ()
{
اطلاعات int بدون علامت [6]؛
// شروع انتقال I2C
Wire.beginTransmission (Addr)؛
// Gyrometer data register را انتخاب کنید
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) ؛
// تبدیل داده ها
int xGyro = ((داده [1] * 256) + داده [0]) ؛
int yGyro = ((داده [3] * 256) + داده [2]) ؛
int zGyro = ((داده [5] * 256) + داده [4]) ؛
// خروجی داده ها به مانیتور سریال
Serial.print ("محور چرخش X:") ؛
Serial.println (xGyro) ؛ Serial.print ("Y-Axis of Rotation:") ؛
Serial.println (yGyro) ؛ Serial.print ("محور محور چرخش:") ؛
Serial.println (zGyro) ؛
تأخیر (500) ؛
}
مرحله 5: برنامه های کاربردی:
BMG160 دارای کاربردهای متنوعی در دستگاه هایی مانند تلفن های همراه ، دستگاه های رابط ماشین انسان است. این ماژول حسگر برای برآوردن الزامات کاربردهای مصرف کننده مانند تثبیت کننده تصویر (DSC و دوربین تلفن) ، دستگاه های بازی و اشاره طراحی شده است. همچنین در سیستم هایی که نیاز به تشخیص حرکت دارند و سیستم های مورد استفاده در ناوبری داخلی استفاده می شود.
توصیه شده:
شروع به کار با رابط سنسور I2C ؟؟ - رابط MMA8451 خود را با استفاده از ESP32s انجام دهید: 8 مرحله
شروع به کار با رابط سنسور I2C ؟؟ - رابط MMA8451 خود را با استفاده از ESP32s: در این آموزش ، با نحوه راه اندازی ، اتصال و دریافت دستگاه I2C (شتاب سنج) کار با کنترلر (Arduino ، ESP32 ، ESP8266 ، ESP12 NodeMCU) آشنا خواهید شد
رابط آردوینو با سنسور اولتراسونیک و سنسور دما بدون تماس: 8 مرحله
رابط آردوینو با سنسور اولتراسونیک و سنسور دمای بدون تماس: امروزه سازندگان و توسعه دهندگان آردوینو را برای توسعه سریع نمونه اولیه پروژه ها ترجیح می دهند. آردوینو یک پلتفرم الکترونیکی منبع باز است که بر اساس سخت افزار و نرم افزارهای آسان برای استفاده است. آردوینو دارای جامعه کاربری بسیار خوبی است. در این پروژه
رابط سنسور ژیروسکوپ 3 محوره BMG160 با تمشک پای: 5 مرحله
رابط سنسور ژیروسکوپ 3 محوره BMG160 با رزبری پای: در دنیای امروز ، بیش از نیمی از جوانان و بچه ها عاشق بازی هستند و همه کسانی که به آن علاقه دارند ، شیفته جنبه های فنی بازی ، اهمیت حس حرکت را می دانند در این حوزه ما نیز از همان چیزی شگفت زده شدیم و
رابط سنسور ژیروسکوپ 3 محوره BMG160 با ذره: 5 مرحله
رابط سنسور ژیروسکوپ 3 محوره BMG160 با ذرات: در دنیای امروز ، بیش از نیمی از جوانان و کودکان عاشق بازی هستند و همه کسانی که به آن علاقه دارند ، شیفته جنبه های فنی بازی ، اهمیت حس حرکت را در این حوزه ما نیز از همان چیزی شگفت زده شدیم و
آردوینو نانو: شتاب سنج ژیروسکوپ قطب نما MPU9250 I2C سنسور با Visuino: 11 مرحله
آردوینو نانو: شتاب سنج ژیروسکوپ قطب نما MPU9250 I2C Sensor With Visuino: MPU9250 یکی از پیشرفته ترین سنسورهای شتاب سنج ، ژیروسکوپ و قطب نما با اندازه کوچک است که در حال حاضر موجود است. آنها دارای بسیاری از ویژگی های پیشرفته هستند ، از جمله فیلترینگ کم گذر ، تشخیص حرکت و حتی یک پردازنده تخصصی قابل برنامه ریزی