اینترنت اشیا IOT نرم افزار Node Red نمایشگر OLED

محاسبه دما محیط و نمایش بر روی OLED با رزبری پای و Node-Red

ds18b20-with-raspberry-pi-oled-display-and-node-red-digispark
نوشته شده توسط پریسا پوربلورچیان

اندازه گیری و مدیریت دما یکی از اولین پارامترهای مهم اندازه گیری در مدیریت مکان می‌باشد. تا به امروز آموزش های منتوعی از راه اندازی سنسور های دما و نمایش آن در LCD/OLED منتشر شده است اما در این آموزش از برد رزبری پای Raspberry Pi و نمایشگر OLED استفاده خواهیم کرد. در ادامه با مرجع تخصصی رزبری پای Raspberry Pi، دیجی اسپارک همراه باشید.

 


راه اندازی OLED بدون کدنویسی


بدون شک وقتی از نمایشگر OLED صحبت می‌کنیم، با توجه به نوع درایور به دنبال کتابخانه مرتبط با آن خواهیم گشت مانند SSD1306. بر خلاف گذشته این بار توسط Node-Red و بدون نیاز به کدنویسی نمایشگر OLED و سنسور دما را راه اندازی خواهیم کرد. انتخاب های متنوعی برای سنسور وجود دارد مانند سنسور دما رطوبت DHT سری DHT11 و یا DHT22، سنسور‌ سری DS18B20 که در این آموزش از سنسور DS18B20 استفاده خواهیم کرد.  

 


اتصالات


  • پایه Data سنسور DS18b20 را به GPIO4 اتصال دهید.
  • پایه GND , VCC سنسور را به ترتیب به ۳٫۳ و GND رزبری پای اتصال دهید.
  • بین دو پایه دیتا Data و پایه VCC از یک مقاومت ۴٫۷ کیلو استفاده کنید.
  • پایه SDA نمایشگر OLED را به پایه GPIO2 که همان پایه SDA است، اتصال دهید.
  • پایه SCK نمایشگر OLED را به پایه GPIO3 اتصال دهید.
  • پایه GND , VCC نمایشگر OLED را به ترتیب به ۳٫۳ و GND رزبری پای اتصال دهید.

 


راه اندازی سنسور DS18b20 در Node-Red


جهت تست و راه اندازی سنسور دما DS18B20 نود رد Node-Red چند نود اختصاصی برای ابن سنسور در نطر گرفته است. برای یافتن نودهای مربوطه کافیست کلید واژه DS18B20 را فیلتر کنید.

نودها را نصب install کنید تا به لیست نودهای مورد استفاده اضافه شود. با اتصال سنسور به رزبری پای نود DS18B20 به صورت اتوماتیک سنسور را شناسایی و آی دی را نمایش میدهد.


استفاده از نود Function


نود فانکشن Function جهت اجرای دستورات جاوااسکریپت برای تبدیل به پیام های با فرمت شی استفاده می‌شود. نود فانکشن پیام مبتنی بر شی object را به عنوان ورودی تایید کرده و سپس در خروجی ۰ و یا پیام های object بیشتری را برمیگرداند. در این آموزش از سه نود فانکشن استفاده می‌شود.

  • تبدیل عدد به رشته:

با توجه به اینکه در خروجی عدد دریافت می‌شود، بایستی به string و یا همان رشته تبدیل شود. برای اینکار از دستور زیر جهت تبدیل عدد به رشته استفاده می‌کنیم:

 

  • نمایش کاراکتر دلخواه در مقابل دیتا

جهت نمایش کاراکتر و با هر اسم دلخواه در مقابل دیتا میتوانید با دستور زیر آن را اضافه نمایید. با توجه به اینکه دما بر حسب سانتی گراد خوانده و نمایش داده میشود، از کاراکتر C* در مقابل دما استفاده می‌کنیم:

  • انتخاب ابعاد نمایش داده شده در OLED

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


استفاده از نود OLED


نود oled کار و راه اندازی نماییشگر OLED را بسیار برای ما ساده کرده است. نود را از منو manage palette فیلتر و نصب کنید.

جهت نمایش رشته مورد نیاز از نود String استفاده می‌کنیم. نود را انتخاب و وارد صفحه کنید. سپس با توجه به نوع OLED مورد استفاده تنظیمات را انجام دهید.

اتصال تمامی نودها

همانند تصویر زیر نود ها را به یکدیگر اتصال داده و Deploy کنید.

به دلخواه میتوانید از یک نود UI جهت نمایش دما در محیط Dashboard استفاده کنید.

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

 


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


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

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

پریسا پوربلورچیان

تولید کننده محتوا / کارشناس IOT

زندگی یعنی پژوهش و فهمیدن چیزی جدید

تلاشم بر این است تجربیاتم در زمینه IOT‌ را به بهترین شکل با شما در میان بگذارم.

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