به نام خدا : آموزش جامع کار با lcd کاراکتری در ARDUINO : سلام خدمت شما دوستان گل ، تو این مطلب از آموزش آردوینو میخوام نحوه راه اندازی lcd کاراکتری با آردوینو(آردینو) یه سری توضیحات بدم ، که من از سایت ARDUINO یادش گرفتم و دارم اینجا براتون آموزش میدم و چند تا پروژه آردوینو براتون میزارم(پروژه که نمیشه اسمش رو گزاشت ولی…بگذریم)
کتابخانه lcd کاراکتری برای ARDUINO
این کتاب خونه ۲۰ تا تابع داره که در زیر میبینید ، و در زیر اینا توضیحشون میدم
lcd.begin
lcd.clear
lcd.home
lcd.setCursor
lcd.write
lcd.print
lcd.cursor
lcd.noCursor
lcd.blink
lcd.display
lcd.noDisplay
lcd.scrollDisplayLeft
lcd.scrollDisplayRight
lcd.autoscroll
lcd.noAutoscroll
lcd.leftToRight
lcd.rightToLeft
lcd.createChar
LiquidCrystal Library
در اینجا میخوام تک تک توابع رو براتون بگم…
همچنین میتونیم توسط این تابع میتونیم تعیین کنیم که lcd رو تو مد ۴ بیتی راه اندازی کنیم یا ۸ بیتی.
جواب : lcd کاراکتری رو اگه دیده باشین حدود ۱۶ تا پایه داره که از این ۱۶ تا ۸ تاشون پایه دیتا هستن ، به نام D0 تا D7 که اگه از D4 تا D7 (که میشه ۴ تا پایه) استفاده کنی میگن LCD رو تو مد ۴ بیتی راه اندازی کردی و اگه از هر ۸ تا پایه (D0 تا D7) استفاده کنیم میگن که LCD رو تو مد ۸ بیتی راه اندازی کردی
و با توجه به این که تو مد ۸ بیتی نسبت به مد ۴ بیتی به ۴ تا پایه بیشتر نیاز دارم تا به LCD اطلاعات رو بدیم لذا تو تمون پروژه ها LCD رو تو مد ۴ بیتی راه اندازی میکنن تا پایه کمتری از برد آردوینو مون مصرف بشه.
میگفتم ، این تابع lcd.LiquidCrystal رو میشه به ۴ حالت نوشت ، که در زیر میبینید۲ تای اول برا مد ۴ بیتی و ۲ تای آخر برا مد ۸ بیتی هستش.
1 2 3 4 |
LiquidCrystal(rs, enable, d4, d5, d6, d7); LiquidCrystal(rs, rw, enable, d4, d5, d6, d7); LiquidCrystal(rs, enable, d0, d1, d2, d3, d4, d5, d6, d7); LiquidCrystal(rs, rw, enable, d0, d1, d2, d3, d4, d5, d6, d7); |
به جای d0 , d1 , d2 , d3 , d4 , d5 , d6 ,d7 , enable , rw , rs باید عدد پایه مورد نظر از برد آردوینو رو قرار بدید ، مثلا به جای rs بنویسید ۵ که یعنی پایه شماره ۵ برد آردوینو باید به پایه rs نمایشگر مون (همون lcd منظورمه ) وصل بشه.... ok???
1 2 |
LiquidCrystal(rs, enable, d4, d5, d6, d7); LiquidCrystal(rs, rw, enable, d4, d5, d6, d7); |
ولی اگه از حالت دومی(کد های بالا رو میگم) بخوایم استفاده کنیم باید پایه rw رو هم به آردوینو وصل کنیم و نمیتونیم دیگه به gnd وصلش کنیم.
که این داستان برا مد ۸ بیتی هم به همین منوال هستش.
نتیجه : بهتره که همیشه از راه اندازی lcd به صورت ۴ بیتی استفاده کنیم و از اون تابعی استفاده کنیم که گزینه rw رو نداره ، یعنی همیشه از کد زیر استفاده کنیم.
1 |
LiquidCrystal(rs, enable, d4, d5, d6, d7); |
1 |
lcd.begin(16, 2); |
اینم از این ، بریم سراغ تابع بعدی ، خدا رحم کنه ، هنوز ۱۸ تای دیگه مونده...
و به صورت زیر استفاده میشه(به صورت زیر باس بنویسیش
1 |
lcd.clear(); |
1 |
lcd.home(); |
1 |
lcd.setCursor(0,0); |
1 |
lcd.setCursor(x,y); |
مثلا برا نمایش کاراکتر A تابع رو به صورت زیر مینویسیم :
1 |
lcd.write('A'); |
1 |
lcd.print("DMF313.IR"); |
1 2 |
lcd.cursor(); lcd.noCursor(); |
1 2 |
lcd.blink(); lcd.noBlink(); |
مثلا در صورت استفاده از تابع lcd.nodisplay اطلاعات روی نمایشگر پنهان میشوند(پاک نمیشوند و از بین نمیروند.) برخلاف تابع lcd.clear که میزد هر چی تو LCD بود رو پاک میکرد، تابع lcd.display هم، اطلاعات غیب شده رو نمایش میده دوباره ، فقط همین و توسط تابع lcd.noDisplay دوباره میتونیم اطلاعات رو غیب کنیم.
1 2 |
lcd.noDisplay(); lcd.display(); |
lcd.scrollDisplayLeft : هر بار که این تابع اجرا بشه کل اطلاعات روی نمایشگر یه واحد به سمت چپ شیفت داده میشن.
1 2 |
lcd.scrollDisplayLeft(); lcd.scrollDisplayRight(); |
lcd.rightToLeft : راست به چپ کردن نوشتن متن ها
توجه : تو حالت عادی متن ها توی lcd به همین طریق نوشته میشوند یعتی عنگام نمایش متن روی نمایشگر از سمت چپ به سمت راست حرکت میکنیم یعنی از ستون ۰ میریم به سمت ستون آخر یعنی ستون ۱۵ ولی تو تابع lcd.rightToLeft از سمت راست میریم به سمت چپ یعنی از آخرین خونه به سمت خونه ۰ حرکت مینیم و اگه مثلا متنی بخوایم بنویسیم از ستون ۱۵ شروع به نمایش دادن میشه به سمت ستون ۰ نمایشگرمون
1 2 |
lcd.rightToLeft(); lcd.leftToRight(); |
lcd.scrollDisplayRight هستش.
وقتی از تابع lcd.autoscroll استفاده کنیم (و بازم وقتی تابع lcd.leftToRight فعال باشه که تو حالت عادی فعال هستش مگه این که تغیرش بدین) تو این حالت اگه بخواین یه متنی نشون بدیدن در یه مکان خاص...از اون مکان خاص شروع به حرکت میکنه و به سمت چپ میره( و وقتی تابع lcd.rightToLeft فعال باشه متن به سمت راست میره) >>> برا این گزینه به پروژه ای که در ته مطلب گزاشتم حتما توجه کنید....اون قسمت از پروژه که از این ۲ تا تابع استفاده کردم رو منظورمه
1 |
byte smiley[8]={16,16,16,23,20,31,16,31}; |
حالا بعد تعریف آرایه کاراکتر جدیدمون باید کد زیر رو به پروژه اضافه کنیم که در اون تعیین میکنیم که آرایه فوق یه کاراکتر جدید هستش و بهش یه مقدار میدیم و هر موقع این مقدار رو توسط تابع نمایش کاراکتر نشون بدیم ، کاراکتر جدید نمایش داده میشه.
1 |
lcd.createChar(0, smiley); |
مثلا اگه در جایی از پروژه از کد زیر استفاده کنیم کاراکتر تعریف شده توسط ما در نمایشگر به نمایش در میاد.
1 |
lcd.write(byte(0)); |
که اون عدد صفر شماره کاراکتر تعریف شده توسط ما هستش.(۸ تا کاراکتر میتونیم تعریف کنیم که مقادیر ۰ تا ۷ رو بهشون باید اختصاص بدیم)
توجه : تو پروتئوس مثل این که خونه های lcd اندازشون ۵*۷ هستش ولی تو عمل که من تست کردم نمایشگرم اندازش ۵*۸ بود.(عگس زیر رو ببینید)
مثال برای این تابع
پروژه آردوینو
LiquidCrystal Library
- Hello World: Displays "hello world!" and the seconds since reset.
- Blink: Control of the block-style cursor.
- Cursor: Control of the underscore-style cursor.
- Display: Quickly blank the display without losing what's on it.
- TextDirection: Control which way text flows from the cursor.
- Scroll: Scroll text left and right.
- Serial input: Accepts serial input, displays it.
- SetCursor: Set the cursor position.
- Autoscroll: Shift text right and left.
شماتیک پروژه
کد های پروژه
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 |
// include the library code: #include <LiquidCrystal.h> // تعیین این که نمایشگر به چه پایه هایی از بردمون وصل هستش // LiquidCrystal(rs, rw, enable, d4, d5, d6, d7) LiquidCrystal lcd(7,8,9,10,11,12,13); void setup() { //یه آرایه که توش یه کاراکتر جدید تعریف کردیم و میخوای تو نمایشگر نشونش بدیم byte smiley[8]={16,16,16,23,20,31,16,31}; //تعریف آرایه بالا به عنوان یک کاراکتر جدید--فقط ۷ کاراکتر میتونیم بسازیم-حواستون باشه به این موضوع-اون صفر هم یعنی کاراکتر ۰ ام-حواستون هم باشه که تعریف تابع جدید باید قبل تابع "بیگین" صورت بگیره lcd.createChar(0, smiley); //تعیین تعداد سطر و ستون های نمایشگرمون lcd.begin(16, 2); //تعیین موقعیت نمایش گر برا نمایش اطلاعات lcd.setCursor(3,1); // نمایش یه متن رشته ای lcd.print("DMF313.IR"); //نمایش مکان نما-نمایش محلی که دیتا اونجا نوشته میشه-با یه خط تیره تو نمایشگر این مکان رو مشخص میکنه lcd.cursor(); delay(3000); //عدم نمایش مکان نما lcd.noCursor(); //نمایش مکان نما با یه مربع که چشمک میزنه lcd.blink(); delay(3000); //عدم نمایش مکان نمایی که چشمک میزنه lcd.noBlink(); delay(3000); //پنهان کردن یا غیب کردن اطلاعات داخل نمایش گر lcd.noDisplay(); delay(3000); //نمایش اطلاعات پنهان شده یا غیب شده ....که توسط تابع "نو دیس پلی" غیبشون کرده بودیم lcd.display(); delay(3000); //نمایش یه تک کاراکتر در نمایش گر lcd.write('a'); delay(3000); //بردن مکان نما به خانه-سمت چپترین و بالاترین خونه از نمایشگر رو میگن "هوم" ^_^ lcd.home(); //نمایش یه تک کاراکتر برای این که عملکرد تابع "هوم" رو ببینید O_o lcd.write('a'); delay(3000); //پاک کردن محتویات نمایشر lcd.clear(); /////////////////////////////////////////leftToRight و rightToLeft lcd.rightToLeft(); //راست به چپ کردن نوشتن متن ها lcd.setCursor(15,0); lcd.print("12345"); lcd.leftToRight(); // چپ به راست کردن نوشتن متن ها lcd.setCursor(0,0); lcd.print("12345"); /////////////////////////////////////////leftToRight و rightToLeft delay(3000); //////////////////////////////////////scrollDisplay Left & Right for (int i = 0; i < 13; i++) { lcd.scrollDisplayLeft(); //هر بار که این تابع اجرا بشه کل اطلاعات روی نمایشگر یه واحد به سمت چپ شیفت داده میشن // wait a bit: delay(150); } for (int i = 0; i < 13; i++) { lcd.scrollDisplayRight(); //هر بار که این تابع اجرا بشه کل اطلاعات روی نمایشگر یه واحد به سمت delay(150); } //////////////////////////////////////scrollDisplay Left & Right delay(3000); //////////////////////////////////////autoscroll + noAutoscroll lcd.autoscroll(); lcd.setCursor(10,0); for(int i=0 ; i<=9 ; i++) { lcd.print(i); delay(500); } delay(2000); lcd.clear(); lcd.noAutoscroll(); for(int i=0 ; i<=9 ; i++) { lcd.print(i); delay(500); } //////////////////////////////////////autoscroll + noAutoscroll //نمایش کاراکتر از قبل تعریف شده lcd.write(byte(0)); delay(3000); } void loop(){} |
اینم یه عکس از مدار که در عمل بستم
فیلم پروژه
فیلمش چیز خاصی نداره ، اگه پروژه رو تو پروتئوس اجرا کنید همون چیزی رو میبینید که تو فیلم هست....گزاشتم که گزاشته باشم
فعلا یا علی
مهمان
با سلام و خسته نباشید
میخواستم ببینم میشه کرسر رو توی یه خونه مشخص چشمک زن کرد؟؟؟؟
ینی مثلا 9/6/2020 رو داریم و میخوایم کرسر روی عدد 9 باشه و همزمان چشمک هم بزنه
نویسنده این مطلب
سلام
توابع زیر رو بررسی کیند :
1) setCursor
2) cursor و noCursor
3) blink و noBlink
مهمان
ممنون
مهمان
سلام
من برنامه نوشتم فقط روی ال سی دی نام خودمو چاپ کند ال سی دی کلا مربع مربع نمایش میدهد
پتاسیومتر هم گذاشتم همین مشکل داشتم
دلیلش چی میتواند باشد
پروزه سایت هم ریختم همینجوری بود
نویسنده این مطلب
سلام
اینو ببین : آموزش جامع کار با LCD کاراکتری
مهمان
اقا من lcd ام از ایناییه که پورتاش سوراخ سوراخه.بیچاره شدم ک بتونم اینا رو با سیما برد بوردی رو برد پین کنم.اینقدرم توهم توهم شد.شما چطور سیمات اینقدر فاصله داره و تمیز وصل کردی؟ چیکار کنم من؟
مهمان
چسب بزن حاجی :))
مهمان
دمت گرم کارت درسته

