آردوینو آموزش آردوینو نمایشگر LCD

آموزش راه اندازی ال سی دی LCD گرافیکی ۱۲۸×۶۴ با آردوینو

getting-started-with-lcd-128x64-arduino-digispark-
نوشته شده توسط محمد رئیسی نژاد

نمایشگرها در بسیاری از پروژه‌های الکترونیکی کاربرد دارند. پیش از این پروژه‌ها و آموزش‌های مختلفی با انواع نمایشگرها در دیجی اسپارک منتشر شده است. هر نمایشگری یک یا چند ویژگی منحصر به فرد دارد. بر اساس نیاز پروژه و سناریو تعریف شده، می‌بایست انتخاب شوند. در این پست راجع به یکی از پرکاربردترین LCDها در پروژه‌ها، مدل LCD گرافیکی ۱۲۸×۶۴ که به صورت گرافیکی می‌باشد، توضیحاتی خواهم داد. روش راه اندازی LCD توسط آردوینو به همراه چالش‌هایی که در این مسیر وجود خواهند داشت، ارایه می‌شود. دقت داشته باشید که ظاهر این نمایشگر شبیه به ال سی دی کاراکتری می‌باشد. همچنین دارای نور پس زمینه آبی، سبز و نارنجی می‌باشد. در ادامه این پست با مرجع تخصصی آردوینو به زبان فارسی، دیجی اسپارک همراه باشید.

 


LCD گرافیکی ۱۲۸×۶۴


 ما با استفاده از توابع کتابخانه، ال سی دی LCD گرافیکی، اشکال و نوشته‌هایی را نمایش می‌دهیم. در این آموزش از LCD گرافیکی با تراشه ks0108b استفاده شده است. دقت داشته باشید، مدل‌های مختلف LCD با تراشه‌های گوناگون وجود دارند .به زبان ساده‌تر همان ال سی دی های موجود در بازار مشابه هم نیستند و هر کدام یک درایور متفاوت خواهد داشت. مثلا ال سی دی LG128643 یا TSM12864E  هر دو از درایورهای معتبر استفاده کرده‌اند. تراشه ks0108b یکی از درایورهای پرمصرف در این مدل LCD می‌باشد. بیشتر برای راه اندازی LCD ماتریسی ۱۲۸ در ۶۴ نقطه‌ای استفاده می‌شود. تفاوت ال سی دی‌های اصلی با کپی شده، در روشن و خاموش کردن بک لایت LCD توسط برنامه می‌باشد. همچنین در عمر کارکرد مفید LCD تاثیر گذار می‌باشند. روی برد LCD 128×64 تعداد  ۲۰ پایه وجود دارند.

 

 


اتصالات LCD 128×64 به آردوینو


جهت راه اندازی LCD گرافیکی ۱۲۸×۶۴ با برد آردوینو بایستی پایه‌ها را مانند تصویر زیر متصل کنید. دقت داشته باشید که در این آموزش از پایه‌های ۴ تا ۱۱ آردوینو، همچنین A0 تا A4 استفاده شده است.  یعنی جمعا ۱۳ پایه از آردوینو نیاز می‌باشد. به تصویر زیر دقت کنید.

شماتیک اتصالات LCD گرافیکی 128x64 به برد آردوینو - دیجی اسپارک

 

 


معرفی پایه‌های LCD 128×64


پایه های ال سی دی گرافیکی ۱۲۸×۶۴ به صورت زیر است. من این موارد را داخل جدول نوشته‌ام تا به سادگی قابل تشخیص باشند.

VSS به زمین(قطب – منبع تغزیه) وصل میشه
VDD به ۵ ولت وصل میشود
VO  درخشندگی LCD – ماندد شکل بالا بسته شود
D/I یا RS Table
R/W اگه ۰ بشه یعنی نوشتن و اگه ۱ بشه یعنی خوندن
E پایه فعال ساز پذیرش اطلاعات
DB0 تا DB7 پایه های انتقال اطلاعات
CS1 و CS2 انتخاب تراشه اول و دوم
RES برا RESET کردن این قطعه میباشد.
VEE Table
A و K قطب مثبت و منفی مربوط به روشنایی LCD

 


کتابخانه LCD گرافیکی آردوینو


