راه اندازی ماژول شتاب سنج و زاویه سنج دیجیتال ADXL345 با آردوینو

BLO OM

بارها شده که در پروژه‌های مختلف نیاز به اندازه گیری و مقیاس محورهای x، y، z داشته‌اید تا طبق این اندازه‌ها کار مورد نظر خود را انجام دهید. در این مقاله می‌خواهیم به معرفی و راه اندازی ماژول ADXL345 با آردوینو بپردازیم.

حال به این نکته توجه داشته باشید، زمانی که سه پارامتر x، y، z را در اختیار داشته باشیم، قادر به انجام کارهای متفاوتی از قبیل اندازه گیری شتاب، زاویه و شدت هستیم. که هر کدام در جای خاص خود کاربرد دارند. به طور مثال شدت برخورد ماشین به مانع و یا اندازه گیری شتاب ماشین و …

 

معرفی ماژول ADXL345

راه اندازی ADXL با اردوینو

همانطوری که می‌دانید این ماژول قابلیت اندازه گیری سه محور را به طور هم‌زمان دارا می‌باشد. و یکی از کاربرد های آن اندازه گیری شتاب است.

 

شتاب چیست؟

به میزان تغییرات سرعت در یک بازه زمانی، شتاب گفته می‌شود. به عبارتی دیگر اگر شما در یک بازه‌ی زمانی با سرعت 100 کیلومتر در حال حرکت باشید (بدون در نظر گرفتن شتاب زمین)، شتاب شما صفر خواهد بود؛ درصورتی‌که در حال افزایش سرعت باشید این شتاب یک عدد مثبت و درصورتی‌که در حال کاهش سرعت باشید، شتاب یک عدد منفی خواهد بود.

 

عملکرد ماژول ADXL345

همان‌طور که می‌دانید، زمین نیز یک شتاب مشخص با واحد g، به‌تمامی اجسام وارد می‌کند؛ میزان این شتاب، 9.82 m/s^2 است.

اگر یک سنسور شتاب داشته باشید، در حالت عادی میزان شتاب واردشده از سطح زمین را به شما نمایش خواهد داد.

این سنسور که اصطلاحاً به آن Accelerometer نیز گفته می‌شود.

 

امکانات ماژول ADXL345

در ابتدا نگاهی به امکانات این سنسور می‌اندازیم. این سنسور می‌تواند گرانش واردشده به هر سه محور X, Y, Z را به‌صورت استاتیک با حساسیت‌های 0.2±، 0.4±، 8± و 16± “G”  و با دقت 13 بیت اندازه‌گیری کند. هم‌چنین به‌صورت استاتیک شوک واردشده و یا حرکت را نیز می‌تواند تشخیص دهد.

این چیپ می‌تواند دیتاهای خود را توسط رابط‌های کاربری I2C و SPI انتقال دهد. جریان مصرفی آن در حین کار کمتر از 40 میکرو آمپر است و در محدوده ولتاژی 2 تا 3.6 ولت کار می‌کند.(برای اطلاعات بیشتر در مورد این ماژول اینجا کلیک کنید.)

 

راه اندازی و کدنویسی ماژول ADXL345 با آردوینو و STM8

برای راه اندازی این ADXL345 با STM8 اینجا کلیک کنید (به صورت کاملاً جامع و مفصل توضیح داده شده است.)

اما برای راه اندازی با آردوینو نیاز باید چند گام را انجام دهیم تا در نهایت به جواب دلخواه برسیم.

 

گام اول: پیاده سازی سخت افزار

این بخش شامل موارد زیر می‌باشد.

  • آردوینو نانو
  • ماژول ADXL345
  • چهار عدد LED (کاملاً دلخواه می‌باشد)

و در نهایت باید به شکل زیر قطعات را به یک دیگر متصل کنید.

راه اندازی ADXL345 با آردوینو

 

گام دوم: کدنویسی

در این بخش از دو کتابخانه آماده استفاده می‌کنیم، و در نهایت مقادیر را در سریال مانیتور آردوینو نمایش می‌دهیم.

کتابخانه‌هایی که در این آموزش از آن استفاده می‌کنیم، کتابخانه FaBo3Axis_ADXL345.h و Wire.h است.

کتابخانه Wire.h به صورت پیش فرض روی IDE آردینو نصب شده است. اما برای کتابخانه دیگر باید به قسمت Sketch => IncludeLibrary =>Add zip library بروید و در نهایت مطابق شکل زیر عمل کنید.

کتابخانه اردوینو ADXl345

کدی که برای راه اندازی این ماژول استفاده کرده‌ایم به شکل زیر می‌باشد.

نمایش دیتا ماژول ADXL345 توسط سریال مانیتور آردوینو که به شکل زیر می‌باشد.

راه اندازی ADXL345 با اردوینو

 

نکته مهم دو شرطی که نوشته شده‌اند صرفاً برای تست عملی مدار به کار می‌روند اما با کمی خلاقیت می‌توان با همین کد ساده یک دستگاه تشخیص دهنده شدت تصادف ساخت که بسیار کاربری است.

