توضیحات

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

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

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


 

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

 

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

 

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

 


 

توضیحات:

توضیحات مربوط به هدر فایل delay.h:

قبل از هر چیزی باید تنظیمات مربوط به کلاک میکروکنترلر را تعیین کنید هدر فایل delay.h را درابتدای برنامه اضافه کرده و ان را باز کنید سپس این دو خط را به صورت زیر تنظیم کنید:

نکته:شما می توانید فرکانس کاری میکروکنترلر را از ۱ تا ۱۶ مگاهرتز تنظیم کنید.

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

برای افزودن کتابخانه فایل AM2120.h را در ابتدای برنامه اینکلود کنید
تنظیمات کانفیک پین سنسور:

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

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

اگر از ال سی دی برای نمایش مقدار دما و رطوبت استفاده می کنید ثابت USE_LCD را بر روی YES قرار دهید در غیر این صورت ثابت USE_LCD را برابر با NO قرار دهید.

در صورتی که USE_LCD را برابر با YES قرار دهید مقدار دما و رطوبت خوانده شده در قالب float خواهد بود اما در صورتی که ثابت USE_LCD را برابر با NO قرار دهید قالب دما و رطوبت خوانده شده به صورت اینتیجر خواهد بود که این قالب برای نمایش در سون سگمنت مناسب می باشد.

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

با صدا زدن تابع دما و رطوبت خوانده شده و در دو متغیر Temperature , humidity ذخیره می گردد
مثال:

نکته مهم:

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

نکته۱:

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

نکته۲:

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

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

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

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

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

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

نکته:مثال همراه با lcd16x2 ایجاد شده است
باید مقدار تاخیر تابع سون سگمنتها را مشخص کنید که کمتر از دو میلی ثانیه و بیشتر از بیست میلی ثانیه نباشد

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

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

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

نکته:حتما در مسیر تغذیه سنسور  خازن ۱۰۰ نانو فاراد قرار دهید.

ویدیو تست:

 

توضیحات تکمیلی

نام محصول

کتابخانه AM2120

زبان

C

راهنمای فارسی

آنچه در سایت ذکر شد

سطح کد نویسی

C

زمان آماده سازی

ــــ

کامپایلر

IAR Embedded For STM8

ورژن کامپایلر

3.11.1

پشتیبانی

15 روز

ورژن کتابخانه

20210402

شبیه ساز

ندارد

مثال همراه

دارد

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

هیچ دیدگاهی برای این محصول نوشته نشده است.

اولین کسی باشید که دیدگاهی می نویسد “کتابخانه AM2120 برای STM8”

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