نمایش/عدم نمایش سایدبار
رفتن به بالای صفحه
أَللّهُمَّ ارْزُقْنی شَفاعَةَ الْحُسَیْنِ یَومَ الْوُرُودِ

آموزش جامع کار با lcd کاراکتری در ARDUINO

به نام خدا : آموزش جامع کار با lcd کاراکتری در ARDUINO : سلام خدمت شما دوستان گل ، تو این مطلب از آموزش آردوینو  میخوام نحوه راه اندازی lcd کاراکتری با آردوینو(آردینو) یه سری توضیحات بدم ، که من از سایت ARDUINO یادش گرفتم و دارم اینجا براتون آموزش میدم و چند تا پروژه آردوینو براتون میزارم(پروژه که نمیشه اسمش رو گزاشت ولی…بگذریم)
آموزش جامع کار با lcd کاراکتری در ARDUINO

کتابخانه lcd کاراکتری برای ARDUINO

این کتاب خونه ۲۰ تا تابع داره که در زیر میبینید ، و در زیر اینا توضیحشون میدم laugh

lcd.LiquidCrystal
lcd.begin
lcd.clear
lcd.home
lcd.setCursor
lcd.write
lcd.print
lcd.cursor
lcd.noCursor
lcd.blink
lcd.noBlink
lcd.display
lcd.noDisplay
lcd.scrollDisplayLeft
lcd.scrollDisplayRight
lcd.autoscroll
lcd.noAutoscroll
lcd.leftToRight
lcd.rightToLeft
lcd.createChar

LiquidCrystal Library

در اینجا میخوام تک تک توابع رو براتون بگم…

lcd.LiquidCrystal
lcd.LiquidCrystal : این تابع کارش تعیین اتصالات هستش ، یعنی این که هر کدوم از پایه های lcd کاراکتری ما به کدوم یک از پایه های برد آردوینو مون وصل هستش.
همچنین میتونیم توسط این تابع میتونیم تعیین کنیم که lcd رو تو مد ۴ بیتی راه اندازی کنیم یا ۸ بیتی.

سوال : داستان ۴ و ۸ بیتی چیه؟
جواب :  lcd کاراکتری رو اگه دیده باشین حدود ۱۶ تا پایه داره که از این ۱۶ تا ۸ تاشون پایه دیتا هستن ، به نام D0 تا D7 که اگه از D4 تا D7 (که میشه ۴ تا پایه) استفاده کنی میگن LCD رو تو مد ۴ بیتی راه اندازی کردی و اگه از هر ۸ تا پایه (D0 تا D7) استفاده کنیم میگن که LCD رو تو مد ۸ بیتی راه اندازی کردی
و با توجه به این که تو مد ۸ بیتی نسبت به مد ۴ بیتی به ۴ تا پایه بیشتر نیاز دارم تا به LCD اطلاعات رو بدیم لذا تو تمون پروژه ها LCD رو تو مد ۴ بیتی راه اندازی میکنن تا پایه کمتری از برد آردوینو مون مصرف بشه.

lcd کاراکتری با ARDUINO

میگفتم ، این تابع lcd.LiquidCrystal رو میشه به ۴ حالت نوشت ، که در زیر میبینید۲ تای اول برا مد ۴ بیتی و ۲ تای آخر برا مد ۸ بیتی هستش.

به جای d0 , d1 , d2 , d3 , d4 , d5 , d6 ,d7 , enable , rw , rs باید عدد پایه مورد نظر از برد آردوینو رو قرار بدید ، مثلا به جای rs بنویسید ۵ که یعنی پایه شماره ۵ برد آردوینو باید به پایه rs نمایشگر مون (همون lcd منظورمه blum ) وصل بشه.... ok???