حمایت از BLO OM

خوشحال میشیم برای تداوم و کیفیت ما رو حمایت کنید.

0 نفر

پــــســنــدیـده انـد

توجه

BLO OM

«السَّلَامُ عَلَیْکَ یَا أَبَا عَبْدِ اللَّهِ، السَّلَامُ عَلَیْکَ وَ رَحْمَهُ اللَّهِ وَ بَرَکَاتُهُ».

دیدگاه ها

2 دیدگاه

  • mhsh
    ۲ بهمن ۱۳۹۹

    سلام
    ممنون مطلب خیلی کاربردی بود. فقط یه سوال، آیا با توجه به اینکه اکثر آردوینو ها با 5 ولت کار میکنن نیازی به تقسیم مقاومتی یا Logic Level Converter نیست؟ ینی روی پین های دیتاش 5 ولت رو تحمل میکنه؟

    • Zeus ‌
      زئوس Zeus
      ۵ بهمن ۱۳۹۹

      سلام دوست عزیز
      با ۵ ولت روی io مشکلی نداره ظاهرا و بدون تقسیم مقاومتی میتونید ازش استفاده کنید

پر بحث ترین ها

مسابقه دوم : چالش برنامه نویسی به زبان C

مسابقه اول سیسوگ (مسابقه اول: درک سخت افزار) انتقادهای زیادی رو در پی داشت تا جایی که حتی خودمم به نتیجه مسابقه...

Zeus ‌ Zeus ‌
  • 2 سال پیش

راه اندازی LCD گرافیکی Nokia 1661 و دانلود کتابخانه آن

LCD گرافیکی یکی از مهم ترین پارامترهای موجود در طراحی انواع مدارات الکترونیکی پیچیده و حتی ساده است ، نمایش وضعیت و...

Zeus ‌ Zeus ‌
  • 4 سال پیش

ریموت کدلرن و چکونگی دکد کردن آن به همراه سورس برنامه

ریموت کنترل امروزه کاربرد زیادی پیدا کرده است؛ از ریموت‌های درب بازکن تا ریموت‌های دزدگیر و کنترل روشنایی همه از یک اصول اولیه پیروی می‌کنند و آن‌هم ارسال اطلاعات به‌صورت بی‌سیم است....

Zeus ‌ Zeus ‌
  • 5 سال پیش

مسابقه سوم: استخراج داده از رشته ها در زبان C

نزدیک به 5 ماه از مسابقه دوم سیسوگ می‌گذره و فکر کردم که بد نیست یک چالش جدید داشته باشیم! البته چالش‌ها...

Zeus ‌ Zeus ‌
  • 2 سال پیش

همه چیز درباره ریموت کنترل‌های هاپینگ

امنیت همیشه و در همه‌ی اعصار، مقوله‌ی مهم و قابل‌توجه‌ ای بوده و همیشه نوع بشر به دنبال امنیت بیشتر، دست به ابداعات و اختراعات گوناگونی زده است. ریموت کنترل یکی از این اختراعات است. در این مقاله، به بررسی امنیت انواع ریموت‌های کنترل خواهیم پرداخت....

Zeus ‌ Zeus ‌
  • 5 سال پیش

مسابقه ششم: بزن میکروکنترلر را بسوزون!

بزنم میکروکنترلر را بسوزونم اونم تو  این شرایط!، طراحی مسابقه از اون چیزی که به نظر می‌رسه سخت‌تر است، باید حواست باشه...

Zeus ‌ Zeus ‌
  • 9 ماه پیش

آموزش قدم به قدم راه اندازی +NRF24L01

آموزش قدم به قدم راه اندازی +NRF24L01  با کتابخانه سازگار با انواع میکروکنترلرها و کامپایلرها قبل از اینکه قسمت بشه با ماژول...

رسول خواجوی بجستانی رسول خواجوی بجستانی
  • 3 سال پیش

ساخت ماینر با FPGA و ARM

چند ماهی هست که تب بیت کوین و ارزهای دیجیتال خیلی بالا رفته! چه شد که این پست را نوشتم همانطور که...

Zeus ‌ Zeus ‌
  • 3 سال پیش

مسابقه چهارم: کدام حلقه سریع‌تر است؟

حدود ۷ ماه پیش، مسابقه سوم سیسوگ رو برگزار کردیم و کلی نکته در مورد خواندن رشته‌های ورودی را بررسی کردیم. فکر...

Zeus ‌ Zeus ‌
  • 1 سال پیش

کار با ماژول تمام عیار mc60 – قسمت دوم – راه اندازی OpenCPU

در قسمت اول به یکسری اطلاعات کلی ماژول mc60 پرداختیم، با نرم افزار QNavigator کار کردیم و یک هدربرد هم برای کار...

Mahdi.h   Mahdi.h  
  • 2 سال پیش
سیـــســـوگ

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