استفاده از ماژول شتاب سنج ADXL345 به جای ماوس کامپیوتر در میکرو STM32

مقدمه

این یکی دیگر از آموزش های سری  STM32 USB است و امروز نحوه استفاده از STM32 به عنوان یک ماوس کامپیوتر را خواهیم دید. اساساً این آموزش نمونه ای از USB HID DEVICE است.

ما از حسگر شتاب سنج ADXL345 برای گرفتن شتاب در محور x و y استفاده خواهم کرد و بر اساس این مقادیر شتاب ماوس به هر سمتی حرکت کند را خواهیم سنجید. می خواهیم یک دکمه را روی برد بورد وصل کنیم تا بتوانیم عملکرد کلیک چپ ماوس را بدست آوریم. در صورت تمایل می توانید یک دکمه دیگر برای کلیک راست وصل کنید.

 

اتصالات

 

سنسور ADXL345 چیست؟

سنسور ADXL345 برای استفاده در سیستمهای قابل حمل بسیار مناسب است. این سنسور هر دو حالت شتاب دینامیک و شتاب استاتیک را اندازه گیری مینماید. بدین معنی که شتاب استاتیک گرانش در کاربردهایی مثل اندازه گیری زاویه کجی(tilt) و همچنین شتاب دینامیک حاصل از حرکت یا تکانهای ناگهانی، در این سنسور قابل اندازه گیری است. رزولوشن بالای این سنسور یعنی (۴ میلی گرم بر LSB) رسیدن به رزولوشن ۰٫۲۵ درجه در محاسبات زاویه را برای این سنسور میسر میسازد.

برای اندازه گیری شتاب، چندین حالت عملکرد خاص برای این سنسور تعریف شده است. سنسور در حالت عملکرد Activity و inactivity وجود یا عدم وجود حرکت را تشخیص میدهد و اگر شتاب حرکتی در هر یک از ۳ محور از میزانی که کاربر برای آن تعریف کرده بالاتر رود در خروجی مشخص می نماید. در حالت tap سنسور میتواند بروز single tap و Double tap را تشخیص دهد. در حالت سقوط آزاد  میتواند سقوط سیستم میزبان خود را تشخیص دهد.

این سنسور مجهز به ساختار هوشمند مدیریت مصرف توان است که متناسب با اعمال شتاب به سنسور عمل میکند و نهایتاً باعث اتلاف کمترین توان روی چیپ خواهد شد.

 

مشخصات:

  • ولتاژ تغذیه بین ۸ تا ۳٫۶ ولت
  • توان مصرفی پایین: ۲۵ تا ۱۳۰ میکرو آمپر در ولتاژ تغذیه ۲٫۵ ولت
  • پشتیبانی از پروتکهای SPI و I2C
  • رزولوشن بالای ۱۳ بیت در بازه ۱۶g±
  • قابلیت تشخیص و شناسایی single tap و Double tap
  • مانیتور حالات Activity و inactivityتشخیص وضعیت سقوط آزاد

 

کاربردها:

  • رباتیک و ربات های پرنده
  • دستگاه های جهت یاب
  • ریموت کنترلرهای سه بعدی
  • کنسول های بازی
  • کاربردهای آزمایشگاهی

 

ADXL345 یک سیستم اندازه گیری شتاب کامل ۳ محوره با دامنه اندازه گیری قابل انتخاب ۲ گرم ، ۴ گرم، ، ۸ گرم یا ۱۶ گرم پوند است. این هر دو شتاب دینامیکی ناشی از حرکت یا شوک و شتاب استاتیک مانند جاذبه را اندازه گیری می کند ، این امکان را می دهد تا از دستگاه به عنوان سنسور شیب استفاده شود. در این آموزش قصد داریم ADXL345 را با STM32 رابط کنیم.

ADXL345 را می توان برای قابلیت های زیر استفاده کرد.

  • برای اندازه گیری شتاب در سه محور
  • برای اندازه گیری رول و پیچ
  • برای اندازه گیری شیر یک یا دو برابر

 

نکته مهم

کالیبراسیون لازم است تا بتوانیم از ماوس در جهت های مختلف استفاده کنیم. در اصل ۵۰ سمپل را در ۵ ثانیه نمونه برداری می کند و سپس مقادیر حداکثر و حداقل را Set می کند. پس از انجام کالیبراسیون ، LED روشن می شود.


جهت دانلود این آموزش به لینک زیر مراجعه کنید:

ADXL345 Emulate Mouse