به نام خدا. در این پست قصد به آموزش و راه اندازی السیدی کاراکتری با استفاده از آردوینو را داریم. LCD کاراکتری دارای تکنولوژی مشابه سون سگمنتها میباشند با این تفاوت که السیدی از تراکم پیکسلی بیشتری نسبت به سون سگمنتها برخوردار هستند و از همین رو میتوان اعداد، حروف و کاراکتریهای خاص را بر روی آن نشان داد. در این آموزش از LCD 2*16 که یکی از السیدیهای رایج و ارزان فیمت در بازار میباشد استفاده میکنیم.در ادامهی آموزش با دیجیاسپارک همراه باشید.
آموزش جامع کار با LCD کاراکتری – آموزش – آموزش آردوینو – پروژه آردوینو -arduino -آموزش-آموزش جامع کار با LCD کاراکتری-دیجی اسپارک
سخت افزار مورد نیاز
توضیحات پایهها
همانطور که در تصویر بالا مشاهده میکنید، یک LCD 2*16 دارای ۱۶ پین می باشد که پین GND ، پیم شمارهی صفر و پین -Led ، پین شمارهی۱۶ میباشد. در ادامه به توضیح هرکدام از پینها میپردازیم.
GND : این پین باید به زمین مدار متصل شود
Vcc : تغذیه السیدی میباشد که باید به ۵+ ولت DC متصل شود
VEE : از این پین برای تنظیم کانتراست صفحه نمایش استفاده میشود و باید این پین را توسط یک پتانسومتر یا یک عدد مولتیترن ۱۰ کیلواهم به زمین متصل کرد
Rs : این پین مربوط به رجیسترهای درایور LCD میباشد و آدرس خواندن و نوشتن در ال سی دی توسط این پایه مشخص میشود
R/W : هنگامی در حال نوشتن بر روی السیدی باشیم این پین را صفر و هنکامی در حال خواندن از روی السیدی باشیم،این پین را یک میکنیم . در پروژههای ساده و سطح پاین معمولا فقط بر روی LCD عملیات write انجام میشود بنابراین بهتر است برای صرفه جویی در پینهای آردوینو ، پین R/W را به زمین متصل کنیم.
EN : از این پین برای فعال یا غیرفعال کردن LCD استفاده میشود
پینهای D0 تا D7 برای انتقال اطلاعات بر روی السیدی میباشند که هم میتوانیم از ۸ پین و هم ۴ پین برای این عملیات استفاده کنیم.(در هنگام استفاده از ۸ پین کمی سرعت انتقال اطلاعات بر روی السیدی افزایش مییابد و در مقابل مجبور به استفاده از پینهای بیشتری میباشیم ، بنابر این ما برای نمایش اطلاعات از ۴ پین D4 تا D7 استفاده میکنیم)
led/+led- : این دو پین برای نور پیشزمینه LCD می باشد . Led+ باید به ۵+ ولت DC و Led- باید به GND متصل شود(قابل ذکر است میتوان این دو پین را آزاد گذاشت ولی در صورت استفاده نکردن از نور پس زمینه ، مشاهده متن درون السیدی بسیار دشوار میباشد).
برنامهنویسی
پلتفرم آردوینو دارای کتابخانه بسیار جامعی برای کار با ال سی دی می باشد.برای کد نویسی ال سی دی ابتدا باید توسط دستور زیر کتابخانه Liquid Crystal Display را به فراخوانی کنیم.
#include <LiquidCrystal.h>
مرحلهی بعدی ساخت یک شی از کلاس LiquidCrystal و همچنین تنظیم پایههای LCD میباشد . و باید همانند یکی از روش های زیر پایههای LCD را تنظیم نمود.
راه اندازی LCD دارای دو مد ۴ بیتی( استفاده از ۴ پین برای انتقال دیتا ) و مد ۸ بیتی(استفاده از ۸ پین برای انتقال دیتا) می باشد.
برای مد ۴ بیتی میتوان از دو نمونهی زیر استفاده کرد ، که نمونه اول هنگامی است که پین R/W را به زمین وصل کرده و فقط قصد نوشتن بر روی LCD را داریم و نمونهی دوم مربوط به زمانی است که پین R/W به آردوینو متصل شده و هم قصد نوشتن بر روی LCD و هم خواندن دیتا از روی السیدی را داریم.
LiquidCrystal lcd(Rs, EN, D4, D5, D6, D7); LiquidCrystal lcd(Rs, R/W, EN, D4, D5, D6, D7);
برای راه اندازی LCD در مد ۸ بیتی نیز میتوان از دو نمونهی زیر استفاده نمود که نمونه ی اول حالتی است که فقط قصد نوشتن بر روی LCD و نمونهی دوم حالتی است که هم قصد نوشتن و هم خواندن داریم ( مد ۴ بیتی به علت استفاده از پین های کمتر بیشتر مورد استفاده قرار میگیرد)
LiquidCrystal lcd(Rs, EN, D0, D1, D2, D3, D4, D5, D6, D7); LiquidCrystal lcd(Rs, R/W, EN, D0, D1, D2, D3 , D4 , D5 , D6, D7);
کد زیر ، مثالی از تنظیم کردن پایههای LCD میباشد
۱۲->Rs
۱۱->R/W
۱۰->EN
و پینهای ۵ تا ۲ به ترتیب به پین های D4 تا D7 نمایشگر متصل شده است
#include <LiquidCrystal.h> LiquidCrystal lcd(12, 11, 10, 5, 4, 3, 2); void setup() { lcd.begin(16,1); lcd.print("hello, world!"); } void loop() {}
توضیح توابع کتابخانه
begin()
توسط این تابع ، LCD را به آردوینو معرفی میکنیم .
lcd.begin(cols, rows)
cols تعداد ستون ها و rows تعداد سطر های السیدی را مشخص میکند.برای مثال برای راه اندازی یک السیدی۲*۱۶ از قطعه کد زیر استفاده میکنیم:
lcd.begin(16 , 2);
clear()
توسط این تابع صفحه نمایش السیدی پاک میشود و مکان نما به بالاترین نقطه سمت چپ LCD منتقل میشود.این تابع دارای فرمی به صورت زیر میباشد:
lcd.clear()
home()
این تابع مکان نما را به ابتدای السیدی یعنی همان ستون و سطر شماره صفر منتقل میکند.
lcd.home();
setCursor()
این تابع موقعیت مکان نما را بر روی صفحه نمایش مشخص میکند. از این تابع هنگامی که بخواهیم متنی را در یک موقعیت خاصی از LCD نمایش دهیم استفاده میشود.
فرم کلی تابع به صورت زیر مییاشد:
lcd.setCursor(col, row);
نکته بسیار مهم: شماره ی سطر و ستون از عدد صفر شروع میشود.
برای مثال هنگامی که میخواهیم به اولین ستون از سطر دوم برویم باید همانند قطعه کد زیر عمل کنیم:
lcd.setCursor(0, 1);
write()
از این تابع برای نوشتن نک کاراکتر بر روی LCD استفاده میشود.همچنین این تابع پس از استفاده نعداد بایتی که بر روی LCD نمایش داده شده است را برمیگرداند.
int size=lcd.write('a');//این قطعه کد کاراکتر a را چاپ میکند و سایز آن را درون متغیر size میریزد
print()
توسط این تابع میتوان رشته یا عدد را بر روی LCD به نمایش گذاشت. این تابع دارای دو ساختار مانند زیر می باشد:
lcd.print(data); lcd.print(data, BASE);
در ساختار دوم هنگامی که از عدد استفاده میکنیم ، BASE فرمت نمایش عدد را مشخص میکند. برای مثال برای نمایش در مبنای ۲باید به جای BASE کلمه BIN را قرار داد. همچنین برای نمایش در مبنای ۱۰ از DEC ، در مبنای ۸ از OCT و مبنای ۱۶ از HEX استفاده میکنیم.
cursor()
توسط این تابع مکاننما به صورت یک underscore (زیر خط مانند _ ) در مکانی که قرار است کاراکتری بعدی نوشته شود ، بر روی LCD نمایش داده میشود.
همچنین توسط تابع noCursor زیر خط از روی صفحه نمایش حذف میشود.
lcd.cursor();// نمایش زیر خط lcd.noCursor();//عدم نمایش زیر خط
blink()
توسط این تابع مکان نما به صورت یک مربع چشمک زن بر روی LCD نمایش داده میشود. توسط تابع noBlink نیز میتوان مکان نما را از روی صفحه نمایش محو نمود.
lcd.blink();//نمایش مکان نما lcd.noBlink();//عدم نمایش مکان نما
noDisplay()
توسط این تابع صفحه نمایش LCD بدون از دست رفتن و پاک شدن اطلاعات خاموش میشود ، از این کار میتوان در صرفهجویی برق مدار استفاده نمود.همچنین توسط تابع display صفحه نمایش روشن میشود و تمام اطلاعاتی که قبل از خاموش بودن LCD بر روی صفحه نمایش بوده است ، دوباره به نمایش در میآید.
lcd.display();//خاموش کردن صفحه نمای lcd.noDisplay();//روشن کردن صفحه نمایش
scrollDisplayRight()
با استفاده از این تابع تمام اطلاعات بر روی صفحه نمایش یک واحد ( یک ستون) به سمت راست منتقل میشود.فرم کلی این تابع به صورت زیر میباشد:
lcd.scrollDisplayRight();
scrollDisplayLeft()
این تابع عمل کردی همانند تابع بالا دارد با این تفاوت که با اجرای هربار این تابع ، تمام اطلاعات روی صفحه نمایشگر یک واحد به سمت چپ منتقل میشود.
lcd.scrollDisplayleft();
autoscroll()
این تابع باعث میشود که هر کاراکتر ، به سمت چپ جایی که مکاننمای LCD قرار دارد چاپ شود.
همچنین به وسیله ی تابع autoscroll میتوان این حالت را غیر فعال کرد.
rightToLeft()
با استفاده از این تابع نوشتهها از سمت راست LCD به سمت چپ توشته میشوند.
تابع rightToLeft نیز باعث به نمایش در آمدن نوشتهها از سمت چپ به راست میشود.
برای سهولت در یادگیری موارد فوق پروژه ی زیر به همراه فیلم تست عملی آن توسط آزمایشگاه تخصصی دانشجوکیت قرار داده شده است.
محدودیت در دسترسی کامل به این مجموعه آموزش
دسترسی کامل به آموزش برای اعضای دیجی اسپارک امکان پذیر است. بخش اصلی آموزش شامل سورس کدهای توسعه داده شده توسط مهندسهای دیجی اسپارک است. به همین دلیل این آموزش خاص و یکتاست. برای استفاده از آن بایستی عضویت تهیه کنید. تبادل نظر با کاربران و پرسش سوال رایگان است و میتوانید از بخش نظرات همین آموزش اقدام کنید. |
چنانچه در مراحل راه اندازی و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریعترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد.
در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.
سلام
لطفا کار با lcd گرافیکی رو هم آموزش بدین
ممنون بایت زحاتتون
سلام به زودی آموزش داده می شود
ممنون از آموزشتون
با این آموزش امکان راه اندازی Oled هم هست؟
سلام خیر
oled دارای کتابخونه ای جدا می باشد. oled هم در لیست آموزش های پیش بینی شده قرار دارد.
سلام اقای قربانی ممنون بابت آموزشتون
سوالی داشتم. از این کتابخانه میتوان در کدویژن هم استفاده کرد؟
سلام خیر امکانش وجود نداره
[…] آموزش جامع کار با LCD کاراکتری در آردوینو […]
آیا پروژه ها مختص یک برد آردوینو میباشند؟ یعنب این پروژه با آردوینو مگا ۲۵۶۰ قابل اجراست؟
درود
ممنون بخاطر آموزش مفیدی که به اشتراک گذاشتید
اگر پروژه ای درباره کنترل هوشمند کولر های آبی پیدا کردید لطفا منتشر کنید
Swamp cooler همون کولرآبی است
hello world
Thank you
سلام
واقعا عالی و کاربردی بود ممنون
با سلام
ببخشید این را اینجا مطرح می کنم
من با LCD nokia 5110 کار می کنم و از کتاب خونه ی #include کار می کنم می خوام که اندازه فونت را ت؛ییر بدم ولی هیچ جا کد مورد نظر را پیدا نکردم اگه میشه راهنمایی کنید
با سلام
ببخشید این را اینجا مطرح می کنم
من با LCD nokia 5110 کار می کنم و از کتاب خونه ی PCD8544 کار می کنم می خوام که اندازه فونت را تغییر بدم ولی هیچ جا کد مورد نظر را پیدا نکردم اگه میشه راهنمایی کنید
میتونید از این لینک استفاده کنید.
https://www.google.com/search?client=firefox-b-d&q=PCD8544++nikia+lcd+change+font+size
http://forum.arduino.cc/index.php?topic=529057.0
با سلام
از توجه شما ممنونم.
سلام
ممنون از سایتتون و مطالب خبتون
سلام ببخشید میشه یه float رو رو ال سی دی نشون داد؟
با سلام
ضمن تشکر از توجه شما، لطفا منظورتان را دقیقتر بیان کنید.
خیلی ممنون از مطالب مفیدی که در سایتتون قراردادید
سلام ممنون از کدهایی که در اختیارمون قرار دادید موفق باشید
سلام آیا راه اندازی این صفحه نمایش نیاز به برد راه انداز دارد؟؟؟
و فرقش با آموزش زیر چیه؟؟؟
http://digispark.ir/lcd-driver/
ممنون میشم راهنمایی کنید
با سلام
ضمن تشکر از توجه شما، برای راه اندازی این ال سی دی با برد راه انداز وبدون برد راه انداز نیاز به کتابخانه LiquidCrystal میباشد. تفاوت در راه اندازی با برد راه انداز این است که فقط ۴ پایه از آردوینو را اشغال میکند. ولی در حالت بدون راه انداز باید تمامی ۱۶ پایه را استفاده کنید.
سلام ممنون از آموزش های شما، تو کدوم نرم افزار کد نویسی باید انجام بدیم؟
با سلام
ضمن تشکر از توجه شما، با کامپایلر آردوینو میتوانید اجرا کنید. برای اطلاعات بیشتر به آموزش کار با برد آردوینو Arduino و نصب نرم افزار Arduino IDE مراجعه کنید.
سلام خسته نباشید
دستتون درد نکنه بابات آموزش های خوبتون
میخواستم بگم که در مورد پیکسل های ال سی دی توضیح بدید یا همان custom characters
مثلا با استفاده از آن بتوان یک کلمه رو با انیمیشن یا بهش افکت داد نوشت…
با سلام
ضمن تشکر از توجه شما، در این خصوص بنده اطلاعات کاملی ندارم ولی اینطور به نظر میرسد که باید از GUI استفاده کنید.
سلام ببخشید یک سوال داشتم
این توابعی که اینجا معرفی کردید رو میشه وقتی ال سی دی رو با تبدیل i2c وصل کردیم هم استفاده کرد؟
چه جایی باید تغییر انجام بدیم؟
پایه ها چه تغییری میکنند؟
البته اگر بشه اتصال به node mcu رو بگید که عالی میشه چون فعلا Uno ندارم.
ممنون
با سلام
ضمن تشکر از توجه شما، برای این منظور باید از آموزش راه اندازی ال سی دی کاراکتری LCD با پروتکل I2C استفاده کنید.
سلام من تمام این مراحل رو رفتم البته بدون مقاومت مشکل من اینه که ال سی دی ۱۶٫۲ من روشن میشه اما متن نمایش داده نمیشه از مثال خود اردوینو هم استفاده کردم نشد برای نشان دادن متن کدوم پین باد کار کنم یا چ کنم کلا ممنون
سلام
در ابتدا کتابخانه LiquidCrystal را فرخوانی کنید. سپس مجددا اتصالات را بررسی کنید و اینکه در حالت عادی نیازی به استفاده از مقاومت و پتانسیومتر نیست. حال پس از اطمینان از اتصالات باید پین های مورد استفاده LCD، در کدها تعریف شود. به عنوان مثال اگر از پایه های ۱۲, ۱۱, ۵, ۴, ۳, ۲ استفاده کرده اید، در کدها باید صورت ;(LiquidCrystal lcd(12, 11, 5, 4, 3, 2 تعریف شود. مراحل را مجددا انجام دهید و در صورت برطرف نشدن مشکل از همین طریق اعلام نمایید تا بررسی گردد.
منم مشکل همین دوستمونو دارم اتصلاتو چک کردم توابع رو چک کردم سیم ها رو عوض کردم کاراکترهارو نشون میده ولی هرچی برنامه روش می ریزم اصلا تغییری نمیکنه
با سلام
مجددا شفاف تر توضیح دهید تا راهنمایی دقیق صورت گیرد.
برنامه کاملا درسته تو پرتئوس شبیه سازیش کردم کار کرد وقتی برنامه رو اردوینو می ریزم ال سی دی روشن میشه ولی چیزی نشون نمیده برا اردوینو سالمه اتصلاتشو چندین بار عوض کردم چه با مقاومت چه با پتانسیومتر روشن میشه ولی چیزی نشون نمیده
با سلام
کتابخانه را آپدیت کنید و سپس نتیجه را از همین طریق اعلام کنید.
سلام من طبق دستورات پیش رفتم اما ال سی دی هیچ واکنشی نشان نمیدهد و خطای از کامپایل کردن کد نیز ندارم ممنون میشم راهنمایی بفرمایید
با سلام و تشکر
لطفا مدل ال سی دی و نوع برد را اعلام کنید.
با سلام و خسته نباشید.
من ۲تا LCD 16*1 دارم هردوشون نصف کاراکترهاش خاموشه و نصفش روشن. هر دوشونم نو هستن.
آیا LCD ها هر دوشون سوختن؟
(میخواستم عکسشم براتون بفرستم ولی لینک مربوطه برای ارسال عکسو پیدا نکردم)
ممنون میشم اگه پاسخ بدین. باتشکر از سایت خوبتون
با سلام و تشکر از شما
لطفا مدل ال سی دی را اعلام کنید. همچنین دقت داشته باشید که برای راه اندازی LCD کاراکتری تمامی مدلهایی که ما تست کردهایم با کتابخانه LiquidCrystal کارایی دارند. تنها مشکل عمده عدم اتصالات صحیح به برد میباشد.
همین اتصالات با LCD 16*2 کار میکنه ولی با ۱۶*۱ کار نمیکنه و ۸تا از ستونهاش خاموشه!
احتمالا در آدرس دهی دچار مشکل میباشد.
از ۱۶ تا کاراکتر ستون، ۸ تای اولی روشن ۸ تای بعدی خاموشه!!!!!!؟
مدل LCD، شیوه اتصلات و نوع برد مورد مصرف را اعلام بفرمایید.
با عرض سلام و خسته نباشید.
مدل LCD: TS1610A-7/B
از برد آردوینو Mega2560 استفاده میکنم.
نحوه اتصالات هم :
#include
LiquidCrystal lcd(22, 23, 24, 25, 26, 27);
void setup()
{
lcd.begin(16,1);
}
پایه های LCD به ترتیب:
Rs=22
EN=23
D4=24
D5=25
D6=26
D7=27
سلام مجدد
از این کدها استفاده کنید و نتیجه را اعلام بفرمایید.
#include
LiquidCrystal lcd(………………….);
void setup()
{
lcd.begin(16, 1); // put your LCD parameters here
for (char i=47; i<۱۲۷; i++) // send 80 consecutive displayable characters to the LCD { lcd.print(i); delay(100); // this delay allows you to observe the addressing sequence } } void loop() { }
با سلام
کدی که فرمودید رو زدم بازم همونطور ۸ ستون روشن میشن
با این کد روی LCD نوشت:
۱۲۳۴۵۶/
۰۱۲۳۴۵۶/
سلام مجدد
مقادیر char i=47 را به ۴۰ تغییر دهید. سپس اطلاع رسانی کنید.
با سلام.
char i = 40 :
ابتدا این علامتها نوشته میشه= /.,+*()
پس از ۸ ثانیه این علامتها نوشته میشه= /<-{|}xyz
سلام مجدد
آقای مهندس وقتی برنامه خود مثال آردوینو رو لود میکنم بیشتر از ۸تا روشن میشه.
برنامش اینه
/*
LiquidCrystal Library – Hello World
Demonstrates the use a 16×2 LCD display. The LiquidCrystal
library works with all LCD displays that are compatible with the
Hitachi HD44780 driver. There are many of them out there, and you
can usually tell them by the 16-pin interface.
This sketch prints “Hello World!” to the LCD
and shows the time.
The circuit:
* LCD RS pin to digital pin 12
* LCD Enable pin to digital pin 11
* LCD D4 pin to digital pin 5
* LCD D5 pin to digital pin 4
* LCD D6 pin to digital pin 3
* LCD D7 pin to digital pin 2
* LCD R/W pin to ground
* LCD VSS pin to ground
* LCD VCC pin to 5V
* ۱۰K resistor:
* ends to +5V and ground
* wiper to LCD VO pin (pin 3)
Library originally added 18 Apr 2008
by David A. Mellis
library modified 5 Jul 2009
by Limor Fried (http://www.ladyada.net)
example added 9 Jul 2009
by Tom Igoe
modified 22 Nov 2010
by Tom Igoe
This example code is in the public domain.
http://www.arduino.cc/en/Tutorial/LiquidCrystal
*/
// include the library code:
#include
// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(22, 23, 24, 25, 26, 27);
void setup() {
// set up the LCD’s number of columns and rows:
lcd.begin(16, 2);
// Print a message to the LCD.
lcd.print(“hello, world!”);
}
void loop() {
// set the cursor to column 0, line 1
// (note: line 1 is the second row, since counting begins with 0):
lcd.setCursor(0, 1);
// print the number of seconds since reset:
lcd.print(millis() / 1000);
}
فقط “hello, world!” رو کامل نمینویسه و ۸تا کاراکترشو مینویسه ولی بعد hello, w و بعد از w شمارنده هر ثانیه میشماره و عددو نشون میده
جناب مهندس با این کد درست میشه: lcd.begin(8, 2)
void setup() {
lcd.begin(8, 2);
lcd.print(“”);
lcd.setCursor(0, 1);
lcd.print(“”);
delay(15000);
lcd.begin(8, 2);
lcd.print(“Hello, w”);
lcd.setCursor(0, 1);
lcd.print(“orld!”);
}
void loop() {}
با این کد مشکلتان کامل حل شد؟
جناب مهندس دوتا lcd 16*1 دیگه هم خریدم اونام مثل اینا هستن. همینکه تغذیه میدم بهش نصفش روشن و نصفش خاموشه. سخت افزارمم چندبار کنترل کردم درسته.
پایه۱= GND
پایه۲= VCC
پایه۳= کنتراست: با مقاومت ۴٫۷K به زمین
پایه۴= RS: به آردوینو
پایه۵= GND
پایه۶= E: به آردوینو
پایه۱۱= D4: به آردوینو
پایه۱۲= D5: به آردوینو
پایه۱۳= D6: به آردوینو
پایه۱۴= D7: به آردوینو
پایه۱۵= VCC
پایه۱۶= GND
موارد فقط مربوط به کدها میباشند.
ممنون از شما بابت وقتی که گذاشتین. سپاسگذارم
سلامت باشید.
سلام، من حدود یه هفته هست که وقتی کدها رو روی برد اپلود میکنم خروجی نمی گیرم مثلا در راه اندازی ال سی دی کاراکتری فقط بک لایت روشن میشه و چیزی روی صفحه نمایش داده نمیشه. با وجود اینکه هم کدها درسته هم اتصالات. میخواستم بدونم مشکل از کجاست؟
سلام
آیا فقط برای نمایش محتوا بر روی LCD مشکل به وجود آمده است؟
نوع LCD را مشخص نمایید.
با سلام و خسته نباشید
عرض کنم من یک شخص بسیار مبتدی در رشته الکترونیک هستم ک مدتیه ب این رشته شیرین و بی پایان روی اوردم, میخاستم عرض کنم بعنوان یک شخص مبتدی از وقتی ک در سایتهای مختلف در مورد کار با قطعات مختلف سرچ کردم با توجه ب توضیحی ک دوستان و اساتید میدادن متاسفانه هیچی متوجه نمیشدم تقریبا, ولی برای اولین بار با توجه ب توضیحات جامع شما خیلی راحت متوجه موضوع شدم ومیخاستم ازتون تشکر کنم و ارزوی موفقیت براتون دارم, واقعا ب روش بسیار جامع و قابل قبولی حداقل برای من توضیح دادین, لطفا ب اینکارتون ادامه بدین, متشکرم
سلام و تشکر از شما
از اینکه پیامتان را کامل و دقیق ارسال کردید سپاسگزارم. بله دیجی اسپارک با مدل کسب و کار منسجم و مطالعه شده آغاز به فعالیت کرده است. لطفا صفحه حمایت از دیجی اسپارک را مطالعه بفرمایید.
سلام علت نمایش متن های عجیب روی ال سی دی کاراکتری چه چیزی میتونه باشه؟
سلام
از چه کدی استفاده میکنید؟
مدل ال سی دی را بیان کنید.
از همون کد داخل نرم افزار, (hello world).ال سی دی کاراکتری ۱۶*۲
به آموزش زیر مراجعه کنید و با توجه به نمونه کدهای قرار گرفته شده در متن آموزش پیش بروید.
سپس کد را آپلود کنید و عکس آن را ضمیمه کنید تا بررسی کنم.
آموزش راه اندازی سه مدل ال سی دی کاراکتری
سلام من می تونم بدون عضو شدن فقط فقط همین اموزشو دریافت کنم خواهش می کنم
با سلام
در این خصوص بایستی اشتراک تهیه نمایید و پس از آن میتوانید به کدهای آموزش مورد نظر دسترسی داشته باشید.
سلام
چطوری یک عدد مثلا چهار رقمی را توسط کیپد بنویسم؟
با سلام
لطفا شفاف تر توضیح دهید تا راهنمایی گردد.
سلام.
ال سی دی من نمایشگر کاراکتری ۱×۱۶ LCD صنعتی بدون بک لایت تایوانی مدل MTC-S16101XRYHS بود.
راه اندازیش الان حدود ۱ ساعت وقت گرفت و آخر متوجه شدم که پایه Vo یا به قول شما Vee رو به زمین متصل نکردم. این اتصال رو زدم و روشن شد اما فقط ۸ کارکتر اول نمایش داده شدند و ۸ تای دوم خاموش موندند!
باز کلی ور رفتم و مسیری که Reza در کامنت ها طی کرده بود رو هم خوندم و راه حل مشخص شد. گویا در این مدل سایز نمایشگر ۱۶ در ۱ در نظر گرفته نمیشه و در اصل ۸ در ۲ در نظر گرفته میشه؛ یعنی دو ردیف ولی بصورت متوالی و مساله اینطوری حل شد و در معرفی ال سی دی هم از این دستور استفاده کردم و مساله حل شد 🙂
lcd.begin(8, 2);
lcd.setCursor(0, 0);
lcd.print(“edameh”);
lcd.setCursor(0, 1);
lcd.print(“aghaz”);
البته aghaz و edameh رو در کد جابجا نوشتم
نکته دیگر هم اینکه در این مدل وقتی فقط ۴ سیم وصل باشه کارکترهای ناخوانا نمایش داده میشه ولی وقتی هر هشت سیم DB0 تا DB7 وصل شه درست کار میکنه
بسیار عالی
از توجه شما ممنونم.
با سلام
از اینکه تجربه خود را با دیگر کاربران به اشتراک گذاشته اید، سپاسگزارم.
با سلام
میخواستم بدونم این امکان وجود داره که یک فایل متنی با فرمت txt رو لینک کنیم به آردوینو و روی LCD نمایش بدیم !!!؟
سلام
امکان خوانده شدن فایل متنی توسط Sd وجود دارد و نمایش داده میشود. توضیحات کامل تری ارائه دهید تا راهنمایی گردد.
سلام من ال سی دی رو برد آردینو اونو وصل کردم ولی هر سورسی که روش می فرستم نمایش نمی و بعد از ۲ ثانیه ال سی دی خاموش می شه .
ضمنا هنگام آپلود کد ال سی دی روشن میشه و فقط ردیف اولی تمام مستطیل نمایش می ده.
ممنون می شم که کسی راهنمایی کنه.
با سلام
در این خصوص از آموزش راه اندازی ۳ مدل ال سی دی کاراکتری LCD با آردوینو Arduino استفاده کنید و سپس نتایج را اعلام کنید تا راهنمایی کنم.
سلام و خسته نباشید
من اتصالات رو چک کردم برنامه رو هم کامپایل کردم درسته ولی وقتی lcd روشن میشه به جای نمایش متن من کاراکتر های نامربوط نشون میده مشکل از کجا میتونه باشه؟ متشکر
با سلام
از آموزش زیر استفاده کرده و نتیجه را همان جا اعلام نمایید.
آموزش راه اندازی سه مدل ال سی دی کاراکتری
سلام خدمت شما دوست عزیز من میخوام کیپد ۴ در ۴ رو به ال سی دی ۱۶ در ۲ و اردوینو وصل کنم طوری که هر حرفی رو روی دکمه فشار بدم روی ال سی دی به نمایش در بیاد ممنونم میشم بهم اموزش بدین
با سلام
در این خصوص دو روش برای اجرا وجود دارد. لینک آموزش های مرتبط برای شما ضمیمه میشود و میتوانید از آن منبع استفاده کنید و کدنویسی کنید که در ادامه لینک شده است.
آموزش راه اندازی ال سی دی کاراکتری
آموزش کار با keypad آردوینو بخش اول
همچنین در صورت نیاز به اجرای پروژه از طریق پرتال پشتیبانی فروشگاه اقدام کنید.
پرتال پشتیبانی
ممنون جناب قربانی
باسلام خدمت سایت بسیار خوب دیجی اسپارک من وقتی میخوام کد هارو vrify یا آپلود کنم این ارور رو میده:
Error compiling for board Arduino/GenuinoUno
این ارور فقط برای این ماژول هستش حتی کتابخانه این ماژول رو هم نصب کردم حتی اتصال پورت هم چک کردم درست بود ولی نمیدونم چرا این ارور رو میده ممنون میشم راهنماییم کنید
با سلام
ارور کامل را کپی کنید تا بررسی شود. همچنین از کدام مدل آردوینو استفاده میکنید؟
سلام ببخشید همون طور گفتید ما اگر پین R/w رو یک بدیم یعنی باید از روی lcd چیزی را بخوانیم خب حالا لطفا میشه یه مثالی بزنید و یا این که کد های مربوط به خواندن رو بدید؟
ممنون از لطفتون
با سلام
از توجه شما ممنونیم. دقت داشته باشید در کامنت ها امکان تحلیل کد وجود ندارد.
جهت نوشتن متن بر روی ال سی دی پین صفر شده و در زمان خواندن یک تنظیم میشود
سلام
تمامی اتصالات را به درستی بر قرار کرده ام ولی کاراکتری روی lcd نمایش داده نمیشود
مشکل چیست؟
ممنون
با سلام
تصویر از ال سی دی ارسال کنید تا بررسی شود.
چگونه
سلام ممنون از آموزش زیباتون فرق بین وصل کردن صفحه نمایش به صورت ۴ بیتی و ۸ بیتی در چیست
با سلام
تفاوت چندانی ندارد و تنها بایستی طبق دیتاشیت پایه ها را به آردوینو متصل کنید.
سلام و وقت بخیر من lcd کاراکتری رو به هر نحوی سیمکشی کردم و متصل کردم فقط مربع نمایش داده میشه و هیچ چیزی مشاهده نمیشه مدل lcd1602A و آردینو uno
با سلام
در این خصوص ممکن است در اتصالات خطایی وجود داشته باشد. همچنین کتابخانه را بررسی و آپدیت کنید.
سلام و عرض ادب
ببشخشید من میخوام در ال سی دی یک کارکتر در اول ال سی دی نمایش داده شود و یک جلمه بعد از اون ولی جمله به چپ بره ولی اون کارکتر سر جاش بمونه ممنون میشم کمک کنید
با سلام
در این خصوص از آموزش زیر استفاده نمایید.
راه اندازی سه مدل ال سی دی کاراکتری
سلام من همه ی کار هارو انجام دادم متن روی lcd نمایش داده نمشه
با سلام
کاربر گرامی از آموزش زیر استفاده کنید و همچنین بخش آپدیت در سال ۹۹ را بررسی کنید.
آموزش راه اندازی ال سی دی
هنوز چیزی نشان نمیده
کاربر گرامی مساعدت فرمایید و روش اتصال را طبق آموزش لینک شده انجام دهید و موارد را در همان آموزش اعلام کنید.
سلام وقت بخیر
من میخوام با استفاده از چهارکلید یک کاراکتر رو در ال سی دی به سمت راست چپ بالا پایین جابجا کنم میشه کمک کنید فورا ممنون.
با سلام
در این خصوص بایستی از توابع کتابخانه LiquidCrystal استفاده کنید. در این خصوص آموزش کاملتری در پست زیر نوشته شده است. بررسی کنید.
آموزش راه اندازی LCD
سلام ببخشید چگونه در این لا سی دی های کاراکتری شکل های مختلف یا حروف فارسی رانوشت کد اردونیو اش چیست
ممنون
با سلام
درخواست شما خارج از موضوع نظرات است. برای این منظور بایستی کدنویسی کنید.
سلام و خسته نباشید
ممنون بابت اظلاعات خوبتون
اگر بخوام که چند متغیر را باهم نشان بدهم چجوری باید انجام بدم مثلا برای نوشتن ساعت در ccs مینویسم:
printf(lcd_putc,”%d:%d:%d”,h,m,s);
اما در آردوینو که %d را میزنم ایراد میگیره آیا روشی هست که بشه اینطور نشون داد مثل ساعت؟؟؟؟
با سلام
در این خصوص دیتاها را طبقه بندی کنید. چه اروری نمایش داده میشود؟