برای راه اندازی این LCD کتابخانه‌های مختلفی از جمله glcd.h , U8glib.h و openGLCD.h وجود دارند. در این پست از کتابخانه glcd.h استفاده می‌کنیم. دستورات و توابع مورد استفاده در این کتابخانه را طی این پست و پست‌های بعدی آموزش خواهیم داد. نکته قابل ملاحضه در خصوص این مدل LCD گرافیکی، مانند ال سی دی کاراکتری نیستند و از قبل هیچ فونتی در حافظه LCD قرار ندارند. بنابراین پیش از هر کاری نیاز است که فونت‌ها را هم در این LCD فراخوانی کنیم. برای این منظور از کتابخانه fonts/allFonts.h استفاده می‌کنیم. پس از این کار می‌بایست در کدها، فونت مورد نظر را فراخوانی کنیم. در مثال راه اندازی این پست، از یک فونت ساده به اسم Arial_bold_14 استفاده کرده‌ایم. برای استفاده از کتابخانه‌های فونت به فرمت باینری در اینترنت، هر فونتی را می‌توانید به LCD گرافیکی منتقل کرده و آن را نمایش دهید. چنانچه روش نصب کتابخانه در آردوینو را نمی‌دانید، به پست آموزش نصب کتابخانه در نرم افزار آردوینو IDE مراجعه بفرمایید.

 


دستورات مهم LCD گرافیکی


به چند عدد از توابع مهم جهت راه اندازی LCD گرافیکی ۱۲۸×۶۴ را به صورتی که در کدها می‌نویسیم، توجه کنید. برای هر دستور توضیحات فارسی نوشته شده است. دقت داشته باشید که روش فراخوانی و استفاده از هر دستور دقیقا به همین صورت زیر می‌باشد. همچنین این موارد برای کتابخانه‌های معرفی شده مورد استفاده هستند.

 

