نمایشگرهای OLED به واسطه سبک بودن و ابعاد کوچکشان، بسیار مورد توجه هستند. برای نمایش انواع تصاویر و نوشتهها انتخاب مناسبی است. به واسطه کیفیت و DPI بالای این نوع نمایشگر، تصاویر و کاراکترها بسیار زیبا نمایش داده میشوند. موارد استفاده از نمایشگر OLED در رباتها و دستگاههای اینترنت اشیاء IoT بسیار مورد توجه میباشد. در ادامه مجموعه آموزشهای ماژول OLED با مرجع تخصصی آردوینو به زبان فارسی ، دیجی اسپارک همراه باشید.
۱- ماژول گرافیکی OLED
در بخش اول آموزش کار با ماژول OLED گرافیکی، به بررسی کامل وتوضیحات آن پرداختیم. ماژول OLED گرافیکی دارای رزولوشن بالا ۱۲۸*۳۲ میباشد. بسیار سبک، دارای قیمت مناسبی است. در پروژههای آردوینو بسیار پرکاربرد است. ابعاد این ماژول در حدود ۰٫۹۱ اینچ است. از ویژگیهای این OLED میتوان به این نکته اشاره کرد که بدون Backlight قابلیت راه اندازی خواهد داشت. تراشه به کار رفته در این OLED، آی سی درایورSSD1306BZ میباشد. با کلیک بر روی لینک آموزش بخش اول میتوانید اطلاعات بیشتری مطالعه نمایید.
۲- سنسور دما رطوبت DHT22
سنسور دما و رطوبت DHT22 و یا به عبارت دیگر AM2302 یکی از پر طرفدارترین سنسورهای دما رطوبت در پروژههای DIY است. ظاهر این سنسور سفید و از ۴ پایه تشکیل شده است. پایه خروجی OUT به پایه دیجیتال میکروکنترلر متصل میگردد. ولتاژ مورد نیاز جهت راه اندازی سنسور AM2302 بین ۳٫۳ تا ۵٫۵ ولت DC است. جریان سنسور در حالت کاری حدود ۱٫۵ میلی آمپر است و در حالت STANDBY در حدود ۰٫۰۲ میلی آمپر است. محدوده اندازه گیری دمای سنسور DHT22 بین – ۴۰ تا + ۸۰ درجه سانتی گراد با دقت ۱ درجه سانتی گراد است. همچنین این سنسور توانایی تشخیص رطوبت در محدوده ی ۰ تا ۹۹٫۹ %RH با دقت ۰٫۱% دارد. لینک دانلود کتابخانه DHT در صفحه محصول کالا در قسمت دانلود قرار گرفته شده است. بر روی لینک کلیک کنید.
۳- کتابخانه دما رطوبت آردوینو
برای راه اندازی این پروژه از یک OLED گرافیکی و سنسور DHT22 به همراه برد آردوینو ARDUINO UNO استفاده شده است. در ادامه به بررسی کتابخانه لازم جهت راه اندازی OLED و کد برنامه خواهیم پرداخت.
کتابخانه U8G2LIB
در آموزش بخش اول آموزش کار با ماژول OLED کتابخانههای مورد نیاز کامل توضیح داده شد. همچنین لینک دانلود کتابخانه در متن آموزش قرار گرفته شده است. بر روی لینک کلیک کرده و آموزش مربوطه را مطالعه نمایید. پس از نصب کتابخانه U8G2LIB در فایل هگز کتابخانه دستور فراخوانی ماژول OLED با ابعاد و تراشههای مختلف مشخص شده است. تنها باید با توجه به نوع OLED استفاده شده، دستور فراخوانی آن را پیدا کرده و در کد برنامه جایگزین کنید. همچنین دقت کنید برای هر تراشه دو تا سه ابعاد مختلف وجود دارد که تنها ابعاد نمایش آن در صفحه نمایش متغیر است. باید یک به یک انتخاب و در کد برنامه جایگزین کنید تا محتوای مورد نظر به درستی در صفحه نمایش OLED نمایش داده شود. به عنوان مثال در این با انتخاب دستور زیر تمامی محتواها کامل در صفحه نمایش OLED نمایش داده میشود و من آن را انتخاب کردم:
U8G2_SSD1306_128X64_NONAME_1_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE);
کتابخانه DHT
کتابخانه DHT جهت فراخوانی سنسورهای دما رطوبت مدل DHT به کار برده میشود. طبق تعریف توابع کتابخانه DHT، تنها باید نوع DHT مورد استفاده در کد برنامه مشخص گردد. در این پروژه از سنسور دما و رطوبت DHT22 استفاده شده است. پس طبق تعریف کتابخانه باید نوع DHT در کد برنامه مشخص شود. برای این منظور پس از فراخوانی کتابخانه DHT، کد زیر را در برنامه اضافه خواهیم کرد:
#define DHTTYPE DHT22 // مشخص کردن نوع سنسور
پس از مشخص شدن نوع DHT، پایه متصل شده به سنسور در کد برنامه مشخص میگردد:
#define DHTPIN 2 // پایه سیگنال سنسور به پایه ۲ دیجیتال متصل است
۴- فراخوانی دما رطوبت DHT22
دو دستور جهت فراخوانی دما رطوبت در کد برنامه فراخوانی شده است. شاید برای شما سوال پیش بیاید چرا از حلقه های DRAW و FIRSTPAGE استفاده شده است. کتابخانه U8G2 بسیار گسترده است و برای بررسی کامل آن باید کاربرد هر یک از توابع را در یک پروژه تست کرد. در این کد از حلقه Draw برای خواندن و نوشتن مقدار دما و رطویت استفاده شده است. همچنین تنظیمات ابعاد نمایش محتوا توسط تابع u8g2 در این حلقه قرار گرفته شده است. حال تابع firstpage و nestpage را فراخوانی میکنیم. این دو تابع یک ترفند جهت کم کردن حافظه RAM است که در کتابخانه u8g2 قرار گرفته شده است و با فراخوانی آن تابع Draw با کمترین مصرف حافظه RAM اجرا میگردد.
void draw(void) { float h = dht.readHumidity(); float t = dht.readTemperature(); // خواندن دما بر حسب فارنهایت float f = dht.readTemperature(true); u8g2.setFont(u8g2_font_helvB10_tf); u8g2.setCursor(0, 16); u8g2.print("Temp & Humidity"); u8g2.setFont(u8g2_font_helvB18_tf); u8g2.setCursor(0, 42); u8g2.print("T= "); u8g2.print(t); u8g2.print(" *C"); u8g2.setCursor(0, 64); u8g2.print("H= "); u8g2.print(h); u8g2.print(" %"); }
۸g2.firstPage(); do { draw(); } while ( u8g2.nextPage() ); delay(1000);
اتصالات
- پایه SDA ماژول OLED را به پایه A4 آردوینو Arduino اتصال دهید.
- پایه SCL ماژول OLED را به پایه A5 آردوینو Arduino اتصال دهید.
- پایه DATA ماژول DHT را به پایه ۲ دیجیتال آردوینو Arduino اتصال دهید.
۵- کدنویسی نمایشگر دما رطوبت
محدودیت در دسترسی کامل به این مجموعه آموزش
دسترسی کامل به آموزش برای اعضای دیجی اسپارک امکان پذیر است. بخش اصلی آموزش شامل سورس کدهای توسعه داده شده توسط مهندسهای دیجی اسپارک است. به همین دلیل این آموزش خاص و یکتاست. برای استفاده از آن بایستی عضویت تهیه کنید. تبادل نظر با کاربران و پرسش سوال رایگان است و میتوانید از بخش نظرات همین آموزش اقدام کنید. |
وسایل مورد نیاز
چنانچه در مراحل راه اندازی و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریعترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد. همچنین اگر ایرادی در کدها و یا مراحل اجرایی وجود دارند میتوانید از همین طریق اطلاع رسانی کنید.
پروژه و دریافت بن ارسال رایگان
برای دریافت بن خرید از دانشجو کیت، کاربران بایستی با استفاده از وسایل این آموزش، پروژه را اجرا کرده و یا حتی مدار جدیدی تعریف کنید. سپس از اجرای کار فیلم گرفته و در شبکههای اجتماعی از جمله آپارات و اینستگرام، با هشتگهای دیجی_اسپارک و دانشجوکیت و digispark و daneshjookit منتشر کنند. سپس از طریق بخش نظرات در ادامه همین آموزش، جهت دریافت بن خرید ارسال رایگان به ارزش ۱۰۳۰۰ تومان از دانشجو کیت، لینک را زیر همین پست ارسال کنید.
در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.
سلام
من نمیتونم کتابخونه dht22 نصب کنم
باید چیکار کنم؟
سلام
لینک دانلود کتابخانه در متن آموزش قرار داده شده است. پس از دانلود کتابخانه ابتدا فایل را از فرمت زیپ خارج کرده و سپس در پوشه Arduino/ Library کپی کنید.
مجددا مراحل گفته شده را بررسی و نتیجه را اعلام کنید.
سلام خانم مهندس
من آردوینو نانو دارم، و هنگام کمپایلینگ خطای نوع آردینو را میده ، امکانش هست کد را برای راه اندازی ال سی دی wg12864a باز نویسی کنید . متشکرم از زحمات ارزنده شما
ایمیل من
با سلام
خیر در حال حاضر امکان قبول پروژه وجود ندارد.
سلام خسته نباشید یه پروژه ی ساده از آردینیو و پروتئوس میخواستم … از کجا میتونم تهیه کنم
با سلام
در این خصوص از آموزش شبیه سازی بردهای آردوینو در پروتئوس نرم افزار Proteus استفاده کنید.
سلام
OLED که من خریدم ۱۲۸*۳۲
با این کد میشه راه اندازی کرد؟
سلام
بله هیچ تفاوتی ندارد. همانطور که در کدها اشاره شده است تنها باید با توجه به نوع OLED کد مربوطه را از حالت کامنت خارج کنید.
سلام
متن دما و رطوبت برای من خیلی بزرگه و از کادر خارج میشه
لطفا راهنمایی کنید
سلام
دقت کنید ابعاد OLED در متن کد به درستی انتخاب شده باشد و سپس با خارج کردن نوع oled مورد نظر از حالت کامنت حالت های مختلف را بررسی کنید.
سلام خسته نباشید
ازاین ماژول میشه برای دستگاه جوجه کشی استفاده کرد
ممنون اگه راهنمایم کنید
با سلام
پیشنهاد میشود از ماژول های کنترلر دما مانند ماژول کنترلر دما با سنسور NTC -10K 0.5% ضدآب مدل W1209 مناسب دستگاه جوجه کشی استفاده کنید.
سلام
لطفا راهنمایی کنید که چطور dht11 را جایگزین dht22کنم.
مرسی از لطف همیشگی شما و پاسخ سریع
سلام
در این خصوص باید در دستورات ماکرو، نوع DHT را DHT22 انتخاب کنید. در متن کدها مشخص شده است.
سلام
لطفا لینک دانلود کتابخانه را قرار دهید.
سلام
در متن آموزش توضیح داده شده است. با دقت بررسی و مطالعه کنید.
سنسور دما و رطوبت DHT22 برند Asair
سلام
EXIT STATUS 1
ERROR COMPILING FOR BOARD ARDUINO/GENUINO UNO
به چه معنی هست
تشکر؟
سلام
مربوط به نوع برد انتخابی است. از کدام یک از مدل های برد آردوینو استفاده میکنید؟
سلام.وقتتون بخیر،ممنون از اموزش خوبتون
محدوده ی دمایی ک سنسور میده بر حسب سانتی گراد هست؟؟!!! ولی تو کد ها کامنت گذاشتین خواندن دما بر حسب فارنهایت.دمایی هم ک تو سریال مانیتور میبینم ب نظر بر حسب فارنهایت هست. چطور میتونم دما رو به سانتی گراد تبدیل کنم؟؟؟؟
ببخشید اشتباه از من بود.دما رو بر حسب سانتیگراد نمایش میده
سلام مجدد
بسیار عالی
موفق باشید.
با سلام
از توجه شما ممنونم.
در این آموزش دما در بر حسب سانتی گراد اندازه گیری شده و نمایش داده میشود.
از سریال مانیتور خود تصویر ضمیمه نمایید تا بررسی گردد.
کتابخانه U8G2LIBمیخواستم
با سلام
در این خصوص به آموزش های زیر مراجعه کنید.
آموزش افزودن فونت LCD گرافیکی ۱۲۸×۶۴ با کتابخانه آردوینو
آموزش راه اندازی ال سی دی LCD گرافیکی ۱۲۸×۶۴ با آردوینو
سلام
این ارور مربوط به چیه؟
U8g2lib.h: No such file or directory
چیکار باید بکنم؟
با سلام
کتابخانه مربوط به u8g2lib نصب نشده است.
سلام
لطفا پروژه ساخت ساعت دیجیتال با نمایشگر دات ماتریس و قابلیت نشان دادن دمای محیط و زنگ هشدار را آموزش دهید
باتشکر
با سلام
کاربر گرامی از پیشنهاد شما ممنونم. در صورت امکان آموزش داده خواهد شد.
سلام یک سوال داشتم می خواستم بدونم اینترفیست سنسور دما و روطوبت با اردواینو چیه
با سلام
ارتباط از طریق لایبری که برای سنسور توسعه یافته شده است، برقرار شده و به دلخواه با یکی از پایه های دیجیتال متصل میشود.
سلام خانم مهندس
با ماژول dht11 هم میشه با همین کد راه اندازی کرد؟
با سلام
بله فقط در کدها به جای DHT22 عدد DHT11 را وارد کنید.