کتابخانه AM2120 برای بسکام

راه اندازی سنسور AM2120:

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

نحوه ی استفاده از کتابخانه در زیر توضیح داده شده است.

پایه های سنسور AM2120:

برای بزرگنمائی بر روی عکس کلیک کنید

مشخصات سنسور AM2120:

ولتاژ:  ۳٫۳-۵٫۵ ولت
محدوده اندازه گیری رطوبت:  ۰-۹۹٫۹%
محدوده اندازه گیری دما:  منفی ۴۰ ~ مثبت ۸۰ درجه سانتی گراد
دقت اندازه گیری رطوبت:  ۳%
دقت اندازه گیری دما:  ۰٫۵ %
رزولیشن اندازه گیری رطوبت:  ۰٫۱
رزولیشن اندازه گیری دما:  ۰٫۱
مدت زمان پاسخ گویی سنسور:  ۲ ثانیه
فاصله پایه ها از هم:  ۲٫۵۴mm
ابعاد:  ۱۵mm x 12mm

و در عکس زیر نحوه ی وصل سنسور را مشاهده می کنید

برای بزرگنمائی بر روی عکس کلیک کنید

توضیحات کتابخانه AM2120:

برای افزودن کتابخانه فایل AM2120_library_config.inc را در ابتدای برنامه و فایل AM2120_library.inc را در آخر برنامه اینکلود کنید
تنظیمات کانفیک پین سنسور:

کتابخانه AM2120_library_config.inc را باز کنید
پورت و پینی که سنسور به آن وصل خواهد شد را تعیین کنید

نحوه ی استفاده از تابع:

برای استفاده از تابع نیاز است که دو متغیر برای دما و رطوبت تعریف کرده و این دو متغیر ها را به تابع ارسال کنید تا دما و رطوبت خوانده شده و در این دو متغیر ذخیره شود
مثال:

توجه کنید که اعداد خوانده شده به صورت عدد صحیح می باشند
برای مثال اگر مقدار ذخیره شده دما برابر با ۲۳۸ باشد مقدار واقعی دما ۲۳٫۸ می باشد
برای نحوه ی نمایش در ال سی دی به مثالی که همراه فایل دانلود کرده اید مراجعه کنید

برای جلوگیری از افزایش بی دلیل ظرفیت کتابخانه از متغیر اعشار در این کتابخانه استفاده نشده است
بنابراین اگر قصد نمایش دما و رطوبت بر روی سون سگمنت دارید بدون هیچ تقسیمی می توانید این کار رو بکنید

نمایش بر روی ال سی دی:

نیاز هست که مقدار دما و رطوبت را قبل از اینکه بر روی ال سی دی نمایش دهید ابتدا تبدیل به رشته کنید و سپس رشته را فرمت دهی کرده و روی ال سی دی نمایش دهید
همانند زیر:

نکته مهم:

فاصله بین زمان خواندن از سنسور باید حداقل ۱۸۰۰ میلی ثانیه و در حالت عادی دو ثانیه باشد بنابرین نباید در کمتر از دو ثانیه بیش از یک بار تابع را صدا بزنید که در غیر این صورت با ارور مواجه خواهید شد

نکته:

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

نکته:

در صورتی که سنسور را در محیط پر نویز استفاده کنید یا سیم ارتباطی بیش از مقدار تعیین شده طولانی باشد ممکن است دیتای دریافتی با مشکل مواجه شود یعنی دیتا ی خوانده شده مقدار واقعی نباشد و همراه با خطا باشد بنابراین در این کتابخانه طبق دیتاشیت check_sum را خوانده و با مقدار خوانده شده دما و رطوبت مقایسه کردیم که در صورت عدم مغایرت متغیر سراسری err_am2120 مقداردهی می شود

لذا در صورت وجود مشکل موقع خواندن مثل عدم تطبیق چک سام ها یا مشکل قطعی سیم پایه سنسور همه اینها ارور محسوب شده و متغیر err_am2120 برابر با یک خواهد بود در غیر این صورت در صورتی که ارور رفع شود مقدار err_am2120 برابر با صفر می شود و می توانید از این متغیر در برنامه خود استفاده کنید

استفاده از کتابخانه برای نمایش در سون سگمنت:

اگر قصد راه اندازی با سون سگمنت داشته باشید برای جلوگیری از رفرش نامنظم سون سگمنت چه اقداماتی را باید انجام دهید
کتابخانه AM2120_library.inc را باز کنید و این خطوط را پیدا کنید (خط شانزدهم):

محاسبه زمان تاخیر تابع رفرش:

معمولا بیشترین تاخیری که باعث چشمک زدن سون سگمنت می شود مربوط به تایم استارت و برقرای ارتباط با سنسور می باشد
شما باید تابع رفرش سون سگمنت را در کد بالا به جای waitms 20 به کار ببرید
باید مقدار تاخیر تابع سون سگمنتها را مشخص کنید که کمتر از دو میلی ثانیه و بیشتر از بیست میلی ثانیه نباشد

برای مثال اگر من یک سون سگمنت مالتی پلکس ۳ رقمی داشته باشم و برای رفرش هر کدام یک میلی ثانیه قرار دهم با هر بار صدا زدن تابع سه میلی ثانیه زمان تلف خواهد شد
کار ما در اینجا تلف کردن زمان به مدت ۲۰ میلی ثانیه می باشد تا سنسور بتواند اماده ادامه روند ارتباط باشد

پس با در نظر گرفتن اینکه تابع رفرش سون سگمنت سه میلی ثانیه زمان تلف می کند من می توانم شش بار تابع را صدا بزنم
با اجرای تابع رفرش به مقدار ۶ بار ۱۸ میلی ثانیه و با احتساب تاخیر اجرای دستورات ، تقریبا ۲۰ میلی ثانیه زمان تلف خواهد شد
در این مدت سون سگمنتها رفرش شده و مشکل چشمک زدن از بین خواهد رفت.

نکته:

حتما پایه دوم سنسور را با مقاومت ۴٫۷ کیلو پول آپ کنید.

برای بزرگنمائی تصویر بر روی عکس کلیک کنید.

 

  • پسورد فایل:www.mculibrary.ir
Massive

رشته کامپیوتر ، گرایش نرم افزار ، فعالیت در زمینه های مدارات دیجیتال منطقی ، میکرو کنترلرهای avr

نوشته‌های مرتبط

قوانین ارسال دیدگاه

  • دیدگاه های فینگلیش تایید نخواهند شد.
  • دیدگاه های نامرتبط به مطلب تایید نخواهد شد.
  • از درج دیدگاه های تکراری پرهیز نمایید.
  • در هنگام درج نظر از به کار بردن کلمات نامتعارف خودداری کنید.
دیدگاه‌ها

*
*

14 − یک =

question