مهمان
ایا این 3-2در WG12864A2-3چیزه خاصی نیست توی لیست WG12864Aبود ولی اون ۳-۲نبود
نویسنده این مطلب
دیتاشیت همینی که گفتی رو بررسی کن – قرار نی که برا هر زیر-نسخه یه دیتاشیت جدا منتشر بشه که!
مهمان
شکلش انگار فرق می کنه
نویسنده این مطلب
باس سرچ کنی دیگه – این لینکو بررسی کن.
http://www.wincomlcd.com/graphics.html
مهمان
مدلش WG12864A2-3زدم توی اینترنت حتی یک دیتا شیت از در نیومد اما عکسی که نمایش میده دقیقا همون شکل
http://uupload.ir/files/pta7_img_20190801_155814_889.jpg
ببینید شما می دونید چه جوری کار می کنه
نویسنده این مطلب
این که ks0108 معروفه
مهمان
سلام اقا مهدی می گم ای دی تلگرامت بده من از یکی از دوستان یه LCDگرفتم 20پایه داره انگار64×128اما نمی دونم کاراکتریه یا گرافیکی نتونستم را بندازم
فقط تونستم LEDپس زمینشاروشن کنم
نویسنده این مطلب
سلام-خب اسمشو سرچ کن – یا اگه اسمشو نداری – اسم آیسی های پشت نمایشگر رو سرچ کن.
مهمان
سلام وقت بخیر
من خواستم با آردوینو و درایور L298 و موتور dc و باتری و آداپتور 9 ولت یه مدار ببندم که وقتی سرعت موتور تغییر میکنه Lcd برام نمایشش بده
ولی Lcd هیچی نشون نمیده.لطف میکنید راهنمایی کنید که باید چیکار کنم؟
مهمان
باسلام :با تشکر از زحمات زیادی که بدون هیچ چشم داشتی در کمک به جوانان متحمل می شوید.خداوند به شما توفیق دهد
سوال من اینکه می خواهم اطلاعات روی lcdرا بخوانم ودر متغیری ذخیره کنم اگر ممکن است راهنمایی فرمایید
نویسنده این مطلب
سلام.نمایشگر کاراکتری امکان خون اطلاعاتش رو داره تا جایی که خاطرمه.شما باید برید به کتابخونه ای که استفاده میکنید ببینید که توابع خوندن رو داره یا نه.اگه نداشت باید برید سراغ دیتاشیت نمایشگر و توابعش رو بنویسید
مهمان
سلام ، ممنون از زحمات تون