سوال : مثلا تو مد ۴ بیتی فرق مورد اول با دومی چیه؟؟؟
جواب : اگه توجه کنید مورد اول گزینه rw رو نداره ، یعنی ما باید پایه rw نمایشگر مون رو مستقیما به gnd وصل کنیم و دیگه نیازی نیست به یکی از پایه های برد آردوینو مون وصل کنیم و یه پایه رو اشتغال کنیم الکی (البته تو اکثر پروژه ها باس به زمین وصل بشه چون این پایه برا تعیین مد خوندن اطلاعات از نمایشگر یا نوشتن اطلاعات هستش که اگه به gnd وصل بشه یعنی lcd تو مد نوشتن هستش و ما میتونیم توش اطلاعاتمون رو بنویسیم و نمایش بدیم ، زیاد با مد خوندن اطلاعات کاری نداریم ما ، به همین خاطره که اگه مستقیم این پایه رو به gnd وصل کنیم بهتره و دیگه ۱ پایه از بردمون الکی اشغال نمیشه)
ولی اگه از حالت دومی(کد های بالا رو میگم) بخوایم استفاده کنیم باید پایه rw رو هم به آردوینو وصل کنیم و نمیتونیم دیگه به gnd وصلش کنیم.
که این داستان برا مد ۸ بیتی هم به همین منوال هستش.
نتیجه : بهتره که همیشه از راه اندازی lcd به صورت ۴ بیتی استفاده کنیم و از اون تابعی استفاده کنیم که گزینه rw رو نداره ، یعنی همیشه از کد زیر استفاده کنیم.
lcd.begin
lcd.begin : این تابع برا راه اندازی lcd مون هستش ، به وسیله این تابع اندازه lcd مون رو به آردوینو میگیم ، اینم بگم که این کتاب خونه میشه تمام lcd هایی که درایورشون(اون هسته مرکزی crazy رو میگم) hitachi HD44780 هستش رو راه اندازی کرد. و lcd هایی که درایورشون hitachi HD44780 هستش ماشاالله یکی دو تا نیستن که ، اندازه این lcd ها با هم فرق داره ، حالا ما هر کدوم رو که بخوایم راه اندازی کنیم اندازش رو مثل تابع زیر مینویسیم و تعیین میکنیم.
۱۶ یعنی تعداد ستون نمایشگر و ۲ یعنی تعداد سطر های نمایشگرمون.
اینم از این ، بریم سراغ تابع بعدی ، خدا رحم کنه ، هنوز ۱۸ تای دیگه مونده... bomb
lcd.clear
lcd.clear : این تابع برا پاک کردن نمایش گر هستش ، هر چی توی نمایشگر باشه پاک میشه و مکان نما به ۰،۰ میره(سطر ۰ و ستون ۰)
و به صورت زیر استفاده میشه(به صورت زیر باس بنویسیش rtfm )
lcd.home
lcd.home : بردن مکان نما به خانه crazy  >>> منظور از خانه همون سطر ۰ و ستون ۰ هستش ، وقتی lcd رو هم ریست میکنی مکان نما میرو خونه و هم وقتی که lcd رو به مبنع تغزیه وصل میکنی.
توجه : میشه گفت این تابع همون کار تابع زیر رو انجام میده(این تابع رو در زیر توضیح دادم که چیهblum)
lcd.setCursor
lcd.setCursor : این تابع کارش تعیین موقعیت نمایش گر برا نمایش اطلاعات هستش که به صورت زیر هستش ؛ که X ستون مورد نظر و Y هم سطر مورد نظر ما هستش ، وقتی بخوایم متنمون رو در یه جای خاص از LCD نشون بدیم از این تابع استفاد میکنیم.
مثلا وقتی یه متنی بخوایم به وسیله تابع lcd.print (در ادامه توضیحش میدم) تو LCD نمایش بدیم اگه قبلش از lcd.setCursor استفاده کرده باشیم و مثلا مختصات ۷,۰ (ستون ۷ و سطر ۰ ) رو داده باشیم ، متنمون از این مختصات شروع میکنه به نمایش داده شدن.
lcd.write
lcd.write : این تابع برا نمایش یه تک کاراکتر به کار میره (تک کاراکتر یعنی ۱ حرف ، مثلا  A یا c یا $ یا !   که هر کدوم از اینا یه دونه کاراکتر هستن)
مثلا برا نمایش کاراکتر A تابع رو به صورت زیر مینویسیم :
lcd.print
lcd.print : نمایش یه رشته ، مثلا برا نمایش DMF313.IR تو LCD از این تابع به صورت زیر استفاده میکنیم
lcd.cursor و lcd.noCursor
lcd.cursor  و  lcd.noCursor : تابع lcd.cursor برا فعال کردن مکان نما هستش(وقتی از این تابع استفاده کنید مکانی که منتظر دریافت اطلاعات هستش و اگه اطلاعاتی به LCD داده بشه در اون مکان نمایش داده میشه توسط یه خط تیره تو LCD مشخص میشه برامون) و lcd.noCursor هم برا غیر فعال کردن این ویژگی(نماش مکان نما) هستش.
مثال برای این دو تابع
lcd.blink و lcd.noBlink
lcd.blink  و  lcd.noBlink : این دو تا تابع هم مثل دو تا تابع بالایی هستن با این تفاوت که تابع بالایی مکان نما رو با یه خط تیره نشون میداد و این توابع با یه مستطل که هی چشمک میزنده نمایش میده.
مثال برای این دو تابع
lcd.display و lcd.noDisplay
lcd.display  و  lcd.noDisplay : این دو تا تابع هم برا روشن و خاموش شدن نمایش اطلاعات روی LCD به کار میره.
مثلا در صورت استفاده از تابع lcd.nodisplay اطلاعات روی نمایشگر پنهان میشوند(پاک نمیشوند و از بین نمیروند.) برخلاف تابع lcd.clear که میزد هر چی تو LCD بود رو پاک میکرد، تابع lcd.display هم، اطلاعات غیب شده رو نمایش میده دوباره ، فقط همین و توسط تابع lcd.noDisplay دوباره میتونیم اطلاعات رو غیب کنیم.
مثال برای این دو تابع
lcd.scrollDisplayLeft و lcd.scrollDisplayRight
lcd.scrollDisplayRight : هر بار که این تابع اجرا بشه کل اطلاعات روی نمایشگر یه واحد به سمت راست شیفت داده میشن(یعنی ۱ واحد میرن سمت راست crazy ).
lcd.scrollDisplayLeft : هر بار که این تابع اجرا بشه کل اطلاعات روی نمایشگر یه واحد به سمت چپ شیفت داده میشن.
مثال برای این دو تابع
lcd.leftToRight و lcd.rightToLeft
lcd.leftToRight : چپ به راست کردن نوشتن متن ها
lcd.rightToLeft : راست به چپ کردن نوشتن متن ها
توجه : تو حالت عادی متن ها توی lcd به همین طریق نوشته میشوند یعتی عنگام نمایش متن روی نمایشگر از سمت چپ به سمت راست حرکت میکنیم یعنی از ستون ۰ میریم به سمت ستون آخر یعنی ستون ۱۵ ولی تو تابع lcd.rightToLeft از سمت راست میریم به سمت چپ یعنی از آخرین خونه به سمت خونه ۰ حرکت مینیم و اگه مثلا متنی بخوایم بنویسیم از ستون ۱۵ شروع به نمایش دادن میشه به سمت ستون ۰ نمایشگرمون
lcd.autoscroll و lcd.noAutoscroll
lcd.autoscroll و lcd.noAutoscroll : این دو تابع هم برا حرکت(و عدم حرکت) خود کار متن هستش که تقریبا مثل ۲ تابع lcd.scrollDisplayLeft
lcd.scrollDisplayRight هستش.
وقتی از تابع lcd.autoscroll استفاده کنیم (و بازم وقتی تابع lcd.leftToRight فعال باشه که تو حالت عادی فعال هستش مگه این که تغیرش بدین) تو این حالت اگه بخواین یه متنی نشون بدیدن در یه مکان خاص...از اون مکان خاص شروع به حرکت میکنه و به سمت چپ میره( و وقتی تابع lcd.rightToLeft فعال باشه متن به سمت راست میره) >>> برا این گزینه به پروژه ای که در ته مطلب گزاشتم حتما توجه کنید....اون قسمت از پروژه که از این ۲ تا تابع استفاده کردم رو منظورمه smile

