میکرو لایب

راه اندازی تعداد دلخواه dht11 با مالتی پلکسر

راه اندازی DHT11

در پست های قبلی با مالتی پلکسر و دی مالتی پلکسر آشنا شدیم توی این پست به صورت عملی سعی می کنیم که تعدادی dht11 رو با استفاده از دی مالتی پلکسر به میکرو متصل کنیم

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

پروتکل ارتباطی DHT11:

ابتدا نیاز است که با پروتکل ارتباطی dht11 اشنا بشید

dht11 چهار پایه دارد که پایه اول VCC ، پایه دوم همان پین DATA و پایه چهارم هم GND می باشد پایه سوم به جایی وصل  نخواهد شد

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

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

انتخاب مالتی پلکسر مناسب:

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

معرفی مالتی پلکسر ۷۴HC4051:

آی سی ۷۴HC4051  و ۷۴HC4067 هر دو مالتی پلکسر یا دی مالتی پلکسر با ورودی و خروجی مشترک هستند مالتی پلکسر ۷۴HC4051 یک ماتی پلکسر سه به هشت و مالتی پلکسر ۷۴HC4067 یک مالتی پلکسر ۴ به ۱۶ می باشد شما می توانید برای ۷۴HC4051 تعداد هشت سنسور  وصل کنید و توسط چهار پایه که به میکرو کنترلر وصل می شوند عمل خواندن را انجام دهید و همینطور می توانید به مالتی پلکسر ۷۴HC4067 تعداد ۱۶ تا سنسور وصل کنید و توسط ۵ پایه عمل کنترل را انجام دهید همچنین با استفاده تعداد بیشتر از این مالتی پلکسر ها و با در نظر گرفتن پایه های enable انها می توانید سنسور های بیشتر از ۱۶ عدد را نیز به مالتی پلکسر وصل کرده و عمل کنترل را انجام دهید

خوب در این پروژه ما از مالتی پلکسر ۷۴Hc4051 استفاده می کنیم بهتر است سری به دیتاشیت ای سی زده و با پایه های مالتی پلکسر آشنا شویم.

ولتاژ کاری ۷۴HC4051:

ولتاژ کاری این مالتی پلکسر ۴٫۵ تا ۵٫۵ ولت می باشد و همینطور کمترین ولتاژ سنس پایه های ورودی خروجی ۲ و بیشترین آن ۶ ولت می تواند باشد.

شرح پایه ها:

همانطور که می بینید پایه های A0 تا A7 کانال ورودی و خروجی هستند پس یعنی پایه های دیتا سنسور ها را باید به  این پایه ها وصل کنیم و همینطور پایه A هم تک ورودی و خروجی مشترک هست که با آدرسی دهی توسط پایه های S0 تا S2 می توانیم پایه A را به هر یک از کانال ورودی و خروجی وصل کنیم اگر بر فرض مثال پایه های سلکتور را S0 تا S2 را با مقدار صفر پیکره بندی کنیم پایه A به پایه A0 متصل شده و در نتیجه سنسوری که به پایه A0 وصل هست آماده دریافت داده است و اگر مقدار سلکتور را با عدد ۲ مقدار دهی کنید  پایه A به پایه A2 وصل شده و اینبار  می توانید مقدار سنسور سوم را بخوانید و همینطور تا خواندن هشتمین سنسور ادامه خواهید داد.

مالتی پلکسر ۷۴hc4051 در پکیجاهای مختلفی تولید می شود که مهمترین آنها پکیج dip  و پکیج smd می باشد.

البته در این پروژه از پکیج Smd و برای راحتی کار از  ماژول آن استفاده شده است.

در ادامه مثالی با همین مالتی پلکسر برای خواندن مقدار دما و رطوبت چهار سنسور dht11 آورده می شود

کدها هم به زبان بیسیک و هم به زبان سی گذاشته می شوند که در ادامه می توانید ببینید

شماتیک پروژه در محیط پروتیوس:

ال سی دی مورد استفاده در این پروژه از نوع ۲X20 می باشد شما می توانید از ال سی دهای دیگری نظیر ۱۶X2 استفاده کرده که در این صورت حتما باید کد ها را متناظر با نوع ال سی دی تغییر دهید.

کد های بیسیک و کدویژن:

کد کدویژن:

در ادامه می توانید ویدیو این پروژه رو مشاهده بفرمایید

شما می توانید سنسور های دیگری مثل DHT22 که آدرس فیزیکی ندارند به همین طریق راه اندازی کنید…

هر گونه سوالی که مد نظرتان بود بپرسید پاسخ می دهیم.

دیدگاه‌ها (2)

*
*

    حسن مهمان نوامبر 19, 2020 پاسخ

    ممنون بابت به اشتراک گذاشتن کدها
    تو هیج سایتی پیداش نمیکردم

      mast3r مدیر کل نوامبر 19, 2020 پاسخ

      خواهش می کنم
      و موفق و موید باشید...

question