خیلی ممنون
فقط میخواستم یک مشکل رو بگو : لینک دانلود نرم افزار تبدیل تولید کد برای ایجاد کارکتر جدید خرابه
نویسنده این مطلب
سلام-اصلاح شد.
مهمان
در حقیقت من هنوز با آرایه ها و …. مثل کاراکتر کار نکردم تو سایتتون توضیحاتش هست؟؟؟؟
مهمان
ممنون از راهنمایی ولی یه سوال این درسته:lcd.createChar(۶, smiley);
باید بعد اون اعدادی که تو برنامه میزنیم بهمون میده بیاد دیگه ؟ و این که گفتید فقط ۷ تا میشه تعریف کرد؟ و این که smiley چی هست ( تابعه) یعنی مثلا به جاش میشه نوشتa چون من این کد رو هی زدم ولی فقط عدد رو عوض کردم
نویسنده این مطلب
مطلب رو مگه ندیدی؟ توضیحات قسمت createChar
یا مطلب رو نخوندی با دقت یا کدنویسی بلد نیستی – در هر دو حالت امکان پاسخ گویی ندارم – موفق باشید.
شما اول پروژه هر چند تا کاراکتر نیاز داشته باشی تعریف میکنی – بعد در پروژه ازشون استفاده میکنی. ( که خب تو تعریف تعداد کاراکتر هم یه محدودیتی هستش 7-8 تایی باید باشه – دقیقا یادم نی )
smiley چی هستش؟
مهمان
ببخشید از شما من تازه دارم شروع میکنم بعد شاید از بی دقتی من هست در کل ببخشید
نویسنده این مطلب
خواهش میکنم این چه حرفیه.
شما مقدمه رو نخونده رفتید …
شما باید C++ رو یاد بگیرید اول – بعد برید سراغ میکرو.
تو نت بزنی همه مدل آموزشی برا C++ هستش.
مهمان
سلام میخواستم کاری کنم که میزان حرکت جیستیک رو ال سی دی نمایش بدم (مثل ال سی دی گرافیکی ولی با کاراکتر که یه چیزی تو این زمینه ها هست==>……)
مثل نمودار و ستون و….
میخواهم مثلا وقتی مقدار 3ولت رو نشون داد کاراکتر شماره مثلا3 رو نشون بده حالا وقتی اجرا میکنم این رو میگه مگه نباید همچین چیزی نوشت براشbyte smiley[8] = {0,0,0,0,0,31,31,31};
lcd.createChar(1,smiley);
راهنمایی کنید اینم ارورش:
C:\Users\mohammad pourian\Documents\Arduino\sketch_dec26a\sketch_dec26a.ino: In function ‘void setup()’:
sketch_dec26a:16:14: error: redeclaration of ‘byte smiley [8]’
byte smiley[8] = {0,0,0,0,0,31,31,31};
^
C:\Users\mohammad pourian\Documents\Arduino\sketch_dec26a\sketch_dec26a.ino:14:8: note: ‘byte smiley [8]’ previously declared here
byte smiley[8] = {0,0,0,0,0,0,0,31};
^
sketch_dec26a:18:14: error: redeclaration of ‘byte smiley [8]’
byte smiley[8] = {0,0,31,31,31,31,31,31};
^
C:\Users\mohammad pourian\Documents\Arduino\sketch_dec26a\sketch_dec26a.ino:14:8: note: ‘byte smiley [8]’ previously declared here
byte smiley[8] = {0,0,0,0,0,0,0,31};
^
sketch_dec26a:20:14: error: redeclaration of ‘byte smiley [8]’
byte smiley[8] = {31,31,31,31,31,31,31,31};
^
C:\Users\mohammad pourian\Documents\Arduino\sketch_dec26a\sketch_dec26a.ino:14:8: note: ‘byte smiley [8]’ previously declared here
byte smiley[8] = {0,0,0,0,0,0,0,31};
^
exit status 1
redeclaration of ‘byte smiley [8]’
نویسنده این مطلب
سلام
نمیدونم کدت دقیقا چشه ولی اینی که فرستادی میگه آرایه smiley دوبار تعریف شده
sketch_dec26a:16:14: error: redeclaration of ‘byte smiley [8]’
مهمان
سلام. خسته نباشین
میشه این ال سی دی رو با اتصالات کمتر از 7 پایه به آردوینو وصل کرد؟
یعنی مثلا میشه پایه ریست یا اینیبل رو با یه مقاومت 10 کیلو به vcc وصل کرد؟
نویسنده این مطلب
سلام
از lcd i2c استفاده کن با دو پایه دیتا و 2 تا تغذیه
مهمان
سلام مهندس جان
اینم از این
—
نویسنده این مطلب
سلام-چه حوصله ای دارییییییییییییییییی
مهمان
به گرد شمام نمیرسیم
نویسنده این مطلب
نه باو – یه بارم چیز این مدلی من درست نکردم – حوصلم نمیشه متاسفانه
مهمان
کاربردی کردن آموزه های شما خیلی حال میده
مهمان
سلام مهندس خستا نباشی
میخواستم تو lcd تو ردیف اولش یه کلمه ثابت باشه و
تو ردیف دوم یه کلمه را به صورت چرخشی با دستور scrolldisplayright بنویسم چیکار باید بکنم؟
ممنون
مهمان
سلام جناب مهندس
میشه خواهش کنم در مورد کتابخونه مربوط به ال سی دی کارکتری ۴ در ۲۰ به همراه پایه های اتصال به آردوینو روهم راهنمایی کنین؟
خیلی خیلی ممنونم
نویسنده این مطلب
سلام –
تو پروژه ته مطلب – خط 5-6 هم پایه هایی که در پروژه تعریف شدن رو مشاهده میکنی – برا بقیه پایه ها :
اینو سرچ کن : connect lcd to arduino
مهمان
سلام خوبی
میتونید یه توضیح خلاصه در مورد مدار بندی ال سی دی بدید؟
نویسنده این مطلب
سلام
پروژه ته مطلب خط 5و6 پایه ها و این که به کدوم پایه میکرو باید وصل بشن رو تعیین کردم :
LiquidCrystal(rs, rw, enable, d4, d5, d6, d7)
نمایشگر 16 تا پایه داره – 4 تاش که vcc و gnd وصل میشن بهشون – 8 تا دیتا که 4 تای اولی استفاده نمیشه – بقیه هم که در بالا مشخص کردم به کجا وصل بشن – یه مقاومت متغییر هم بازید استفاده کنی که یه سرچ کنی تو نت متوجه میشی باید به کدوم پایه نمایشگر وصلش کنی – الان دقیقه خاطرم نی
مهمان
سلام یه سوال وقتی ال سی دی من روشن میشه تو صفحه یه چیز خونه خونه هست که کاراکتر رو روی اون مینویسه چیکار کنم بره و مثل شما صفحه فقط آبی باشه
مهمان
داداش خیلی ممنون از نوع مطالب و نگارش مطالب خیلی حال کردم مخصوصاً قسمت اخرش که گفتی پیام بزارید

