نمایشگرها در بسیاری از پروژههای الکترونیکی کاربرد دارند. پیش از این پروژهها و آموزشهای مختلفی با انواع نمایشگرها در دیجی اسپارک منتشر شده است. هر نمایشگری یک یا چند ویژگی منحصر به فرد دارد. بر اساس نیاز پروژه و سناریو تعریف شده، میبایست انتخاب شوند. در این پست راجع به یکی از پرکاربردترین 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 128×64
پایه های ال سی دی گرافیکی ۱۲۸×۶۴ به صورت زیر است. من این موارد را داخل جدول نوشتهام تا به سادگی قابل تشخیص باشند.
|
کتابخانه 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 : این پارامتر میزان گرد بودن گوشه های ۴ ضلعی ما رو تعیین میکند، که مقدارش از ۱ شروع میشه تا نصف طول و یا عرض یکم کمتر
نمونه کد 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); // کادر دور نوشته }
وسایل مورد نیاز
چنانچه در مراحل راه اندازی و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریعترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد. همچنین اگر ایرادی در کدها و یا مراحل اجرایی وجود دارند میتوانید از همین طریق اطلاع رسانی کنید.
پروژه و دریافت بن ارسال رایگان
برای دریافت بن خرید از دانشجو کیت، کاربران بایستی با استفاده از وسایل این آموزش، پروژه را اجرا کرده و یا حتی مدار جدیدی تعریف کنید. سپس از اجرای کار فیلم گرفته و در شبکههای اجتماعی از جمله آپارات و اینستگرام، با هشتگهای دیجی_اسپارک و دانشجوکیت و digispark و daneshjookit منتشر کنند. سپس از طریق بخش نظرات در ادامه همین آموزش، جهت دریافت بن خرید ارسال رایگان به ارزش ۱۲۰۰۰ تومان از دانشجو کیت، لینک را زیر همین پست ارسال کنید. در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.
اگر بخواهیم با استفاده از این کتابخانه متن بر روی ال سی دی حرکت کند از چه دستوری باید استفاده کرد؟
سلام
void gText::CursorToXY( uint8_t x, uint8_t y)
او دو تا پارامتر هم مختصات X و Y ایی هستش که متن ما از اون مکان شروع به نمایش میکنه.
سلام وخسته نباشید.نحوه اضافه کردن کتابخانه glcd.h رو توضیح بدین ممنون میشم(حین کامپایل کردن برنامه بالا ارور میده که glcd رو نمیشناسه
سلام برا نصب کتاب خانه از لینک زیر اقدام کنید با تشکر
https://digispark.ir/آموزش-نصب-کتابخانه-آردوینو/
سلام کتابخانه ای به نام glcd.hدر کتابخانه های ARDUINOوجود نداشت لینک دانلود کتابخانه را لطف کنید
اگه همین اسم رو در گوگل سرچ کنید لینک دانلود براتون میاره
سلام وه خسته نباشید من واقعا تمام کتابخانه هارا نصب کردم اما باز ارور میده فونت که اصلا پیدا نشد یعنی شد اما این نشد واقعا اگه لینگ دانلود کتاب خونرو بزارید ممنون میشم خیلی برام مهمه هنوز لنگ اونم با کتابخونه open glcdراه اندازی کردم جواب نداد
سلام
من یک ال سی مدل sg12864j4 128*64 خریداری کردم با اردوینو مگا
خیلی برنامه های زیادی روش تست کردم و سیم کشی های مختلفی رو هم انجام دادم باز دریغ از یک نقطه نمایش روی ال سی دی
ممنون میشم راهنماییم کنید
سلام
این ال سی دی کاملا متفاوت هست و خارج از بحث این آموزش هست. کتابخانه و سیم کشی مخصوص به این ال سی دی در نت موجود است.
سلام
اگه امکان هست اموزش با درایور KS0108
بزارید این openGLCD Library با بعضی از نمایشگر های گرافیکی مچ نمیشند
سلام
آیا میشه این ال سی دی رو با کمک IDE برای برد stm32 هم راه اندازی کرد؟
همچنین برای راه اندازی این ال سی دی با کمک IDE برای stm32 به کتابخانه مخصوص دیگری نیاز هست؟
سلام. با تشکر از مطالب مفیدتون. این روش اتصال خیلی از پایه های آردوینو رو اشغال میکنه. آیا به روش I2C هم میشه این کار رو انجام داد؟ تشکر
با سلام
در خصوص ال سی دی ۱۲۸*۶۴ موارد را تست نکردهایم ولی برای نمایشگر ۲*۱۶ تست شده است.
سلام یه سوال داشتم ایا میشه بعد از پروگرام کردن اردینو ایسی را از روی ان در اورد
با سلام
خیر این مورد پیشنهاد نمیشود.
سلام خسته نباشین من ال سی دی رو خریداری کردم با تراشهKS0108 خواستم ببینم تراشش همین ال سی دی ایی هست که اموزش دادین مدلشم۱۲۸*۶۴
سلام
اگر بخواهیم ال سی دی گرافیکی رو با برد اردینو و البته پروتکل l2c انجام بدیم دقیقا باید چیکار کنیم؟
با سلام
در این خصوص از آموزش زیر استفاده نمایید.
آموزش راه اندازی سه مدل ال سی دی کاراکتری
سلام میخواستم بدونم که فارسی هم میشه تایپ کرد یا نه؟
با سلام
این مورد تست نشده است.
با سلام.
بله امکانش هست.
هم برای ال سی دی های گرافیکی هم کاراکتری.
کافیست با استفاده از نرم افزارهای مبدل کارکتر هر حرف را ایجاد کنید.
سپاس از همراهی شما
از لینک زیر میتوانید استفاده کنید:
https://maxpromer.github.io/LCD-Character-Creator/
برای ال سی دی گرافیکی هم شبیه این نرم افزار موجود است.
با سلام
کاربر گرامی از اینکه دانش و تجربه خود را با ما به اشتراک میگذارید، صمیمانه سپاسگزاریم.
سلام من برنامه شما رو توی 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 به صورت جدا اطلاعات رو نمایش میده
با سلام و عرض خسته نباشید
بنده این ال سی دی رو تهیه کردم و خواستم با آردوینو مگا راه اندازی کنم هرکاری کردم چیزی روی ال سی دی نمایش داده نمیشه
لطفا بیشتر راهنماییم کنید
با تشکر
با سلام
لطفا اتصالاتتان را دقیقا یک به یک در ادامه همین کامنت اعلام کنید.
سلام میتونید راجب چاپ عکس روی lcd گرافیکی با میکرو stm32f103 راهنماییم کنید؟
با سلام
در حال حاضر راجع به این موضوع آموزشی در سایت منتشر نشده است.
سلام شما فقط گفتید چجوری کتابخانه رو نصب کنیم اما این کتابخونه ای که به کار بردید رو من نتونستم پیدا کنم لطفا کتابخانه رو هم بزارید
با سلام و تشکر از شما
لطفا بفرمایید کدام کتابخانه را یافت نکردید تا پیگیری کنیم.
با سلام
من یه ال سی دی گرافیکی ۱۲۸*۶۴ ks0108 تهیه کردم میخواستم بدونم روی اردوینو مگا۲۵۶۰ نصب میشه یا نه ؟
لطفا راهنماییم کنید
با سلام
بله محدودیتی در خصوص برد انتخابی وجود ندارد.
با سلام
ال سی دی که من استفاده میکنم از نوع J12864E هستش دقیقا مشابه همون که شما توی لینک وسایل مورد نیاز برای ال سی دی گرافیکی گذاشتید
این نوع از ال سی دی دو تا پایه cs1 , cs2 رو ندارند و به جاش پایه psb رو دارن.
لطفا راهنمایی کنید.
ممنون
با سلام
بنده در این خصوص اطلاعات عملی ندارم. از دیگر کاربرانی که در این خصوص تجربه کافی دارند، تقاضا دارم تا در این گفتگو شرکت کنند.