سخت افزار میکروکنترلر AVR نمایشگر LCD

را اندازی ماژول فاصله سنج مدل SRF05 با میکروکنترلر AVR

running-srf04-avr-atmega8-digispark-
نوشته شده توسط علی زاهدی

ماژول SRF05 نوعی فاصله سنج با امواج فراصوت می‌باشد. اگر در مسیر ارسال امواج این سنسور جسمی قرار بگیرد سنسور آن را تشخیص داده و سپس میزان فاصله را اندازه گیری می‌کند. ماژول SRF کاربرد مختلفی در پروژه‌های مختلف دارد. به عنوان مدار تشخیص مانع و یا فاصله سنج در پروژه‌ها استفاده می‌شود. ولتاژ کاری این ماژول بین ۴٫۵ تا ۵٫۵ ولت می باشد. فرکانس امواج خروجی آن ۴۰ کیلوهرتز می باشد. در این آموزش با استفاده از میکروکنترلر Atmega8 و ماژول SRF05 و نمایشگر LCD یک فصله سنج دیجیتال خواهیم ساخت. در ادامه با مرجع تخصصی بردهای امبدد به زبان فارسی، دیجی اسپارک همراه باشید.

 


ماژول فاصله سنج التراسونیک مدل SRF05


 این ماژول از ۵ پایه Trigger, Echo, Out, Vcc, Gnd تشکیل شده است. پایه Trigger و Echo در خروجی پالس دیجیتال ۱۰uS ایجاد میکند. خروجی پایه Echo بین ۰ تا Vcc متغیر است. دراین حالت پالس ۱۰uS به پایه تریگر Trigger ارسال شده و سپس سنسور به صورت اتوماتیک در خروجی فرکانس ۴۰ کیلوهرتز را ارسال خواهد کرد. توسط پایه Echo مانیتورنیگ خروجی انجام میشود. هنگامی که خروجی Echo افزایش یابد، تایمر فعال میشود. سپس با کاهش یافتن خروجی Echo، مدت زمان سپری شده در تایمر ذخیره شده و در نهایت فاصله توسط فرمولی که برای محاسبه فاصله شی تا سنسور تعریف شده است، اندازه گیری خواهد شد.

 


اتصالات SRF به تراشه AVR


پیش از این آموزش‌های مختلفی با سنسور فراصوت SRF پروژه‌های متنوعی اجرا شده است. در این آموزش برای فرمان به این ماژول با استفاده از میکرو AVR کافیست اتصالات را مانند نقشه شماتیک زیر برقرار کنید.

 


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


  1. میکروکنترلر Atmega8
  2. ماژول SRF05
  3. نمایشگر Lcd 2*16
  4. پتانسیومتر
  5. led

 


کدنویسی پروژه


جهت اجرای کدها باید در نرم افزار کدویژن، کدها را آماده کرده و سپس پروگرام کنید. چنانچه این روش را نمی‌دانید به آموزش نحوه ی ساخت پروژه جدید و پروگرام کردن میکروکنترلر مراجعه کنید. پس از ساخت پروژه‌ی جدید در نرم افزار کدویژن CodeVision کدهای زیر را داخل آن کپی کنید. سپس تراشه میکروکنترلر Atmega8 را پروگرام کنید. قبل از پروگرام کردن میکروکنترلر بایستی از منو Project بخش Configure را انتخاب کنید سپس در پنجره باز شده بخش C Compiler را انتخاب کرده و سپس بر روی بخش Libraries کلیک کنید. در این قسمت وارد بخش Alphanumeric LCD شوید و طبق تصویر زیر پایه های LCD را تنظیم کنید.

 

 


تحلیل کد AVR پروژه SRF


پس از اضافه کردن کتابخانه های مورد نیاز پروژه  چند متغیر برای ذخیره سازی مقدار زمان و فاصله تعدی می شده است. سپس در ابتدای تابع اصلی (main) پایه های شماره ۱ و ۲ پورت D بعنوان خروجی و باقی پایه ها بعنوان ورودی معرفی می شود. خط بعدی فراخوان تنظیمات اولیه نمایشگر LCD می باشد. سپس تایمر، مبدل آنالوگ به دیجیتال و وقفه سراسری نیز در این قسمت فعال می شوند. داخل حلقه بی نهایت ابتدا متنی که در نظر داریم تا بر روی LCD نمایش داده شود را با استفاده از دستور sprintf که داخل تابع stdio.h موجود می باشد، به نمایشگر LCD انتقال می دهیم. پس از آن یک پالس ۲۰ میکرو ثانیه‌ای به پایه تریگر اعمال می‌شود. در این حالت ماژول امواج الترا سونیک را انتشار می دهد. و داخل برنامه تایمر در یک حلقه تا زمانی که امواج ارسال شده بازگردد، فعال شده و  میزان زمان رفت و برگشت موج را محاسبه کرده و داخل متغیر t ذخیره می‌کند. سپس با استفاده از معادله‌ای میزان فاصله بدست آمده داخل متغیر d ذخیره می شود. داخل متغیر f مقدار خروجی مبدل آنالوگ دیجیتال ذخیره می‌شود. سپس در یک شرط مقدار متغیر f و d مقایسه می‌شود. در صورتی که مقدار متغیر d بیشتر از متغیر f باشد، خروجی فعال می شود و در غیر این صورت خروجی غیر فعال خواهد بود. هنگام پروگرام کردن برنامه توجه داشته باشید که فیوز بیت‌ها روی ۸ مگاهرتز تنظیم شود.

 

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

 

 


پروژه و دریافت بن ارسال رایگان


برای دریافت بن خرید از دانشجو کیت، کاربران بایستی با استفاده از وسایل این آموزش، پروژه را اجرا کرده و یا حتی مدار جدیدی تعریف کنید. سپس از اجرای کار فیلم گرفته و در شبکه‌های اجتماعی از جمله آپارات و اینستگرام، با هشتگ‌های دیجی_اسپارک و دانشجوکیت  و digispark  و  daneshjookit منتشر کنند. سپس از طریق بخش نظرات در ادامه همین آموزش، جهت دریافت بن خرید ارسال رایگان به ارزش ۱۲۰۰۰ تومان از دانشجو کیت، لینک را زیر همین پست ارسال کنید.

 

در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.

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

علی زاهدی

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

تبادل نظر و رفع عیب با ثبت دیدگاه

۶ دیدگاه

  • سلام.جناب زاهدی ضمن تشکر از مطالب خوبتون لطفا یه کانال ارتباطی معرفی کنین برای ارتباط با شما. سوالی راجع به nrf داشتم.

    • سلام با تشکر از توجه شما،
      لطفا سوالات خود را از طریق بخش نظرات سایت مطرح بفرمایید.

  • سلام خسته نباشید من این مراحل گفتید انجام دادم فقط این ارور میده نمیزاره برم مرحله بعد #errorsdirective:lvdlibray not set in the project configurationمیگه ال سی دی فعال نکردی باید از کجا فعالش کنم / بی زحمت شماتیک کاملشو همراه با پی سی بی بذارید ممنونم

    • با سلام
      اگر آموزش را با دقت مطالعه فرمایید، مشاهده میکنید که در ابتدای بخش کدنویسی پروژه نحوه فعال کردن lcd توضیح داده شده است.