داداش فوق العاده بود
مهمان
سلام
ممنون از آموزش های خوبتون.
به lcd من یک چیز وصله(از اول که خریدم وصل بود) که تمام پایه ها داخل اون رفتن و اون فقط چهار تا پایه داره.میخواستم ببینم اون چهار تا پایه رو چجوری و به کجای بردم ببندم؟
عکس ها:
http://uupload.ir/files/sbuo_image1.jpeg
http://uupload.ir/files/agoh_image2.jpeg
نویسنده این مطلب
سلام
خب این LCD I2C هستش – مطلبش تو سایت هستش با آردوینو فک کنم – بگرد نبود – تو نت هستش حتما
مهمان
ببین اون چیزی که به ال سی دیت وصله یجور درایوره که برای جلوگیری از سیم بندی زیاد گذاشته میشه اون چهارتا سیم هم دوتاش برای منبع دوتاش هم برای داده ست
مهمان
سلام بر استاد عزیز

اگه بخوام اسکرول از بالا به پایین یا برعکس بشه چه تابعی هست یا چطور میشه؟
نویسنده این مطلب
سلام
از بالا به پایین؟ نیمدونم – باید کتابخونه نمایشگرو بررسی کنی ببینی همچین چیزی هستش یا نه – من یادم نمیاد که همچین تابعی باشه – حالا خودت یه بررسی کن.
بعد اگه نبود برو دیتاشیت نمایشگرو ببین – ببین همچین قابلیتی داره خود نمایشگر – بعد به کمکش تابعشو بنویس.
حالا اگه جزو ویژگی های نمایشگر نبود این مورد – باید حالا خودن اطلاعات داخل نمایشگر رو فعال کنی ( تا جایی که یادمه این قابلیت وجود داره تو نمایشگر کاراکتری ) و بعد اطلاعات توی نمایشگرو بخونی و تو آرایه بریزی و … : مثلا خط اول نمایشگرو بریزی تو آرایه و تو خط دوم نمایشش بدی و خط اول رو هم پاک کنی یا خط دوم رو به خط اول منتقل کنی – نمیدونم دقیقا متوجه منظورم شدی یا نه.
مهمان
با سلام و تشکر فراوان
واسه Lcd 20*4 هم اینارو میشه استفاده کرد؟
من توی شبیه ساز پریوس انجام دادم راحت هم 16*2 و هم 20*4 رو کار کرد.
ولی یه Lcd 20*4 خریدم ولی نشون نمیده
نمیدونم مشکل از کجاست
نویسنده این مطلب
سلام
آره میشه-باید ببینی کجا سوتی دادی.
مهمان
اقا دمت گرم کارت حرف نداره ممنون

