ماژول بلوتوث و میکروکنترلر AVR – جلسه ۳

دوستان عزیزم سلام!

این بار در خدمتتون هستم با جلسه ی چهارم کارگاه آموزشی ماژول ها. بالاخره این جلسه، جلسه ی آخریه که در مورد ماژول بلوتوث صحبت می کنیم. این بار قصد داریم که یه مدار عملی ببندیم و  ماژول بلوتوث و میکروکنترلر AVR رو با هم راه اندازی کنیم.  خیلی سریع بریم سر اصل مطلب !!!

  • توضیحات
  • کدنویسی
  • ویدیوی آموزشی

در جلسات قبل کارگاه آموزشی ماژول ها با ماژول بلوتوث آشنا شدیم. سپس آن را به کامپیوتر متصل نموده و تنظیم کردیم. همچنین یک ارتباط ساده ی سریال نیز با موبایل و ماژول برقرار نمودیم. در ادامه می خواهیم یک پروژه نیز تعریف کنیم و این بار ماژول بلوتوث و میکروکنترلر AVR را با بکدیگر ارتباط دهیم.

پروژه ماژول بلوتوث و میکروکنترلر

هدف از این پروژه

  • یادگیری نحوه ی برقراری ارتباط بین ماژول بلوتوث و میکروکنترلر و مجهز کردن میکروکنترلر به ارتباط بلوتوث
  • مشاهده ی مطالب جلسات قبل در حوزه ی ارتباطی ماژول بلوتوث و میکروکنترلر AVR
  • برقراری یک ارتباط ساده بین کامپیوتر و میکروکنترلر از طریق بلوتوث
  • آماده کردن مخاطبان عزیز جهت انجام کارهای عملی

تعریف پروژه

در این پروژه ی آموزشی قصد داریم مداری را طراحی کنیم که با کامپیوتر ارتباط بگیرد. آنگاه پس از برقرارشدن ارتباط، هرچیزی که توسط کیبورد کامپیوتر تایپ می کنیم در LCD کاراکتری نمایش داده شود. به عبارتی می خواهیم LCD کاراکتری را به یک نمایشگر متنی برای کامپیوترمان تبدیل کنیم.

نقشی که ماژول بلوتوث در این جا ایفا می کند، ایجاد ارتباط بین کامپیوتر و میکروکنترلر می باشد. به عبارتی توسط ارتباط بلوتوث یک ارتباط سریال مجازی بین کامپیوتر و میکروکنترلر برقرار می کنیم. سپس با تایپ عبارات در محیط ترمینال کامپیوتر، این عبارات توسط میکروکنترلر دریافت شده و بر روی ال سی دی نمایش داده می شود.

ما در اینجا از لپ تاپ استفاده کرده ایم. با توجه به این که لپ تاپ دارای بلوتوث است، فقط نیاز به یک ماژول بلوتوث داریم. در صورتی که شما از کامپیوتر فاقد بلوتوث استفده می کنید می توانید یک ماژول بلوتوث دیگر نیز برای کامپیوترتان تهیه کنید.

قطعات مورد نیاز برای این پروژه

  • ماژول بلوتوث hc-05
  • Lcd کاراکتری (در اینجا ۲X16)
  • میکروکنترلر AVR (در اینجا ATMega16)
  • پتانسیومتر کیلواهم
  • بردبورد وسیم

شماتیک مدار

شماتیک مدار این پروژه در پروتئوس به صورت زیر است. همانطور که مشاهده می کنید LCD به صورت ۴ سیمه به میکروکنترلر متصل شده است. برای تنظیم کنتراست ال سی دی نیز به شیوه ای که در تصویر آمده است عمل می کنیم. برای اطلاعات بیشتر به «راه اندازی LCD کاراکتری» مراجعه کنید.

شماتیک پروژه ماژول بلوتوث

ماژول بلوتوث و میکروکنترلر را نیز به این گونه متصل می کنیم که پایه ی TXD ماژول به پایه ی RXD میکروکنترلر (PIND.0) وصل باشد. قرار است در این پروژه میکروکنترلر نقش گیرنده را در ارتباط سریال بازی کند. به همین دلیل همین اتصال بین ماژول بلوتوث و میکروکنترلر کافی است. و دیگر نیازی به اتصال RXD ماژول به TXD میکروکنترلر نیست. برای مطالعه ی بیشتر در مورد ارتباط سریال به نوشته ی «ارتباط سریال» مراجعه کنید.

