آموزش راهاندازی ماژول نمایشگر OLED آردوینو
در قسمت اول از سری آموزشهای OLED ، به طریقه اتصال OLED به Arduino و همچنین نمایش ساده یک متن در نمایشگر پرداختیم. در این قسمت به توضیح توابع کتابخانه U8glib خواهیم پرداخت و در قسمتهای بعدی نیز پروژههای نسبتا پیچیده با نمایشگر OLED انجام میدهیم. با مرجع تخصصی آردوینو ، دیجی اسپارک همراه باشید.
drawLine
ساختار تابع به صورت زیر میباشد:
u8g.drawLine ( u8g_uint_t x1, u8g_uint_t y1, u8g_uint_t x2, u8g_uint_t y2)
توسط این تابع خطی از مختصات (x1,y1)که مختصات شروع میباشد به مختصات (x2,y2) که مختصات پایان میباشد رسم میشود. از این تابع باید در “حلقهی سم” استفاده شود.
مثال:
#include <U8glib.h> U8GLIB_SH1106_128X64 u8g (U8G_I2C_OPT_NONE); void setup () { u8g.setFont (u8g_font_timB10); } void loop () { //حلقه رسم u8g.firstPage (); do { u8g.drawLine (7, 10, 40,55); } while ( u8g.nextPage () ); delay (1000); }
و در اجرا همانند زیر میباشد :
drawHLine
ساختار آن همانند قطعه کد زیر میباشد :
u8g.drawHLine ( uint8_t x, uint8_t y, u8g_uint_t w)
توسط این تابع خطی افقی از مختصات x و y ، از سمت چپ به راست به طول w رسم میشود. از این تابع میبایست در “حلقه رسم” استفاده شود.
مثال:
#include <U8glibU8glib.h> U8GLIB_SH1106_128X64 u8g (U8G_I2C_OPT_NONE); void setup () { u8g.setFont (u8g_font_timB10); } void loop () { //حلقه رسم u8g.firstPage (); do { u8g.drawHLine (20,29, 50); } while ( u8g.nextPage () ); delay (1000); }
drawVLine
این تابعی دارای ساختاری به شکل زیر میباشد :
drawVLine(u8g_uint_t x, u8g_uint_t y, u8g_uint_t h)
این تابع خطی عمودی از مختصات x و y از بالا به پایین به ارتفاع h رسم میکند. از این تابع نیز باید در “حلقهی رسم نوشته شود”.
مثال:
#include <U8glib.h> U8GLIB_SH1106_128X64 u8g (U8G_I2C_OPT_NONE); void setup () { u8g.setFont (u8g_font_timB10); } void loop () { //حلقه رسم u8g.firstPage (); do { u8g.drawVLine (10, 29, 50); } while ( u8g.nextPage () ); delay (1000); }
drawBox
ساختار تابع مطابق شکل زیر میباشد :
drawBox(u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h)
این تابع مستطیلی ( تو پر ) از مختصات x و y به طول w و به ارتفاع h رسم میکند. این تابع نیز همانند بقیه توابع گرافیکی باید درون “حلقه رسم” نوشته شود.
مثال:
#include <U8glib.h> U8GLIB_SH1106_128X64 u8g (U8G_I2C_OPT_NONE); void setup () { u8g.setFont (u8g_font_timB10); } void loop () { //حلقه رسم u8g.firstPage (); do { u8g.drawBox (10, 12, 20, 30); } while ( u8g.nextPage () ); delay (1000); }
drawFrame
این تابع کادری از مخصات x و y ، به طول w و ارتفاع h رسم میکند. از این تابع درون “حلقه رسم استفاده میشود ”
ساختار تابع به شکل زیر میباشد :
drawFrame(u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h)
مثال:
#U8glib.h> U8GLIB_SH1106_128X64 u8g (U8G_I2C_OPT_NONE); void setup () { u8g.setFont (u8g_font_timB10); } void loop () { //حلقه رسم u8g.firstPage (); do { u8g.drawFrame (10, 12, 30, 20); } while ( u8g.nextPage () ); delay (1000); }
سلام.ممنون مفید بود.منتظر اموزش های بعدی هستیم.
[…] آموزش راهاندازی ماژول نمایشگر OLED آردوینو بخش دوم […]
[…] آموزش ماژول نمایشگر OLED بخش دوم […]
با سلام. لطفا درباره حلقه رسم بیشتر توضیح بدهید
با سلام
در حلقه رسم با توجه به اینکه در این آموزش از کتابخانه U8G استفاده شده است، با فراخوانی تابع drawLine میتوانید یک خط در صفحه نمایش ایجاد کنید. حال در ایت تابع مکان نمای خط و طول خط به دلخواه قابل تنظیم است.
سلام
بسیار عالی و کاربردی بود ممنون
با سلام
از توجه شما ممنونم.
با سلام اگر بخوایم مربع توپر در هر ثانیه طول آن زیاد شئد از چه کدی با ید استفاده کرد
با سلام
در این خصوص از توابع زیر میتوانید استفاده کنید که بایستی در کد مورد نظر تغییرات و ابعاد را مشخص نمایید.
display.drawCircle
display.fillCircle