lcd.createChar
تو lcd های کاراکتری میشه ۸ تا کاراکتری جدید تعریف کرد ، که روال کار این طوریه که یه آرایه تعریف میکنیم که شامل اطلاعات کاراکترمون هستش(کاراکترمون رو یه ماتریس ۵*۸ در نظر بگیرید که ۵ تا ستون و ۸ تا سطر داره حالا باید تو این آرایه مون ۸ تا مقدار بهش بدیم.....اون خونه هایی از این ماتریس که قراره روشن بشه رو ۱ فرض میکنیم و بقیه رو صفر اون وقت میایم و آرایمون رو ایجاد میکنیم)
سوال : آرایه رو چطور مقدار دهی کردی؟؟؟
جواب : ابتدا نرم افزار زیر رو دانلود کنید و سپس کاراکترتون رو طراحی کنید (در قسمت آبی رنگ) سپس روی دکمه ی "دریافت کد" کلیک کنید و کد هایی رو که بهتون میده رو تو پروژه استفاده کنید(فقط اون عدد های داخل پرانتز رو کپی کنید.)
ساخت کاراکتر در lcd

دانلود نرم افزار تولید کد برای ایجاد کاراکتر جدید در lcd

حالا بعد تعریف آرایه کاراکتر جدیدمون باید کد زیر رو به پروژه اضافه کنیم که در اون تعیین میکنیم که آرایه فوق یه کاراکتر جدید هستش و بهش یه مقدار میدیم و هر موقع این مقدار رو توسط تابع نمایش کاراکتر نشون بدیم ، کاراکتر جدید نمایش داده میشه.

مثلا اگه در جایی از پروژه از کد زیر استفاده کنیم کاراکتر تعریف شده توسط ما در نمایشگر به نمایش در میاد.

که اون عدد صفر شماره کاراکتر تعریف شده توسط ما هستش.(۸ تا کاراکتر میتونیم تعریف کنیم که مقادیر ۰ تا ۷ رو بهشون باید اختصاص بدیم)

توجه : تو پروتئوس مثل این که خونه های lcd اندازشون ۵*۷ هستش ولی تو عمل که من تست کردم نمایشگرم اندازش ۵*۸ بود.(عگس زیر رو ببینید)
LiquidCrystal Library
مثال برای این تابع

پروژه آردوینو

پروژه های سایت Arduino.cc

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.
یه پروژه که توش از تمام توابع LCD استفاده کردم
به نظرم بهتره حداقل یه بار کد های پروژه رو در عمل یا در پروتئوس عملکردشون رو بیبنید تا با توابع بهتر آشنا بشید....پروژه رو از ته همین قسمت میتونید دانلود کنید.
شماتیک پروژه
پروژه lcd با Arduino

کد های پروژه

 

دانلود پروژه این قسمت

اینم یه عکس از مدار که در عمل بستم
پروژه آردوینو

فیلم پروژه
فیلمش چیز خاصی نداره ، اگه پروژه رو تو پروتئوس اجرا کنید همون چیزی رو میبینید که تو فیلم هست....گزاشتم که گزاشته باشم rofl

3.8MB آموزش جامع کار با lcd کاراکتری در ARDUINO
0%
00:00  /  00:56

فعلا یا علی

تعداد مطالب : 358 تا
جنگ ما فتح قدس را به همراه خواهد داشت. [ امام خمینی (ره) ]
بقیه جلسات : ???
این مطلب هیچ طبقه بندی یی ندارد!
ارسال دیدگاه

1) نظرات غیر فارسی به صورت خودکار حذف میشوند ( حداقل 5 حرف فارسی وارد کنید ).

2) پسورد فایل های سایت : www.dmf313.ir