برای افزودن ماژول بلوتوث به کتابخانه ی نرم افزار پروتئوس از فایل هایی که در انتهای این نوشته برای دانلود قرار داده شده است، استفاده کنید. برای این کار دو فایل BluetoothTEP.IDX و BluetoothTEP.LIB موجود در فایل زیپ را در فولدر LIBRARY در محل نصب پروتئوس کپی کنید. پس ازآن در محیط پروتئوس با جستجوی عبارت Bluetooth می توانید از آنها استفاده نمایید.

فلوچارت عملکرد پروژه

با مطالعه ی دقیق فلوچارت زیر به نحوه ی عملکرد پروژه پی خواهید برد. این فلوچارت برای میکروکنترلر نوشته شده است. با اجرای این فلوچارت فرمان های میکروکنترلر برای LCD، بر اساس ارتباط ماژول بلوتوث و میکروکنترلر سازماندهی می شوند.

فلوچارت پروژه ماژول بلوتوث

نوشتن برنامه برای میکروکنترلر

برای این کار از نرم افزار کدویژن استفاده کرده ایم (به دلیل محبوبیتی که دارد). هنگام ایجاد پروژه، ارتباط ۴ سیمه ی LCD کاراکتری را فعال می کنیم. همچنین گیرنده ی ارتباط سریال را با تنظیمات بادریت ۹۶۰۰، یک بیت پایان و بدون توازن فعال می نماییم.

?? برای مشاهده ی برنامه ی نوشته شده و توضیحات آن بر روی زبانه ی برنامه نویسی در بالا کلیک کنید. ??

شبیه سازی

همان شماتیکی را که قبلا در محیط پروتئوس رسم کردیم، شبیه سازی می کنیم. به نکات زیر توجه کنید:

??  مسلماً نمی توانیم ارتباط بلوتوث را شبیه سازی کنیم. به همین دلیل به هنگام شبیه سازی، ارسال اطلاعات (از طریق بلوتوث) را به وسیله ی پورت های سریال مجازی انجام می دهیم. جهت تنظیم کردن قطعه ی ماژول بلوتوث در محیط پروتئوس با دابل کلیک بر روی آن تنظیمات پورت سریال را وارد می کنیم. منظور از پورت سریال در اینجا پورت مجازی ای است که به ماژول بلوتوث در شبیه سازی متصل می شود.

??  برای ایجاد پورت سریال مجازی از نرم افزار Tibbo VSP manager استفاده می کنیم. آموزش نحوه ی استفاده از این نرم افزار در فضای اینترنت وجود دارد. با کمی جستجو در اینترنت نحوه ی کار با این نرم افزار را یاد خواهید گرفت. (علت این که این آموزش در اینجا ارائه نمی شود، طولانی شدن بحث و دور شدن از هدف اصلی این جلسه می باشد). در صورتی که در استفاده از این نرم افزار به مشکل برخوردید بپرسید تا با کمال میل پاسخ دهیم.

??  با نرم افزار Tibbo دو پورت سریال مجازی ایجاد نموده  و آن ها را با هم کوپل می کنیم. یکی را به ماژول بلوتوث در پروتئوس متصل کرده و دیگری را به نرم افزار ترمینال ارتباط می دهیم. در مورد نحوه ی کار با نرم افزار ترمینال TeraTerm در جلسه ی قبل مفصلاً توضیحاتی ارائه شد.

شبیه سازی را اجرا می کنیم. هرچیزی را که در محیط ترمینال تایپ کنیم بر روی LCD نمایش داده می شود. شبیه سازی انجام شده را در انیمیشن زیر مشاهده می کنید:

شبیه سازی پروژه ماژول بلوتوث

بستن مدار ماژول بلوتوث و میکروکنترلر به صورت عملی

