یکشنبه , ۱ مرداد ۱۳۹۶
آخرین نوشته‌ها
خانه | کارگاه آموزشی ماژول ها | ماژول بلوتوث و میکروکنترلر AVR – جلسه ۳
آموزش ویدیوی طراحی و شبیه سازی مدارهای آنالوگ و دیجیتال

ماژول بلوتوث و میکروکنترلر 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 نمایش داده می شود. شبیه سازی انجام شده را در انیمیشن زیر مشاهده می کنید:

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

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

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

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

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

برای دیدن این کد باید عضو باشید. با مراجعه به قسمت حساب کاربری در ستون سمت چپ با نام کاربری خود وارد شوید یا ثبت نام کنید.

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

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

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

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

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

Tell us how can we improve this post?

+ = Verify Human or Spambot ?

درباره‌ی مجتبی

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

۱۶ ديدگاه

  1. ممنون برای پروژه لطفا sim900 رو هم اموزش دهید.

  2. سلام
    واقعا ممنون
    یه سوال اون مقاومت هایی که کنار ماژول تو عکس فوق قرار دادین برای چه کاربردی هست و اندازه هاشون چقدر است ؟/
    با تشکر

    • سلام، خواهش می کنم؛
      واقعا منتظر بودم که یه نفر این سوالو بپرسه. این مقاومت ها ربطی به ماژول ندارن و کلا برای کنتراست LCD هستن !!! 😀 راستش پتانسیومتری که برای تنظیم کنتراست در نظر گرفته بودم وسطای کار دچار مشکل شد. برای همین چند تا مقاومت ۳۳۰ رو با هم سری کردم تا بتونم با تقسیم مقاومتی تنظیم کنتراست رو به صورت پله ای انجام بدم، همین!!!
      البته موقع تدوین این جلسه پتانسیومتر در اختیارم بود ولی به دلایلی مدار رو تغییر ندادم:
      اول این که بگم میشه گاهی خلاقیت های کوچیکی زد و مشکل مدار رو راحت حل کرد
      دوم اینکه به کسایی که پتانسیومتر دم دستشون نیست بگم چه جوری ال سی دی رو راه بندازن.
      سوم اینکه این مدار یه مدار تست و اولیه س و خیلی نیازی به مته به خشخاش گذاشتن نیست.
      —————————————————————————————————–
      اینجا یه نکته ی ریز هم یادم اومد که بگم: وقتی دارین از میکروکنترلر به ماژول اطلاعات میفرستین، TXD میکرو رو مستقیما به RXD ماژول وصل نکنین. چون سطح ولتاژ ماژول در ارتباط سریال ۳٫۳ ولت هست ولی سطح خروجی میکروکنترلر ۵ ولته. این کار میتونه در طولانی مدت به ماژول آسیب وارد کنه. برای رفع این مشکل در مسیری که گفتم یه تقسیم مقاومتی انجام بدین تا سطح ولتاژ بیاد روی ۳٫۳ ولت.
      البته اینجا این کار رو من نکرده م چون در این پروژه ی آموزشی کلا از میکروکنترلر چیزی به ماژول ارسال نمیشه و این ارتباط قطعه.

  3. سلام جناب مهندس، خسته نباشید 🙂
    عذر میخوام، لطفا اگر امکانش هست در مورد مد مستر و متصل شدن به ماژول هایی که روی مد اسلیو هستن هم کمی توضیح بدید.
    ممنون از زحماتتون 🙂

    • سلام، ممنونم
      وقتی بخوایم دو تا ماژول رو به هم متصل کنیم یکی رو باید روی مد مستر تنظیم کنیم و دیگری را روی مد اسلیو. در مورد چگونگی تنظیم صحبت شد.
      بعد از اون ماژول مستر باید ماژول اسلیو رو پیدا کنه. روش های مختلفی هست اما چون ما میخوایم که کانکشن امنی داشته باشیم از این روش استفاده می کنیم:
      – آدرس ماژول اسلیو رو از طریق دستورات AT که صحبت شد پیدا می کنیم.
      – با دستور زیر نوع کانکشن در ماژول مستر رو روی حالتی قرار میدیم که ماژول اسلیو رو از طریق آدرسی که ما بهش میدیم پیدا کنه:
      AT+CMODE=0
      – و با دستور زیر هم بهش دستور میدیم که به ماژول با آدرس X متصل بشه و تمام:
      AT+BIND=X
      برای جزییات بیشتر به دیتاشیت ماژول مراجعه کنین. در صورتی که سوالی بود در خدمتم.

  4. با سلام و خسته نباشید

    آیا میشه یک فایل رو از کامپیوتر یا موبایل به میکرو فرستاد؟

    • سلام
      ماژول HC-05 و کلا ماژول های ارتباط سریال جهت برقراری ارتباط سریال هستن و برای ارسال فایل مناسب نیستن. این ماژول ها برای ارسال مستقیم فایل طراحی وساخته نشده ن. البته میشه به طور نرم افزاری و با پیچیدگی هایی این کار رو با سرعت پایین کرد که کلا به صرفه نیس.

      • بسیار ممنون از پاسختون

        شما چه ماژولی را برای اینکار پیشنهاد میدهید؟

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

  5. سلام
    بینهایت ممنونم از مطالب
    خیلی عالی بود
    ممنون میشم ماژول بعدی رو sim900 آموزش بدبن یا منبعی معرفی کنید
    چون من و تعدادی از دوستان برای پروژه کارشناسیمون باید با این ماژول کار کنیم
    ممنون

    • سلام به شما
      خوشحالیم که مطلب مفیدی بوده براتون. ماژول sim900 هم در دستور کار قرار داره و آموزش اون در آینده ای نزدیک براتون منتشر میشه.

  6. سلام
    واقعا سایت عالی دارید

  7. مرسی به خاطر سایت خوبتون
    اگر قسمت نوشتن نظر رو بالای نظرات بذ ارید بهتره

  8. تشکر از مطالبتون

پاسخ دهید

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

Time limit is exhausted. Please reload CAPTCHA.