3) نظرات حاوی کد برنامه نویسی تایید نمیشوند ( قالب سایت بهم میریزه )

  1. مهمان

    yasin

    با سلام و خسته نباشید
    میخواستم ببینم میشه کرسر رو توی یه خونه مشخص چشمک زن کرد؟؟؟؟ unknw
    ینی مثلا 9/6/2020 رو داریم و میخوایم کرسر روی عدد 9 باشه و همزمان چشمک هم بزنه

    • نویسنده این مطلب

      مهدی دمیرچیلو

      سلام
      توابع زیر رو بررسی کیند :
      1) setCursor
      2) cursor و noCursor
      3) blink و noBlink

      • مهمان

        yasin

        ممنون

  2. مهمان

    عباس

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

  3. مهمان

    مهدی

    اقا من lcd ام از ایناییه که پورتاش سوراخ سوراخه.بیچاره شدم ک بتونم اینا رو با سیما برد بوردی رو برد پین کنم.اینقدرم توهم توهم شد.شما چطور سیمات اینقدر فاصله داره و تمیز وصل کردی؟ چیکار کنم من؟

    • مهمان

      امیر

      چسب بزن حاجی :))

  4. مهمان

    A.M_BJ

    دمت گرم کارت درسته heart
    bye

  5. مهمان

    A.M_BJ

    ایا این 3-2در WG12864A2-3چیزه خاصی نیست توی لیست WG12864Aبود ولی اون ۳-۲نبود

    • نویسنده این مطلب

      مهدی دمیرچیلو

      دیتاشیت همینی که گفتی رو بررسی کن – قرار نی که برا هر زیر-نسخه یه دیتاشیت جدا منتشر بشه که!

  6. مهمان

    A.M_BJ

    شکلش انگار فرق می کنه

  7. مهمان

    A.M_BJ

    مدلش WG12864A2-3زدم توی اینترنت حتی یک دیتا شیت از در نیومد اما عکسی که نمایش میده دقیقا همون شکل
    http://uupload.ir/files/pta7_img_20190801_155814_889.jpg
    ببینید شما می دونید چه جوری کار می کنه

    • نویسنده این مطلب

      مهدی دمیرچیلو

      این که ks0108 معروفه laugh

  8. مهمان

    A.M_BJ

    سلام اقا مهدی می گم ای دی تلگرامت بده من از یکی از دوستان یه LCDگرفتم 20پایه داره انگار64×128اما نمی دونم کاراکتریه یا گرافیکی نتونستم را بندازم
    فقط تونستم LEDپس زمینشاروشن کنم laugh

    • نویسنده این مطلب

      مهدی دمیرچیلو

      سلام-خب اسمشو سرچ کن – یا اگه اسمشو نداری – اسم آیسی های پشت نمایشگر رو سرچ کن.

  9. مهمان

    مزارعی فرد

    سلام وقت بخیر
    من خواستم با آردوینو و درایور L298 و موتور dc و باتری و آداپتور 9 ولت یه مدار ببندم که وقتی سرعت موتور تغییر میکنه Lcd برام نمایشش بده
    ولی Lcd هیچی نشون نمیده.لطف میکنید راهنمایی کنید که باید چیکار کنم؟

  10. مهمان

    فضلی منش

    باسلام :با تشکر از زحمات زیادی که بدون هیچ چشم داشتی در کمک به جوانان متحمل می شوید.خداوند به شما توفیق دهد
    سوال من اینکه می خواهم اطلاعات روی lcdرا بخوانم ودر متغیری ذخیره کنم اگر ممکن است راهنمایی فرمایید

    • نویسنده این مطلب

      مهدی دمیرچیلو

      سلام.نمایشگر کاراکتری امکان خون اطلاعاتش رو داره تا جایی که خاطرمه.شما باید برید به کتابخونه ای که استفاده میکنید ببینید که توابع خوندن رو داره یا نه.اگه نداشت باید برید سراغ دیتاشیت نمایشگر و توابعش رو بنویسید

  11. مهمان

    حمید

    سلام ، ممنون از زحمات تون
    خیلی ممنون heart
    فقط میخواستم یک مشکل رو بگو : لینک دانلود نرم افزار تبدیل تولید کد برای ایجاد کارکتر جدید خرابه secret

    • نویسنده این مطلب

      مهدی دمیرچیلو

      سلام-اصلاح شد.

  12. مهمان

    محمد پوریان

    در حقیقت من هنوز با آرایه ها و …. مثل کاراکتر کار نکردم تو سایتتون توضیحاتش هست؟؟؟؟

  13. مهمان

    محمد پوریان

    ممنون از راهنمایی ولی یه سوال این درسته:lcd.createChar(۶, smiley);
    باید بعد اون اعدادی که تو برنامه میزنیم بهمون میده بیاد دیگه ؟ و این که گفتید فقط ۷ تا میشه تعریف کرد؟ و این که smiley چی هست ( تابعه) یعنی مثلا به جاش میشه نوشتa چون من این کد رو هی زدم ولی فقط عدد رو عوض کردم

    • نویسنده این مطلب

      مهدی دمیرچیلو

      مطلب رو مگه ندیدی؟ توضیحات قسمت createChar
      شما اول پروژه هر چند تا کاراکتر نیاز داشته باشی تعریف میکنی – بعد در پروژه ازشون استفاده میکنی. ( که خب تو تعریف تعداد کاراکتر هم یه محدودیتی هستش 7-8 تایی باید باشه – دقیقا یادم نی )
      smiley چی هستش؟ shock dash یا مطلب رو نخوندی با دقت یا کدنویسی بلد نیستی – در هر دو حالت امکان پاسخ گویی ندارم – موفق باشید.

      • مهمان

        محمد پوریان

        ببخشید از شما من تازه دارم شروع میکنم بعد شاید از بی دقتی من هست در کل ببخشید

        • نویسنده این مطلب

          مهدی دمیرچیلو

          خواهش میکنم این چه حرفیه.
          شما مقدمه رو نخونده رفتید …
          شما باید C++ رو یاد بگیرید اول – بعد برید سراغ میکرو.
          تو نت بزنی همه مدل آموزشی برا C++ هستش.

  14. مهمان

    محمد پوریان

    سلام میخواستم کاری کنم که میزان حرکت جیستیک رو ال سی دی نمایش بدم (مثل ال سی دی گرافیکی ولی با کاراکتر که یه چیزی تو این زمینه ها هست==>……)
    مثل نمودار و ستون و….
    میخواهم مثلا وقتی مقدار 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]’

  15. مهمان

    shahin

    سلام. خسته نباشین heart
    میشه این ال سی دی رو با اتصالات کمتر از 7 پایه به آردوینو وصل کرد؟
    یعنی مثلا میشه پایه ریست یا اینیبل رو با یه مقاومت 10 کیلو به vcc وصل کرد؟

    • نویسنده این مطلب

      مهدی دمیرچیلو

      سلام
      از lcd i2c استفاده کن با دو پایه دیتا و 2 تا تغذیه

  16. مهمان

    رضا

    سلام مهندس جان
    اینم از این

    • نویسنده این مطلب

      مهدی دمیرچیلو

      سلام-چه حوصله ای دارییییییییییییییییی

      • مهمان

        رضا

        به گرد شمام نمیرسیم

        • نویسنده این مطلب

          مهدی دمیرچیلو

          نه باو – یه بارم چیز این مدلی من درست نکردم – حوصلم نمیشه متاسفانه

      • مهمان

        رضا

        کاربردی کردن آموزه های شما خیلی حال میده

  17. مهمان

    محمد

    سلام مهندس خستا نباشی
    میخواستم تو lcd تو ردیف اولش یه کلمه ثابت باشه و
    تو ردیف دوم یه کلمه را به صورت چرخشی با دستور scrolldisplayright بنویسم چیکار باید بکنم؟
    ممنون

  18. مهمان

    علی

    سلام جناب مهندس
    میشه خواهش کنم در مورد کتابخونه مربوط به ال سی دی کارکتری ۴ در ۲۰ به همراه پایه های اتصال به آردوینو رو‌هم راهنمایی کنین؟
    خیلی خیلی ممنونم

    • نویسنده این مطلب

      مهدی دمیرچیلو

      سلام –
      تو پروژه ته مطلب – خط 5-6 هم پایه هایی که در پروژه تعریف شدن رو مشاهده میکنی – برا بقیه پایه ها :
      اینو سرچ کن : connect lcd to arduino

  19. مهمان

    سعید

    سلام خوبی
    میتونید یه توضیح خلاصه در مورد مدار بندی ال سی دی بدید؟

    • نویسنده این مطلب

      مهدی دمیرچیلو

      سلام
      پروژه ته مطلب خط 5و6 پایه ها و این که به کدوم پایه میکرو باید وصل بشن رو تعیین کردم :
      LiquidCrystal(rs, rw, enable, d4, d5, d6, d7)
      نمایشگر 16 تا پایه داره – 4 تاش که vcc و gnd وصل میشن بهشون – 8 تا دیتا که 4 تای اولی استفاده نمیشه – بقیه هم که در بالا مشخص کردم به کجا وصل بشن – یه مقاومت متغییر هم بازید استفاده کنی که یه سرچ کنی تو نت متوجه میشی باید به کدوم پایه نمایشگر وصلش کنی – الان دقیقه خاطرم نی

  20. مهمان

    mohammad.p

    سلام یه سوال وقتی ال سی دی من روشن میشه تو صفحه یه چیز خونه خونه هست که کاراکتر رو روی اون مینویسه چیکار کنم بره و مثل شما صفحه فقط آبی باشه

  21. مهمان

    حمید

    داداش خیلی ممنون از نوع مطالب و نگارش مطالب خیلی حال کردم مخصوصاً قسمت اخرش که گفتی پیام بزارید
    داداش فوق العاده بود good laugh

  22. مهمان

    علیرضا

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

    • نویسنده این مطلب

      مهدی دمیرچیلو

      سلام
      خب این LCD I2C هستش – مطلبش تو سایت هستش با آردوینو فک کنم – بگرد نبود – تو نت هستش حتما

    • مهمان

      سعید

      ببین اون چیزی که به ال سی دیت وصله یجور درایوره که برای جلوگیری از سیم بندی زیاد گذاشته میشه اون چهارتا سیم هم دوتاش برای منبع دوتاش هم برای داده ست smile

  23. مهمان

    محمد

    سلام بر استاد عزیز
    اگه بخوام اسکرول از بالا به پایین یا برعکس بشه چه تابعی هست یا چطور میشه؟
    hi

    • نویسنده این مطلب

      مهدی دمیرچیلو

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

  24. مهمان

    علی

    با سلام و تشکر فراوان
    واسه Lcd 20*4 هم اینارو میشه استفاده کرد؟
    من توی شبیه ساز پریوس انجام دادم راحت هم 16*2 و هم 20*4 رو کار کرد.
    ولی یه Lcd 20*4 خریدم ولی نشون نمیده
    نمیدونم مشکل از کجاست

    • نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      آره میشه-باید ببینی کجا سوتی دادی.

  25. مهمان

    parsa

    اقا دمت گرم کارت حرف نداره ممنون
    heart

  26. مهمان

    عرفان

    دمتون گرم

  27. مهمان

    جواد

    سلام خسته نباشین
    من تو اردوینو کد
    lcd.begin(16, 2);
    میزنم lcd ازکار میفته و چیزی نمایش نمیده

  28. مهمان

    محمد

    سلام
    خسته نباشد
    من یک صفحه نمایش با ظرفیت نشان دادن 15 حرف فارسی میخوام که به این صفحه نمایش یک رم میکرو وصل بشه و محتوای متنیش رو نشون بده.
    ایا این امکان هست
    اگر هست به چه صورت هست
    خیلی ممنون میشم اگه پاسخ سوال من رو بدین

    • نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      غیر از نمایشگر کاراکتری از هر نمایشگر دیگه ای میتونید استفاده کنید.

  29. مهمان

    Mr.black

    سلام.
    ممنون از سایت خوبتون.
    من به الکترونیک خیلی علاقه دارم داخل پروتئوس یک دزدگیر ساده دو زون ساختم . میخواهم وقتی اژیر زد رو ال سی دی بنویسه الارم ولی وقتی اژیر میزنه نوشته ها سریع شروع میکنن به حرکت سریع پشت سر هم. چی کار کنم؟؟؟؟؟؟؟؟؟ help cry

    • نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      با پروتئوس کار نکنید!

      • مهمان

        Mr.black

        سلام ممنون ولی داخل واقعیت هم همینجوریه

  30. مهمان

    محمد امین

    سلام من بخوام تا 5 رقم اعشار رو lcd بندازم باید چیکار کنم ؟

    • نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      به این صورت استفاده کن – جواب نداد، خودت متغییرتو به رشته تبدیل میکینی و به صورت نمایش میدی تو lcd
      lcd.print(x,5);

  31. مهمان

    دانیال

    سلام
    یه تشکر بابت مطالب خوبتون
    اگه بخوایم مقدار یک یا چند متغیر رو نمایش بدیم باید چیکار کنیم؟؟؟

    • نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      lcd.print

  32. مهمان

    رضا

    سلام مهندس عزیز.قهری باهام؟

    • نویسنده این مطلب

      مهدی دمرچیلو

      سلام-چی شد؟

      • مهمان

        رضا

        واسه تعریف کاراکتر جدید تو lcd i2c چیکار باید کرد?

        • نویسنده این مطلب

          مهدی دمرچیلو

          پروژه این مطلب – خط ۱۳ و ۱۵ رو ببین

      • مهمان

        رضا

        اینو انجام دادم تو این پروژه مشکلی نداشتم.ولی وقتی lcd رو با lcd i2c عوض کردم دیگه کاراکنرهایی که تعریف کرده بودم اجرا نمیشد.

      • مهمان

        رضا

        اگه امکان داره تو پروژه بالا از پروتوکل i2c استفاده کنید و کاراکتر های جدیدی که تعریف کردید رو مشاهده کنید.یه سری اشکال بیربط نشون داده میشه?

  33. مهمان

    رضا

    حرف ندارب به مولا wink

  34. مهمان

    رضا

    سلام مهندس جونم.علاوه بر سوالم در مورد دلیل اجرا نشدن دستور tone() تو تابع وقفه، الان مشکلم اجرا نشدن کاراکتر جدید هست (طبق دستور العمل گفته شده توسط شما داداش گلم) تو پروتکل i2c .چه کنیم؟
    البته تو حالت اتصال معمولی هف هش سیمه کاملا بدون مشکل هستم wink

  35. مهمان

    Mr.black

    سلام دوباره من laugh میشه برای راه اندازی ال سی دی از پتانسومتر استفاده نکنم
    wink help help

    • نویسنده این مطلب

      مهدی دمرچیلو

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

      • مهمان

        Mr.black

        سلام و خیلی ممنون هم از خودتون و هم از سایت خوبتون مشکلمو با مقاومت حل کردم

  36. مهمان

    Mr.black

    help help ببخشید من میخواهم با حداکثر دو سه تا پین ال سی دی رو راه بندازم ایا ماژولی چیزی هست.
    با تشکر از سایت خوبتون. yes bye

    • نویسنده این مطلب

      مهدی دمرچیلو

      مطلبش تو سایت هستش / کلمه i2c رو سرچ کن یا تو پروژه های آردوینو دنبالش بگرد.

  37. مهمان

    بابک

    آقا بخدا خیلی گلی.کلا از اخلاق و منشت خوشم میاد. میدونم تو این دور زمونه که کسی برای کسی وقت نمیذاره تو داری اینقدر وقت میذاری حتما و حتما اهدافت بالاتر از پول و این حرفاست. میخوای هم ثواب کرده باشی و هم به بچه های مملکتت در این زمینه ها کمک کرده باشی.مطمئن باش ما هم جبران زحمت خواهیم کرد.خدا قوت. یا علی

  38. مهمان

    علیرضا

    سلام مثل همیشه فوق العاده smile

  39. مهمان

    جواد

    اقا واقعا خدا خیرت بده
    خیلی کارٍت درسته good

  40. مهمان

    حامد مجتهد

    سلام خسته نباشید.ممنون بابت سایت خوبتون.و اینکه من به یه مشکلی برخوردم:من یه برنامه برای lcd نوشتم درست کار داد.اما الان که میخوام یه button بزارم که هر وقت فشارش دادم lcd شروع به کار کنه اصلا کار نمیکنه خیلی هم بهش ور رفتم اما… اگه میشه کمکم کنید wink sad help در ظمن اگه میشه پروژه هایی با کی پد هم بگذارید یا نوشتن منو با lcd_من ۱۳ سالمه خیلی به برنامه نویسی علاقه دارم اگه میشه کمکم کنید

    • نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      کد پروژتو زیپ کن و بفرست ببینم مشکلش چیه – از مدارت هم عکس بگیر همراه کد بفرست

  41. مهمان

    امین

    سلام استاد
    من میخوام آردوینو هر وقت فلش متصل شد(به ماژول USB HOST)، بصورت خودکار اطلاعات داخل فلش رو خط به خط از یک فایل txt که روی فلش ذخیره شده بخونه و روی ال سی دی نمایش بده
    میشه همچین برنامه ای رو آموزش بدید؟
    ممنون از شما heart

  42. مهمان

    امیرشفیعی

    ممنونم از توضیحات خوبتون

  43. مهمان

    وحید

    سلام من با راه اندلزی این lcd یه مشکلی دارم اونم اینه که وقتی اتصالات رو برقرار میکنم lcd روشن میشه و سطر دوم فقط پر رنگ میشه و اون عبارت رو نشون نمیده من این lcd رو با برد مگا۲۵۶۰ راه اندازی کردم(پتانسیومتر هم گذاشتم نشد)لطفا راهنمایی کنید…
    ممنون

  44. مهمان

    محمدامین آریان

    وای سایتتون عالیه عالی. ممنون smile

  45. مهمان

    امین

    جز تشکر فراوان چه نظری میشه داد. کارشما معرکه است

  46. مهمان

    ياسر

    خیلی عالی توضیح دادی . دمت گرم

  47. مهمان

    سهراب

    سلام،ممنون از مطالب کاملتون،یه سوال داشتم،تو آردوینو میشه از sprintfبرای رشته و نمایش تو السیدی استفاده کرد؟

    • نویسنده این مطلب

      مهدی دمرچیلو

      سلام – نمیدونم – تست کنیم – احتمالا باید بشه.

  48. مهمان

    مهدی حسن پور

    سلام مهندس . من از پورت سریال یک نمایشگر ۵ بیت خروجی میگیرم که میخوام توسط آردوینو بدم به ماژوا ال ای دی ۳۲×۱۶ . لطفا میشه کمکم کنید . با تشکر . ارادتمند شما

    • نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      الان کجاشو بگم؟ wacko

  49. مهمان

    علیرضا آهنی

    سلام.
    ممنون اقامهدی.
    ۱۶ روز لنگ این بودم که بااردینو تو ال سی دی کاراکتری فارسی بنویسم!

    • نویسنده این مطلب

      مهدی دمرچیلو

      سلام-الان بستی پروژه رو یا هنوز نبستی؟ مشکل کجاس؟

    • مهمان

      علیرضا آهنی

      سلام.
      منظورم راه هلش بود که خدارو شکر پیداکردم.
      تو ای وی ار بلد شدم.

  50. مهمان

    شهاب شکری

    داش ناموسن خیلی خوبی/ حال کردم با درس دادنت ایشالا عروسیت جبران کنم/ خیلی گلی متی جوووووون heart

  51. مهمان

    محمد

    عالی خدا قوت …. victory

  52. مهمان

    ناشناس

    سلام مهندس ببخشید بخوام فقط ی خونه ال سی دی بعد از مشخص کردن مکان طبق اموزشتون روشن بشه برنامه ش چیه؟

    • نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      یعنی چی روشن بشه – متوجه نشدم

  53. مهمان

    مهدی

    سلام
    از مطالب سایت بهره مند شدم
    ممنون از سایت خوبتون good

  54. مهمان

    زهرا

    با تشکر از آموزش های خوبتون
    من میخواهم یک منو طراحی کنم که رو lcd نشون بده و با توجه به انتخاب منو کار مربوط به اون منو انجام بشه.
    میشه راهنمایی کنید؟
    برد من arduino due هستش.

    • نویسنده این مطلب

      مهدی دمرچیلو

      این موردی که میفرمایین کد نویسی هستش – چیز قابل توضیح دادانی نیست که بخوام توضیح بدم –

  55. مهمان

    محمد

    عالی بود

  56. مهمان

    Farbod

    کارت عالیه heart

  57. مهمان

    محمد

    بله پیدا کردم.
    کتابخونه های مختلف رو امتحان کردم طبق گفته کاربر ولی مشکل حل نشد

    • نویسنده این مطلب

      مهدی دمرچیلو

      نمیدونم دیگه – اگه آدرس i2c هم درست باشه – اون نکته رو هم رعایت کردی – دیگه نمیدونم – باید بشینی خودت بررسی کین قشنگ تا مشکل رو پیدا کنی.

  58. مهمان

    محمد


    اینم عکس پشت lcd

    • نویسنده این مطلب

      مهدی دمرچیلو

      خب درست حدس زدم bomb خب چرا تو این مطلب مطرح کردی – همینو آموزشش رو تو سایت گزاشتم – راه حل مشکلی هم که گفتی یا تو مطلب مربوطه گفتم یا یکی از کاربرا تو نظرات گفته.

  59. مهمان

    محمد

    Lcd 2*16
    ماژول با ۰x3f راه میفته .از ایناس که اخر شمارش ۴ داره
    ال سی دیم ۱۶ پایه است .و ماژولم ۴ پایه
    منظورتون از ۳…۵ سیمه چی بود؟؟ من متوجه نشدم .. unknw help

    • نویسنده این مطلب

      مهدی دمرچیلو

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

    • مهمان

      حمید نصیری

      سلام خسه نباشید واقعا عالی بود سوال اولم اینه که منبع تغذیه ۱۲ ولت میشه استفده کرد دوم این که به جای ال ای دی میشه رله استفاده کرد

  60. مهمان

    محمد

    با سلام و تشکر.
    من وثتی میخوام یه متن مثل hello رو تو ال سی دی بیارم فقط و فقط حرف اول تایپ میشه و باقی حرف ها نمیاد یعنی فقط h میاد و ۴ حرف باقیمانده تایپ نمیشه.. برنامه های دیگه رو هم امتحان کردم و همین مشکل رو دارند مثلا همین برنامه شما هم که (dmf 313) هم همین مشکل رو داره فقط حرف d میاد
    نیاز به کمک … با تشکر :ِ unknw

    • نویسنده این مطلب

      مهدی دمرچیلو

      سلام – نمایشگرت ۳-۵ سیمه هستش یا ۱۶ سیمه؟

  61. مهمان

    ارسلان

    با تشکر از آموزش های خیلی خوبتون
    من می خوام سنسور DHT11 رو با آردوینو راه اندازی کنم توی برنامم ارور نمیده ولی خروجی رو درست نشون نمیده

    • نویسنده این مطلب

      مهدی دمرچیلو

      این سنسور رو فک نکنم داشته باشم و کار کرده باشم.

  62. مهمان

    رضا

    خیلی خوب بود

  63. مهمان

    alireza

    سلام
    عالی بود.ممنون

  64. مهمان

    علیرضا

    معرکه ای

  65. مهمان

    هستی

    سلام
    ببخشید این دوتا تابع جابجا توضیح ندادین؟
    lcd.display و lcd.noDisplay ؟

    • نویسنده این مطلب

      مهدی دمرچیلو

      سلام good

  66. مهمان

    nadiya

    سلام
    یه قسمت از کد یه برنامه رو متوجه نمیشم. این برنامه قراره از طریق pwm دیتا بفرسته
    داده ها باید به صورت ۴ بیتی باشند
    OCR1A = 50 * ((c >> 4) + 1);
    delay_ms(1);
    TCCR1B=0x0B;
    delay_ms(20);
    این بخش از کده

    • نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      به مطالب مربوطه از آمزوش aVR مراجعه کنید – حوصله خوندن رجیستر ها رو ندارم الان sorry

  67. مهمان

    Hadis

    سه دلیل مربع نشان دادن خانه های lcd
    ۳) استفاده از PORTC و غیر فعال نکردن ریجستر JTAG
    میشه مشکل بالایی را توضیح بدهید؟(با توجه به اینکه در جلسه ی سوم از Ao استفاده کردید)

    • نویسنده این مطلب

      مهدی دمرچیلو

      جیتگ میتگ تو آردوینو خبری نیست

      • مهمان

        Hadis

        بنده هرکاری کردم ال سی دی نشون نمیده اتصالاتش هم درسته چن تا پروژه هم امتحان کردم برنامه حتی کامپایل میشه ولی روی ال سی دی نشون نمیده لطفا کمک کنید

        • نویسنده این مطلب

          مهدی دمرچیلو

          سیم ها رو با بیزر مولتیمتر بررسی کنید که قطع نباشن – نمایشگر دیگه استفاده کنید- اون مقاومت متغییر متصل به نمایشگر رو مقدارش رو تغییر بدید تا نور زمینه نمایشگر تغییر کنه اطلاعات نمایش داده بشن – کد پروژه حواست باشه اشتباه نباشه – اگه از جای مطمئن برداشتی که کد تست شده پس هیچی – اتصالاتت رو بررسی کن – نمایشگرت رو عوض کن – مشکلات همینا میتونه باشه – چیز زیاد خاصی نیست

        • مهمان

          علیرضا آهنی

          سلام.
          پایه ۵رو هتما وصل کن!

  68. مهمان

    الی

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

    • نویسنده این مطلب

      مهدی دمرچیلو

      سوالتون رو لطفا کامل بگید – کتابخونه چی؟ تو این مطلب هم گشتم نظری با نام الی غیر از این ۲ تایی که الان گزاشتی ندیدم

  69. مهمان

    الی

    سلام با اردووینو میخوام کاراکتر بسازم تو زمانهای متفاوت فارسی بنویسه . اما بیش از ۸ تا کاراکتر قاطی میکنه ال سی دی .چکاااااار کنم /؟؟؟؟؟ مثلا اول کد دریافتی بعد ۴ ثانیه کد ارسالی بعدش کد کپی شده . اما نمیشه .