مهمان
دمتون گرم
مهمان
سلام خسته نباشین
من تو اردوینو کد
lcd.begin(16, 2);
میزنم lcd ازکار میفته و چیزی نمایش نمیده
مهمان
سلام
خسته نباشد
من یک صفحه نمایش با ظرفیت نشان دادن 15 حرف فارسی میخوام که به این صفحه نمایش یک رم میکرو وصل بشه و محتوای متنیش رو نشون بده.
ایا این امکان هست
اگر هست به چه صورت هست
خیلی ممنون میشم اگه پاسخ سوال من رو بدین
نویسنده این مطلب
سلام
غیر از نمایشگر کاراکتری از هر نمایشگر دیگه ای میتونید استفاده کنید.
مهمان
سلام.

ممنون از سایت خوبتون.
من به الکترونیک خیلی علاقه دارم داخل پروتئوس یک دزدگیر ساده دو زون ساختم . میخواهم وقتی اژیر زد رو ال سی دی بنویسه الارم ولی وقتی اژیر میزنه نوشته ها سریع شروع میکنن به حرکت سریع پشت سر هم. چی کار کنم؟؟؟؟؟؟؟؟؟
نویسنده این مطلب
سلام
با پروتئوس کار نکنید!
مهمان
سلام ممنون ولی داخل واقعیت هم همینجوریه
مهمان
سلام من بخوام تا 5 رقم اعشار رو lcd بندازم باید چیکار کنم ؟
نویسنده این مطلب
سلام
به این صورت استفاده کن – جواب نداد، خودت متغییرتو به رشته تبدیل میکینی و به صورت نمایش میدی تو lcd
lcd.print(x,5);
مهمان
سلام
یه تشکر بابت مطالب خوبتون
اگه بخوایم مقدار یک یا چند متغیر رو نمایش بدیم باید چیکار کنیم؟؟؟
نویسنده این مطلب
سلام
lcd.print
مهمان
سلام مهندس عزیز.قهری باهام؟
نویسنده این مطلب
سلام-چی شد؟
مهمان
واسه تعریف کاراکتر جدید تو lcd i2c چیکار باید کرد?
نویسنده این مطلب
پروژه این مطلب – خط ۱۳ و ۱۵ رو ببین
مهمان
اینو انجام دادم تو این پروژه مشکلی نداشتم.ولی وقتی lcd رو با lcd i2c عوض کردم دیگه کاراکنرهایی که تعریف کرده بودم اجرا نمیشد.
مهمان
اگه امکان داره تو پروژه بالا از پروتوکل i2c استفاده کنید و کاراکتر های جدیدی که تعریف کردید رو مشاهده کنید.یه سری اشکال بیربط نشون داده میشه?
مهمان
حرف ندارب به مولا
مهمان
سلام مهندس جونم.علاوه بر سوالم در مورد دلیل اجرا نشدن دستور tone() تو تابع وقفه، الان مشکلم اجرا نشدن کاراکتر جدید هست (طبق دستور العمل گفته شده توسط شما داداش گلم) تو پروتکل i2c .چه کنیم؟
البته تو حالت اتصال معمولی هف هش سیمه کاملا بدون مشکل هستم
مهمان
سلام دوباره من
میشه برای راه اندازی ال سی دی از پتانسومتر استفاده نکنم

