سنسور دمای DS18B20 در میکرو STM32

دماسنج دیجیتال DS18B20 اندازه گیری درجه حرارت ۹ بیتی تا ۱۲ بیتی سلسیوس را فراهم می کند. مانند DHT11 و DHT22 ، DS18B20 همچنین با یک باس ۱ سیم ارتباط برقرار می کند که برای تعریف فقط به یک خط داده (و زمینی) برای ارتباط با میکروکنترلر نیاز دارد. بیایید نحوه برنامه ریزی سنسور دما ds18b20 را با استفاده از STM32 ببینیم.

می خواهم فرآیند راه اندازی Cubemx را طبق معمول انجام دهیم. ما از پین PA1 استفاده می کنیم زیرا پین داده برای سنسور و کنترلر با حداکثر فرکانس را برای ما فراهم می کند. همچنین از کتابخانه DWT برای تأخیر در میکرو ثانیه ها استفاده می کنیم.

برای اینکه سنسور کار کند ، باید هر زمان آن را راه اندازی اولیه کنیم. مطابق با داده اطلاعات ، ابتدا با پایین کشیدن پین داده به مقدار ۴۸۰ میکرو ثانیه و برای خواندن از پین ارسال شده توسط سنسور انجام می شود.

برای نوشتن BIT به سنسور ، باید برخی عملیات را در خط داده انجام دهیم. برای تولید نوشتن ۱ Wire ، پس از پایین کشیدن باس ۱ Wire ،  master باید باس ۱ Wire را در ۱۵ میکرومتر آزاد کند. هنگامی که باس رها شد ، مقاومت kΩ ۵ بالا کش ، باس را بالا نگه می دارد.

برای تولید نوشتن ۰ Time Slot، پس از پایین کشیدن باس ۱ Wire ، master باید همچنان برای نگه داشتن باس برای مدت زمان Time Slot (حداقل ۶۰ میکرومتر) ادامه دهد.


دانلود پروژه