(void SelectFont(Arial_bold_14
این تابع برا انتخاب فونت متنی که میخوایم نشون بدیم هستش، این کتابخونه فونت های مختلف داره که  با  رفتن به  پوشه کتاب خونه 
 و  بخش  فونت میتونید فونت های موجود رو  استفاده کنید
GLCD.GotoXY(27, 17);
 از  این  دستور  برای  جابجایی    متن  استفاده میکینم   مقدار  اول محور x  و  مقدار  دوم   محور y  است

 

 GLCD.DrawRoundRect(16,15,99,18, 5, BLACK);  
با این  دستور  یک مستطیل  که  لبه های  منحنی داره   طراحی  میکینم 
  دستور  اصلی  برای طراحی  به  فرم زیر هستش 
۱
۲
void DrawRoundRect(uint8_t x, uint8_t y, uint8_t width, uint8_t height, uint8_t radius, uint8_t color= PIXEL_ON);
x و y : مختصات نقطه سمت چپ بالای ۴ ضلعی (مربع/مستطیل)
Width و height : طول و عرض ۴ ضلعی ما(مربع/مستطیل)
Radius : این پارامتر میزان گرد بودن گوشه های ۴ ضلعی ما رو تعیین میکند، که مقدارش از ۱ شروع میشه تا نصف طول و یا عرض یکم کمتر

 

Getting started with lcd 128x64 arduino-digispark

 


نمونه کد LCD 128×64 آردوینو


این مثال برای تمام ال سی دی های گرافیکی که با تراشه ks0108b درایو می شوند کار می‌کند.

#include <glcd.h>
#include <fonts/allFonts.h>
void setup()
{
  // Initialize the GLCD 
  GLCD.Init();//  برای فعال  کردین  پیکسل های  السیدی
}
void loop()
{
  GLCD.SelectFont(Arial_bold_14);  // استفاده از فونت  
  GLCD.GotoXY(27, 17);//  تنظیم قرار گرفتن   نوشته 
  GLCD.print("DIgispark.IR"); // نوشتن  متن  روی السیدی 
  GLCD.DrawRoundRect(16,15,99,18, 3, BLACK);   // کادر دور نوشته 
}

 


وسایل مورد نیاز


LCD ال سی دی گرافیکی ۱۲۸×۶۴

برد آردوینو Uno

کابل فلت

 

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

 


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


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

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

محمد رئیسی نژاد

دانشجوی مهندسی برق قدرت

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

۳۸ دیدگاه

  • اگر بخواهیم با استفاده از این کتابخانه متن بر روی ال سی دی حرکت کند از چه دستوری باید استفاده کرد؟

    • سلام
      void gText::CursorToXY( uint8_t x, uint8_t y)
      او دو تا پارامتر هم مختصات X و Y ایی هستش که متن ما از اون مکان شروع به نمایش میکنه.

  • سلام وخسته نباشید.نحوه اضافه کردن کتابخانه glcd.h رو توضیح بدین ممنون میشم(حین کامپایل کردن برنامه بالا ارور میده که glcd رو نمیشناسه

  • سلام کتابخانه ای به نام glcd.hدر کتابخانه های ARDUINOوجود نداشت لینک دانلود کتابخانه را لطف کنید

      • سلام وه خسته نباشید من واقعا تمام کتابخانه هارا نصب کردم اما باز ارور میده فونت که اصلا پیدا نشد یعنی شد اما این نشد واقعا اگه لینگ دانلود کتاب خونرو بزارید ممنون میشم خیلی برام مهمه هنوز لنگ اونم با کتابخونه open glcdراه اندازی کردم جواب نداد

  • سلام
    من یک ال سی مدل sg12864j4 128*64 خریداری کردم با اردوینو مگا
    خیلی برنامه های زیادی روش تست کردم و سیم کشی های مختلفی رو هم انجام دادم باز دریغ از یک نقطه نمایش روی ال سی دی
    ممنون میشم راهنماییم کنید

    • سلام
      این ال سی دی کاملا متفاوت هست و خارج از بحث این آموزش هست. کتابخانه و سیم کشی مخصوص به این ال سی دی در نت موجود است.

  • همچنین برای راه اندازی این ال سی دی با کمک IDE برای stm32 به کتابخانه مخصوص دیگری نیاز هست؟

  • سلام. با تشکر از مطالب مفیدتون. این روش اتصال خیلی از پایه های آردوینو رو اشغال میکنه. آیا به روش I2C هم میشه این کار رو انجام داد؟ تشکر

  • سلام یه سوال داشتم ایا میشه بعد از پروگرام کردن اردینو ایسی را از روی ان در اورد

  • سلام خسته نباشین من ال سی دی رو خریداری کردم با تراشهKS0108 خواستم ببینم تراشش همین ال سی دی ایی هست که اموزش دادین مدلشم۱۲۸*۶۴

  • سلام
    اگر بخواهیم ال سی دی گرافیکی رو با برد اردینو و البته پروتکل l2c انجام بدیم دقیقا باید چیکار کنیم؟

  • سلام من برنامه شما رو توی IDE کاماپال ک میکنم این ارور میده
    آردئینو:۱٫۸٫۱۳ (Windows 10), برد:”Arduino Uno”

    In file included from C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:5:0,

    from E:\ard\sketch_mar16a\sketch_mar16a.ino:2:

    C:\Program Files (x86)\Arduino\libraries\Includes/font.h:1:1: error: ‘flash’ does not name a type; did you mean ‘fflush’?

    flash unsigned char font[] = {

    ^~~~~

    fflush

    C:\Program Files (x86)\Arduino\libraries\Includes/font.h:260:1: error: ‘flash’ does not name a type; did you mean ‘fflush’?

    In file included from E:\ard\sketch_mar16a\sketch_mar16a.ino:2:0:

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h: In function ‘void trigger()’:

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:21:18: error: expected ‘;’ before numeric constant

    #define EN PORTD.1

    ^

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:34:4: note: in expansion of macro ‘EN’

    EN = 1; //EN high

    ^~

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:35:4: error: ‘delay_us’ was not declared in this scope

    delay_us(E_DELAY);

    ^~~~~~~~

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:35:4: note: suggested alternative: ‘_delay_us’

    delay_us(E_DELAY);

    ^~~~~~~~

    _delay_us

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:21:18: error: expected ‘;’ before numeric constant

    #define EN PORTD.1

    ^

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:36:4: note: in expansion of macro ‘EN’

    EN = 0; //EN low

    ^~

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h: In function ‘void glcd_on()’:

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:17:18: error: expected ‘;’ before numeric constant

    #define CS1 PORTD.3

    ^

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:47:9: note: in expansion of macro ‘CS1’

    CS1 = 1;

    ^~~

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:18:18: error: expected ‘;’ before numeric constant

    #define CS2 PORTD.4

    ^

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:48:9: note: in expansion of macro ‘CS2’

    CS2 = 1;

    ^~~

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:19:18: error: expected ‘;’ before numeric constant

    #define RS PORTD.2

    ^

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:50:5: note: in expansion of macro ‘RS’

    RS = 0; //RS low –> command

    ^~

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:20:18: error: expected ‘;’ before numeric constant

    #define RW PORTD.0

    ^

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:51:5: note: in expansion of macro ‘RW’

    RW = 0; //RW low –> write

    ^~

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h: In function ‘void glcd_off()’:

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:17:18: error: expected ‘;’ before numeric constant

    #define CS1 PORTD.3

    ^

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:63:9: note: in expansion of macro ‘CS1’

    CS1 = 1;

    ^~~

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:18:18: error: expected ‘;’ before numeric constant

    #define CS2 PORTD.4

    ^

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:64:9: note: in expansion of macro ‘CS2’

    CS2 = 1;

    ^~~

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:19:18: error: expected ‘;’ before numeric constant

    #define RS PORTD.2

    ^

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:66:5: note: in expansion of macro ‘RS’

    RS = 0; //RS low –> command

    ^~

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:20:18: error: expected ‘;’ before numeric constant

    #define RW PORTD.0

    ^

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:67:5: note: in expansion of macro ‘RW’

    RW = 0; //RW low –> write

    ^~

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h: In function ‘void set_start_line(byte)’:

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:19:18: error: expected ‘;’ before numeric constant

    #define RS PORTD.2

    ^

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:74:5: note: in expansion of macro ‘RS’

    RS = 0; //RS low –> command

    ^~

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:20:18: error: expected ‘;’ before numeric constant

    #define RW PORTD.0

    ^

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:75:5: note: in expansion of macro ‘RW’

    RW = 0; //RW low –> write

    ^~

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:17:18: error: expected ‘;’ before numeric constant

    #define CS1 PORTD.3

    ^

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:81:9: note: in expansion of macro ‘CS1’

    CS1 = 1;

    ^~~

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:18:18: error: expected ‘;’ before numeric constant

    #define CS2 PORTD.4

    ^

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:82:9: note: in expansion of macro ‘CS2’

    CS2 = 1;

    ^~~

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h: In function ‘void goto_col(unsigned int)’:

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:19:18: error: expected ‘;’ before numeric constant

    #define RS PORTD.2

    ^

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:91:4: note: in expansion of macro ‘RS’

    RS = 0; //RS low –> command

    ^~

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:20:18: error: expected ‘;’ before numeric constant

    #define RW PORTD.0

    ^

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:92:4: note: in expansion of macro ‘RW’

    RW = 0; //RW low –> write

    ^~

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:17:18: error: expected ‘;’ before numeric constant

    #define CS1 PORTD.3

    ^

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:99:9: note: in expansion of macro ‘CS1’

    CS1 = 1; //select chip 1

    ^~~

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:18:18: error: expected ‘;’ before numeric constant

    #define CS2 PORTD.4

    ^

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:100:9: note: in expansion of macro ‘CS2’

    CS2 = 0; //deselect chip 2

    ^~~

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:18:18: error: expected ‘;’ before numeric constant

    #define CS2 PORTD.4

    ^

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:110:9: note: in expansion of macro ‘CS2’

    CS2 = 1; //select chip 2

    ^~~

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:17:18: error: expected ‘;’ before numeric constant

    #define CS1 PORTD.3

    ^

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:111:9: note: in expansion of macro ‘CS1’

    CS1 = 0; //deselct chip 1

    ^~~

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h: In function ‘void goto_row(unsigned int)’:

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:19:18: error: expected ‘;’ before numeric constant

    #define RS PORTD.2

    ^

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:123:4: note: in expansion of macro ‘RS’

    RS = 0; //RS low –> command

    ^~

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:20:18: error: expected ‘;’ before numeric constant

    #define RW PORTD.0

    ^

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:124:4: note: in expansion of macro ‘RW’

    RW = 0; //RW low –> write

    ^~

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h: In function ‘void glcd_write(byte)’:

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:19:18: error: expected ‘;’ before numeric constant

    #define RS PORTD.2

    ^

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:138:4: note: in expansion of macro ‘RS’

    RS = 1; //RS high –> data

    ^~

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:20:18: error: expected ‘;’ before numeric constant

    #define RW PORTD.0

    ^

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:139:4: note: in expansion of macro ‘RW’

    RW = 0; //RW low –> write

    ^~

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:141:4: error: ‘delay_us’ was not declared in this scope

    delay_us(1);

    ^~~~~~~~

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:141:4: note: suggested alternative: ‘_delay_us’

    delay_us(1);

    ^~~~~~~~

    _delay_us

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h: In function ‘void glcd_clrln(byte)’:

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:17:18: error: expected ‘;’ before numeric constant

    #define CS1 PORTD.3

    ^

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:153:9: note: in expansion of macro ‘CS1’

    CS1 = 1;

    ^~~

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h: In function ‘byte is_busy()’:

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:21:18: error: expected ‘;’ before numeric constant

    #define EN PORTD.1

    ^

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:170:5: note: in expansion of macro ‘EN’

    EN = 0; //Low Enable

    ^~

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:171:5: error: ‘delay_us’ was not declared in this scope

    delay_us(1); //tf

    ^~~~~~~~

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:171:5: note: suggested alternative: ‘_delay_us’

    delay_us(1); //tf

    ^~~~~~~~

    _delay_us

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:20:18: error: expected ‘;’ before numeric constant

    #define RW PORTD.0

    ^

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:172:5: note: in expansion of macro ‘RW’

    RW = 1; //Read

    ^~

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:19:18: error: expected ‘;’ before numeric constant

    #define RS PORTD.2

    ^

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:173:5: note: in expansion of macro ‘RS’

    RS = 0; //Status

    ^~

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:21:18: error: expected ‘;’ before numeric constant

    #define EN PORTD.1

    ^

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:175:5: note: in expansion of macro ‘EN’

    EN = 1; //High Enable

    ^~

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:21:18: error: expected ‘;’ before numeric constant

    #define EN PORTD.1

    ^

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:179:5: note: in expansion of macro ‘EN’

    EN = 0; //Low Enable

    ^~

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:21:18: error: expected ‘;’ before numeric constant

    #define EN PORTD.1

    ^

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:182:5: note: in expansion of macro ‘EN’

    EN = 1; //High Enable

    ^~

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:21:18: error: expected ‘;’ before numeric constant

    #define EN PORTD.1

    ^

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:186:5: note: in expansion of macro ‘EN’

    EN = 0; //Low Enable

    ^~

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h: In function ‘byte glcd_read(byte)’:

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:20:18: error: expected ‘;’ before numeric constant

    #define RW PORTD.0

    ^

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:200:5: note: in expansion of macro ‘RW’

    RW = 1; //Read

    ^~

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:19:18: error: expected ‘;’ before numeric constant

    #define RS PORTD.2

    ^

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:201:5: note: in expansion of macro ‘RS’

    RS = 1; //Data

    ^~

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:17:18: error: expected ‘;’ before numeric constant

    #define CS1 PORTD.3

    ^

    C:\Program Files (x86)\Arduino\libraries\Includes/glcd.h:205:9: note: in expansion of macro ‘CS1’

    CS1 = (column Preferences.

    • با سلام
      به نظر میرسد هیچ یک از کتابخانه ها نصب نشده است و کد به درستی انتقال داده نشده است. مساعدت فرمایید و کتابخانه ها را یک به یک بررسی و نتیجه را اعلام کنید.

  • با عرض سلام و خسته نباشید
    بنده در راه اندازی نمایشگر گرافیکی به مشکل بر خوردم.لطفا در صورت امکان راهنمایی کنید
    نمایشگر گرافیکی ۱۹۲×۶۴ با درایور ks0108
    مشکل اینه که هر چیزی که از اردوینو به lcd ارسال میشه در سه مکان نمایش داده میشه انگار که هر کدوم از چیپ های lcd به صورت جدا اطلاعات رو نمایش میده

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

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

  • با سلام
    من یه ال سی دی گرافیکی ۱۲۸*۶۴ ks0108 تهیه کردم میخواستم بدونم روی اردوینو مگا۲۵۶۰ نصب میشه یا نه ؟
    لطفا راهنماییم کنید

  • با سلام
    ال سی دی که من استفاده میکنم از نوع J12864E هستش دقیقا مشابه همون که شما توی لینک وسایل مورد نیاز برای ال سی دی گرافیکی گذاشتید
    این نوع از ال سی دی دو تا پایه cs1 , cs2 رو ندارند و به جاش پایه psb رو دارن.
    لطفا راهنمایی کنید.
    ممنون