نویسنده این مطلب
سلام
بستگی به نمایشگرت داره – ولی در کل بهتره بزاری
مهمان
سلام و خیلی ممنون هم از خودتون و هم از سایت خوبتون مشکلمو با مقاومت حل کردم
مهمان
با تشکر از سایت خوبتون.
نویسنده این مطلب
مطلبش تو سایت هستش / کلمه i2c رو سرچ کن یا تو پروژه های آردوینو دنبالش بگرد.
مهمان
آقا بخدا خیلی گلی.کلا از اخلاق و منشت خوشم میاد. میدونم تو این دور زمونه که کسی برای کسی وقت نمیذاره تو داری اینقدر وقت میذاری حتما و حتما اهدافت بالاتر از پول و این حرفاست. میخوای هم ثواب کرده باشی و هم به بچه های مملکتت در این زمینه ها کمک کرده باشی.مطمئن باش ما هم جبران زحمت خواهیم کرد.خدا قوت. یا علی
مهمان
سلام مثل همیشه فوق العاده
مهمان
اقا واقعا خدا خیرت بده
خیلی کارٍت درسته
مهمان
سلام خسته نباشید.ممنون بابت سایت خوبتون.و اینکه من به یه مشکلی برخوردم:من یه برنامه برای lcd نوشتم درست کار داد.اما الان که میخوام یه button بزارم که هر وقت فشارش دادم lcd شروع به کار کنه اصلا کار نمیکنه خیلی هم بهش ور رفتم اما… اگه میشه کمکم کنید
در ظمن اگه میشه پروژه هایی با کی پد هم بگذارید یا نوشتن منو با lcd_من ۱۳ سالمه خیلی به برنامه نویسی علاقه دارم اگه میشه کمکم کنید
نویسنده این مطلب
سلام
کد پروژتو زیپ کن و بفرست ببینم مشکلش چیه – از مدارت هم عکس بگیر همراه کد بفرست
مهمان
سلام استاد
من میخوام آردوینو هر وقت فلش متصل شد(به ماژول USB HOST)، بصورت خودکار اطلاعات داخل فلش رو خط به خط از یک فایل txt که روی فلش ذخیره شده بخونه و روی ال سی دی نمایش بده
میشه همچین برنامه ای رو آموزش بدید؟
ممنون از شما
مهمان
ممنونم از توضیحات خوبتون
مهمان
سلام من با راه اندلزی این lcd یه مشکلی دارم اونم اینه که وقتی اتصالات رو برقرار میکنم lcd روشن میشه و سطر دوم فقط پر رنگ میشه و اون عبارت رو نشون نمیده من این lcd رو با برد مگا۲۵۶۰ راه اندازی کردم(پتانسیومتر هم گذاشتم نشد)لطفا راهنمایی کنید…
ممنون
نویسنده این مطلب
سلام
پس یا اتصالات مشکل داره یا کد نویسی – سوتی های شایع رو تو مطلب زیر نوشتم :
https://dmf313.ir/آموزش-جامع-کار-با-lcd-کاراکتری/
مهمان
وای سایتتون عالیه عالی. ممنون
مهمان
جز تشکر فراوان چه نظری میشه داد. کارشما معرکه است
مهمان
خیلی عالی توضیح دادی . دمت گرم
مهمان
سلام،ممنون از مطالب کاملتون،یه سوال داشتم،تو آردوینو میشه از sprintfبرای رشته و نمایش تو السیدی استفاده کرد؟
نویسنده این مطلب
سلام – نمیدونم – تست کنیم – احتمالا باید بشه.
مهمان
سلام مهندس . من از پورت سریال یک نمایشگر ۵ بیت خروجی میگیرم که میخوام توسط آردوینو بدم به ماژوا ال ای دی ۳۲×۱۶ . لطفا میشه کمکم کنید . با تشکر . ارادتمند شما
نویسنده این مطلب
سلام
الان کجاشو بگم؟
مهمان
سلام.
ممنون اقامهدی.
۱۶ روز لنگ این بودم که بااردینو تو ال سی دی کاراکتری فارسی بنویسم!
نویسنده این مطلب
سلام-الان بستی پروژه رو یا هنوز نبستی؟ مشکل کجاس؟
مهمان
سلام.
منظورم راه هلش بود که خدارو شکر پیداکردم.
تو ای وی ار بلد شدم.
مهمان
داش ناموسن خیلی خوبی/ حال کردم با درس دادنت ایشالا عروسیت جبران کنم/ خیلی گلی متی جوووووون
مهمان
عالی خدا قوت ….
مهمان
سلام مهندس ببخشید بخوام فقط ی خونه ال سی دی بعد از مشخص کردن مکان طبق اموزشتون روشن بشه برنامه ش چیه؟
نویسنده این مطلب
سلام
یعنی چی روشن بشه – متوجه نشدم
مهمان
سلام
از مطالب سایت بهره مند شدم
ممنون از سایت خوبتون
مهمان
با تشکر از آموزش های خوبتون
من میخواهم یک منو طراحی کنم که رو lcd نشون بده و با توجه به انتخاب منو کار مربوط به اون منو انجام بشه.
میشه راهنمایی کنید؟
برد من arduino due هستش.
نویسنده این مطلب
این موردی که میفرمایین کد نویسی هستش – چیز قابل توضیح دادانی نیست که بخوام توضیح بدم –
مهمان
عالی بود
مهمان
کارت عالیه
مهمان
بله پیدا کردم.
کتابخونه های مختلف رو امتحان کردم طبق گفته کاربر ولی مشکل حل نشد
نویسنده این مطلب
نمیدونم دیگه – اگه آدرس i2c هم درست باشه – اون نکته رو هم رعایت کردی – دیگه نمیدونم – باید بشینی خودت بررسی کین قشنگ تا مشکل رو پیدا کنی.
مهمان
—
اینم عکس پشت lcd
نویسنده این مطلب
خب درست حدس زدم
خب چرا تو این مطلب مطرح کردی – همینو آموزشش رو تو سایت گزاشتم – راه حل مشکلی هم که گفتی یا تو مطلب مربوطه گفتم یا یکی از کاربرا تو نظرات گفته.
مهمان
Lcd 2*16