پس از انجام شبیه سازی موفقیت آمیز، نوبت به بستن مدار به طور عملی می رسد. نمونه ی مدار بسته شده بر روی بردبورد را در تصویر اول بالای صفحه مشاهده کردید. با مشاهده ی ویدیوی آموزشی در مورد بستن مدار و عملکرد آن مطالبی مفید خواهید آموخت. در صورتی که سوالی در رابطه با بستن مدار دارید، صمیمانه در خدمتتان هستیم!

??  ویدیوی تهیه شده برای کار با مدار عملی در همین نوشته در زبانه ی ویدیوی آموزشی قابل دسترسی می باشد.??

با توجه به تعریف پروژه و فلوچارتی که برای عملکرد آن در نظر گرفتیم، برنامه ی زیر نوشته شده است.

توضیحات برنامه

برخی از خطوط برنامه ی بالا در مباحث قبل (در دوره ی آموزشی میکروکنترلر AVR و دوره ی آموزشی برنامه نویسی C) عینا آمده اند و توضیحاتی نیز برای آن ها ارائه شده است. به همین دلیل از توضیح دوباره پرهیز می کنیم.

  • در خطوط ۱۷ تا ۲۱ گیرنده ی سریال میکروکنترلر را برای تنظیماتی که میخواهیم تنظیم می کنیم. این تنظیمات را در قسمت توضیحات بیان کردیم. برای یادآوری در مورد ارتباط سریال اینجا را کلیک کنید.
  • در خط ۳۹ منتظر می مانیم تا در ارتباط سریال مابین ماژول بلوتوث و میکروکنترلر، میکروکنترلر کاراکتری را دریافت کند.
  • در خطوط ۴۰ تا ۴۳ بررسی می کنیم که آیا کاراکتر دریافتی، کد اسکی معادل کلید backspace است یا خیر. در صورتی که اینگونه باشد، تمام نوشته های روی LCD را پاک می کنیم و نشانگر را به مکان اولیه باز می گردانیم.
  • در خط ۴۵ در صورتی که کلید backspace فشرده نشده باشد، کاراکتر دریافتی را بر روی LCD نمایش می دهیم.

در ویدیوی زیر با نحوه ی تنظیم بلوتوث کامپیوتر جهت برقراری ارتباط با ماژول بلوتوث و میکروکنترلر آشنا خواهید شد. همچنین یک نمونه ی اولیه از این مدار و نحوه ی عملکرد آن را نیز مشاهده خواهید نمود.

فایل زیپ زیر شامل سورس کد، فایل هگز، فایل شبیه سازی و کتابخانه ی ماژول بلوتوث در پروتئوس می باشد. آن را از طریق لینک زیر دانلود کنید:

پسورد فایل زیپ : www.microlearn.ir

دانلود فایل های مربوط به این جلسه

خب دوستان خوبم، بالاخره کارمون با ماژول بلوتوث تموم شد. پروژه ای که انجام دادیم یه پروژه ی آموزشی بود و برای پروژه های آموزشی ساده بودن اصل اوله. با ماژول بلوتوث ایده های بسیار جالب و کاربردی ای رو میشه پیاده سازی کرد. این تجربه رو شخصا در انجام پروژه هایی که در تیم میکرولرن انجام داده م، دارم. در جلسه ی بعد با ماژول NRF آشنا خواهیم شد. همراهمون باشین. یا حق.

درباره‌ی مجتبی حکیمیان

Avatar
کارشناس الکترونیک و کارشناس ارشد مخابرات سیستم | زمینه ی تحقیقاتی : پردازش تصویر و تعقیب اشیاء متحرک |‌فعال در حوزه ی الکترونیک مبتنی بر میکروکنترلر | برنامه نویس و طراح بردهای الکترونیکی مبتنی بر میکروکنترلر

۳۵ نظر

  1. Avatar

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

    • احسان عبداللهی

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

  2. Avatar

    سلام و تشکر از سایت خوبتون
    میشه با دو تا HC05 دو تا AVR رو به هم متصل کرد؟

  3. Avatar

    با سلام
    کارتون عالیه حرف ندارین
    ی سوال چرا اموزشی از ماژول wifi ندارین ک خیلی کاربردی تره
    اصلا میکرو می تونه ماژول wifi پشتیبانی کنه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *