نمایش/عدم نمایش سایدبار
رفتن به بالای صفحه
آزادی حجاز از دست نااهلان
مهدی دمیرچیلو

آموزش جامع کار با 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

فعلا یا علی

گروه پرسش و پاسخ الکترونیکی در سروش
مهدی دمیرچیلو امیدوارم مطالب ناچیز این سایت مفید باشه براتون؛ به امید روزی که دانسته هامونو به اشتراک بزاریم، حالا پولی یا رایگانش زیاد مهم نی؛ بعضی ها فک میکنن چیزی که بلدن، اگه با دیگران به اشتراک بزارن ... !
ارسال دیدگاه
264

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

2) به موارد درخواست پروژه/کد آماده و سوالاتی که بلد نباشم پاسخ داده نمیشه.

3) برای گزاشتن کدهاتون از این سایت استفاده کنید ( طبیعتا لینک کدتون رو باید برای من بفرستید! ) : debian

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

  1. Avatar

    مهمان

    مزارعی فرد

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

  2. Avatar

    مهمان

    فضلی منش

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

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

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

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

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

  3. Avatar

    مهمان

    حمید

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

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

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

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

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

  4. Avatar

    مهمان

    محمد پوریان

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

  5. Avatar

    مهمان

    محمد پوریان

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

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

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

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

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

      • Avatar

        مهمان

        محمد پوریان

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

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

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

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

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

  6. Avatar

    مهمان

    محمد پوریان

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

    مهمان

    shahin

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

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

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

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

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

  8. Avatar

    مهمان

    رضا

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

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

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

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

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

      • Avatar

        مهمان

        رضا

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

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

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

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

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

      • Avatar

        مهمان

        رضا

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

  9. Avatar

    مهمان

    محمد

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

  10. Avatar

    مهمان

    علی

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

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

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

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

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

  11. Avatar

    مهمان

    سعید

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

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

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

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

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

  12. Avatar

    مهمان

    mohammad.p

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

  13. Avatar

    مهمان

    حمید

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

  14. Avatar

    مهمان

    علیرضا

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

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

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

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

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

    • Avatar

      مهمان

      سعید

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

  15. Avatar

    مهمان

    محمد

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

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

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

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

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

  16. Avatar

    مهمان

    علی

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

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

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

      مهدی دمرچیلو

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

  17. Avatar

    مهمان

    parsa

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

  18. Avatar

    مهمان

    عرفان

    دمتون گرم

  19. Avatar

    مهمان

    جواد

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

  20. Avatar

    مهمان

    محمد

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

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

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

      مهدی دمرچیلو

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

  21. Avatar

    مهمان

    Mr.black

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

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

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

      مهدی دمرچیلو

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

      • Avatar

        مهمان

        Mr.black

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

  22. Avatar

    مهمان

    محمد امین

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

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

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

      مهدی دمرچیلو

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

  23. Avatar

    مهمان

    دانیال

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

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

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

      مهدی دمرچیلو

      سلام
      lcd.print

  24. Avatar

    مهمان

    رضا

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

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

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

      مهدی دمرچیلو

      سلام-چی شد؟

      • Avatar

        مهمان

        رضا

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

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

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

          مهدی دمرچیلو

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

      • Avatar

        مهمان

        رضا

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

      • Avatar

        مهمان

        رضا

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

  25. Avatar

    مهمان

    رضا

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

  26. Avatar

    مهمان

    رضا

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

  27. Avatar

    مهمان

    Mr.black

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

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

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

      مهدی دمرچیلو

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

      • Avatar

        مهمان

        Mr.black

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

  28. Avatar

    مهمان

    Mr.black

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

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

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

      مهدی دمرچیلو

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

  29. Avatar

    مهمان

    بابک

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

  30. Avatar

    مهمان

    علیرضا

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

  31. Avatar

    مهمان

    جواد

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

  32. Avatar

    مهمان

    حامد مجتهد

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

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

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

      مهدی دمرچیلو

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

  33. Avatar

    مهمان

    امین

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

  34. Avatar

    مهمان

    امیرشفیعی

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

  35. Avatar

    مهمان

    وحید

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

  36. Avatar

    مهمان

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

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

  37. Avatar

    مهمان

    امین

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

  38. Avatar

    مهمان

    ياسر

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

  39. Avatar

    مهمان

    سهراب

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

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

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

      مهدی دمرچیلو

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

  40. Avatar

    مهمان

    مهدی حسن پور

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

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

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

      مهدی دمرچیلو

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

  41. Avatar

    مهمان

    علیرضا آهنی

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

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

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

      مهدی دمرچیلو

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

    • Avatar

      مهمان

      علیرضا آهنی

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

  42. Avatar

    مهمان

    شهاب شکری

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

  43. Avatar

    مهمان

    محمد

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

  44. Avatar

    مهمان

    ناشناس

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

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

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

      مهدی دمرچیلو

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

1 2 3