ماژول با ۰x3f راه میفته .از ایناس که اخر شمارش ۴ داره
ال سی دیم ۱۶ پایه است .و ماژولم ۴ پایه
منظورتون از ۳…۵ سیمه چی بود؟؟ من متوجه نشدم ..
نویسنده این مطلب
عکسی از پشت نمایشگرت بده
مهمان
سلام خسه نباشید واقعا عالی بود سوال اولم اینه که منبع تغذیه ۱۲ ولت میشه استفده کرد دوم این که به جای ال ای دی میشه رله استفاده کرد
مهمان
با سلام و تشکر.
من وثتی میخوام یه متن مثل hello رو تو ال سی دی بیارم فقط و فقط حرف اول تایپ میشه و باقی حرف ها نمیاد یعنی فقط h میاد و ۴ حرف باقیمانده تایپ نمیشه.. برنامه های دیگه رو هم امتحان کردم و همین مشکل رو دارند مثلا همین برنامه شما هم که (dmf 313) هم همین مشکل رو داره فقط حرف d میاد
نیاز به کمک … با تشکر :ِ
نویسنده این مطلب
سلام – نمایشگرت ۳-۵ سیمه هستش یا ۱۶ سیمه؟
مهمان
با تشکر از آموزش های خیلی خوبتون
من می خوام سنسور DHT11 رو با آردوینو راه اندازی کنم توی برنامم ارور نمیده ولی خروجی رو درست نشون نمیده
نویسنده این مطلب
این سنسور رو فک نکنم داشته باشم و کار کرده باشم.
مهمان
خیلی خوب بود
مهمان
سلام
عالی بود.ممنون
مهمان
معرکه ای
مهمان
سلام
ببخشید این دوتا تابع جابجا توضیح ندادین؟
lcd.display و lcd.noDisplay ؟
نویسنده این مطلب
سلام
مهمان
سلام
یه قسمت از کد یه برنامه رو متوجه نمیشم. این برنامه قراره از طریق pwm دیتا بفرسته
داده ها باید به صورت ۴ بیتی باشند
OCR1A = 50 * ((c >> 4) + 1);
delay_ms(1);
TCCR1B=0x0B;
delay_ms(20);
این بخش از کده
نویسنده این مطلب
سلام
به مطالب مربوطه از آمزوش aVR مراجعه کنید – حوصله خوندن رجیستر ها رو ندارم الان
مهمان
سه دلیل مربع نشان دادن خانه های lcd
۳) استفاده از PORTC و غیر فعال نکردن ریجستر JTAG
میشه مشکل بالایی را توضیح بدهید؟(با توجه به اینکه در جلسه ی سوم از Ao استفاده کردید)
نویسنده این مطلب
جیتگ میتگ تو آردوینو خبری نیست
مهمان
بنده هرکاری کردم ال سی دی نشون نمیده اتصالاتش هم درسته چن تا پروژه هم امتحان کردم برنامه حتی کامپایل میشه ولی روی ال سی دی نشون نمیده لطفا کمک کنید
نویسنده این مطلب
سیم ها رو با بیزر مولتیمتر بررسی کنید که قطع نباشن – نمایشگر دیگه استفاده کنید- اون مقاومت متغییر متصل به نمایشگر رو مقدارش رو تغییر بدید تا نور زمینه نمایشگر تغییر کنه اطلاعات نمایش داده بشن – کد پروژه حواست باشه اشتباه نباشه – اگه از جای مطمئن برداشتی که کد تست شده پس هیچی – اتصالاتت رو بررسی کن – نمایشگرت رو عوض کن – مشکلات همینا میتونه باشه – چیز زیاد خاصی نیست
مهمان
سلام.
پایه ۵رو هتما وصل کن!
مهمان
خواستم بیام باز بگم دمت گرم برادر خیلی بامرامی .ای کاش روزی بتونم مث شما بشم . همه عاشقتن . سوالم جز یکی از کامنتا بود .نوشتین باید یه کتابخونه دیگه واسه ال سی دی تعریف کرد . اگر راهنمایی درین مورد هست ممنون میشیم بگین.یا سایتی ک کمک کنه .سپاااااااااااااس صد در دنیا و میلیون در اخرت اجر ببرید ب حق صاحب الزمان.
نویسنده این مطلب
سوالتون رو لطفا کامل بگید – کتابخونه چی؟ تو این مطلب هم گشتم نظری با نام الی غیر از این ۲ تایی که الان گزاشتی ندیدم
مهمان