در این قسمت به ادامهی آموزش توابع کتابخانه U8glib به منظور راهاندازی OLED میپردازیم. با مرجع تخصصی آردوینو ، دیجی اسپارک همراه باشید .
آموزش ماژول نمایشگر OLED آردوینو بخش اول
آموزش ماژول نمایشگر OLED آردوینو بخش دوم
آموزش ماژول نمایشگر OLED آردوینو بخش سوم
آموزش ماژول نمایشگر OLED آردوینو بخش چهارم
setFont
توسط این تابع میتوان فونت متنی که میخواهیم بر روی روی OLED نمایش دهیم را تغییر دهیم .ساختار این تابع به صورت زیر میباشد:
setFont(const u8g_fntpgm_uint8_t *font)
از این تابع باید در ابتدازی “حلقه رسم” یا درون setup برنامه استفاده شود.
تعدادی از فونتهای قابل استفاده به صورت زیر میباشند:
فونت با ارتفاع ۳۵پیکسل:
فونت با ارتفاع ۳۰ پیکسل:
فونت با ارتفاع ۲۹ پیکسل :
فونت با ارتفاع ۲۶ پیکسل :
فونت با ارتفاع ۲۵ پیکسل :
فونت با ارتفاع ۲۴ پیکسل :
فونت با ارتفاع ۲۱ پیکسل :
فونت با ارتفاع ۲۰ پیکسل:
فونت با ارتفاع ۱۸ پیکسل :
فونت با ارتفاع ۱۷ پیکسل :
فونت با ارتفاع ۱۴ پیکسل :
فونت با ارتفاع ۱۳ پیکسل:
فونت با ارتفاع ۱۲ پیکسل :
فونت با ارتفاع ۱۱ پیسکل :
فونت با ارتفاع ۱۰ پیکسل :
فونت با ارتفاع ۹پیکسل :
فونت با ارتفاع ۸ پیکسل :
فونت با ارتفاع ۷ پیکسل :
فونت با ارتفاع ۶ پیکسل :
drawRBox
این تابع مستطیلی توپر با لبههای گرد رسم میکند. ساختار تابع به شکل زیر میباشد.
drawRBox(u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h, u8g_uint_t r)
x و y مختصات شروع رسم مستطیل ، w مقدار طول ، h مقدار ارتفاع مستطیل و r شعاع گردی لبهها را مشخص میکند.
برای مقدار دهی r باید شرایط زیر را در نظر بگیریم:
w >= 2*(r+1) , h >= 2*(r+1)
مثال:
#include <U8glib.h> U8GLIB_SH1106_128X64 u8g (U8G_I2C_OPT_NONE); void setup () { u8g.setFont (u8g_font_timB10); Serial.begin (9600); } void loop () { Serial.println (u8g.getPrintCol ()); //حلقه رسم u8g.firstPage (); do { u8g.setFont (u8g_font_osb18); u8g.drawRBox (10, 10, 100, 40, 5); } while ( u8g.nextPage () ); delay (1000); }
در مثال فوق مستطیلی توپر به طول ۱۰۰ و ارتفاع ۴۵ در مختصات x=10 , y=10 و با لبهی گردی به شعاع ۵ رسم میکند.
drawRFrame
این تابع کادری با لبههای گرد بر روی OLED ٰرسم میکند.ساحتار تابع به صورت زیر میباشد:
drawRFrame(u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h, u8g_uint_t r)
x و y مختصات شروع رسم کادر، w مقدار طول ، h مقدار ارتفاع مستطیل و r شعاع گردی لبهها را مشخص میکند.
برای مقدار دهی r باید شرایط زیر را در نظر بگیریم:
w >= 2*(r+1) , h >= 2*(r+1)
مثال:
#include <U8glib.h> U8GLIB_SH1106_128X64 u8g (U8G_I2C_OPT_NONE); void setup () { u8g.setFont (u8g_font_timB10); Serial.begin (9600); } void loop () { Serial.println (u8g.getPrintCol ()); //حلقه رسم u8g.firstPage (); do { u8g.setFont (u8g_font_osb18); u8g.drawRFrame (10, 10, 100, 40, 5); } while ( u8g.nextPage () ); delay (1000); }
سلام.چطور صفحه رو پاک کنم؟
هر چی گشتم نبود!!
سلام
با توجه به نوع کتابخانه مورد استفاده دستورات متفاوت است و باید خودتان بررسی کنید. به عنوان مثال میتوانید از دستور ; ()clear_screen استفاده نمایید.