اینترنت اشیا 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 و یا همان رشته تبدیل شود. برای اینکار از دستور زیر جهت تبدیل عدد به رشته استفاده می‌کنیم:

msg.payload=String(msg.payload);
return msg;

 

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

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

msg.payload +=" *C";
return msg;

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

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

msg.payload = { "size":3, "x":3,"y":3,"text":msg.payload};
return msg;


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


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

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

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

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

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

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

 


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


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

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

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

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

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

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

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

۲۸ دیدگاه

  • عالی بود یه سوال گزینه وای‌فای و بقیه گزینه برای نمایش در نمایشگر به چه صورت هستش؟
    اون ها رو چطور میتونیم راه اندازی کنیم؟

  • یه سوال دیگ چطور میشه چند تا نمایشگر دیگ به رزبری پای وصل کرد ؟
    طوری که هر نمایشگر متن ویا شکل مجزایی نمایش بده

  • سلام من یه مشکل دارم
    مشکل اینه که تو محیط ابر (وایلیودرین)برد رو نمیشناسه.یعنی به ابر وصل نمیشه

    • با سلام
      تمامی نودهای مربوط به DS18B20 یکسان هستند و در صورت برقراری ارتباط یک دیتای مشخص ارسال میکنند. بررسی و نتیجه را اعلام نمایید.

  • سلام وقت بخیر
    چطور میتونم با node red از شیلد ال سی دی ۳٫۵ یا ۳٫۲ اینچی رزبری استفاده کنم؟

    • با سلام
      تفاوتی وجود ندارد. شیلد ال سی دی ۳٫۵ یا ۳٫۲ هر دو جهت نمایش دسکتاپ رزبری پای استفاده می‌شود و دسترسی به تمامی نرم افزارها و تنظیمات وجود دارد.

  • سلام وقت بخیر
    دما و رطوبت را از محیط بگیرد (با استفاده از قطعات)و در دیتابیس ذخیره کند.
    میشه راجب حلش راهنمایی کنید
    بدون قطعات هم میشه؟

    • با سلام
      کاربر گرامی سوال شما شفاف نیست. واضح تر بفرمایید تا بررسی شود.

  • باسلام
    من وقتی نود edit sensor-ds18b20 node
    را باز میکنم طبق گفته شما باید ای دی سنسور را به طور خودکار بشناسه
    ولی از من هیچی ننوشته و امکان ویرایش ندارد
    لطفا راهنماییم کنید

    • با سلام
      در صورتیکه تنظیمات ۱-wire را فعال نکنید، تغییراتی مشاهده نمی‌کنید. همچنین اتصاالات را بررسی کنید.

    • با سلام
      در منو Raspbian بر روی Raspberry Pi Configuration کلیک کرده و سپس در بخش Interface گزینه ۱-Wire فعال Enable کنید.

  • سلام
    ببخشید ۳ نود آبی، سبز و خاکستری رنگ هست
    شما توضیحی در این باره ندادید
    لطفا راهنمایی کنید

    • با سلام
      دقت داشته باشید در صورتیکه تا به حال با نرم افزار نود رد کار نکرده اید، بایستی در ابتدا بخش های ابتدایی آموزش ها را اجرا کنید که به ترتیب بخش بندی شده است و تمامی این نودهای ساده آموزش داده شده است.
      نود سبز رنگ نود Debug برای نمایش خروجی است.
      نود آبی نود UI جهت نمایش دیتا در محیط گرافیکی UI است و نود دیگر نود Inject ورودی برای ارسال فرمان است.