مشکل نشان داده نشدن متن روی ال سی دی کاراکتری 16x2

3 سال قبل
1763 بازدید

0

سلام .

ببخشید من می خوام یه متنی روی ال سی دیم نمایش بدم اما فقط مربع سفید پررنگ در خط بالا و مرب های کم رنگ هم در خط پایین نشون میده ممنون می شم کمکم کنید همه سیم ها رو ۱۰۰ بار چک کردم کدم هم ۱۰۰ بار چک کردم

21 اسفند 00 در 07:03
Yasin
1

افزودن دیدگاه

3 پاسخ ثبت شده است
1

سلام

در صورتی که از ماژول ها استفاده میکنید یک پتاسیومتر یا مقاومت متغیر بر روی برد قرار دارد که برای تنظیم کردن کنتراست تصویر می باشد و چرخاندان آن مقدار کنتراست را کم کمتر بکنید تا متن های شما نمایش داده بشود.

در صورتی که از خود نمایشگر استفاده میکنید  این آموزش را مطالعه کنید، که متوجه می شوید پایه V0 را باید با مقاومت متغیر وصل کنید تا کنتراست را تنظیم کنید.

21 اسفند 00 در 07:47
محمد دمیرچی
4280

لطفا یک عکس از صفحه نمایش خود نیز در عنوان سوال خود قرار بدهید.  – محمد دمیرچی 00-12-21 در 08:15

از پتانسیومتر هم استفاده می کنم  – Yasin 00-12-21 در 08:15

قرار دادم ممنون می شم راهنمایی کنید  – Yasin 00-12-21 در 10:41

با کم و زیاد کردن پتاسیومتر تغییر رخ میده یا نمیده؟؟ یعنی صفحه کاملا خالی و کاملا پر میشه یا خیر؟؟  – محمد دمیرچی 00-12-21 در 12:20

بله خالی و پر میشه  – Yasin 00-12-21 در 12:31

در این صورت کنتراست شما درست کار میکند و امکان دارد در کد یا سیم کشی شما اشتباهی شده باشد. در صورتی که میکرو دیگر دارید یک بار میکرو خود را نیز عوض کنید ببینید مشکل حل می شود یا خیر.  – محمد دمیرچی 00-12-22 در 07:21

بازم درست نمیشه حتی سیم ها رو دوباره از اول چیدم کد رو هم باز بینی کردم حتی از ال ای دی هم برای اینکه بفهمم کد به سمت ال ای دی میره یا نه هم استفاده کردم و کد به سمت ال ای دی میره ولی اجرا نمیشه  – Yasin 00-12-22 در 01:31

احتمال دارد نمایشگر مشکل داشته باشد.  – محمد دمیرچی 00-12-23 در 11:58

افزودن دیدگاه

0

در خطی که ال سی دی تعریف میشه

LiquidCrystal_I2C lcd(0x27,16,2);

به جای 0x27 از 0x3F یا بالعکس استفاده کنید.

معمولا یکی از این دوتاس.

این کد آدرس ماژول I2C رو نشون میده. ابتدا ببینید آدرس ماژول چیه.

#include <Wire.h>

void setup() {
  Serial.begin (9600);
  Serial.println ("I2C scanner. Scanning ...");
  byte count = 0;
  
  Wire.begin();
  for (byte i = 8; i < 120; i++)
  {
    Wire.beginTransmission (i);
    if (Wire.endTransmission () == 0)
      {
      Serial.print ("Found address: ");
      Serial.print (i, DEC);
      Serial.print (" (0x");
      Serial.print (i, HEX);
      Serial.println (")");
      count++;
      delay (1);  // maybe unneeded?
      } // end of good response
  } // end of for loop
  Serial.println ("Done.");
  Serial.print ("Found ");
  Serial.print (count, DEC);
  Serial.println (" device(s).");
}  // end of setup

void loop() {}
22 اسفند 00 در 03:06
مجید زارع پور
41

سلام این مورد که شما عرض کردید مربوط به مدلی می شود که از درایور I2C استفاده شده باشد نه مدلی که به صورت مستقیم بدون درایور وصل می شود  – محمد دمیرچی 00-12-23 در 11:59

درسته توجه نکرده بودم به عکس  – مجید زارع پور 00-12-24 در 12:57

افزودن دیدگاه

0

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

1 ماه قبل
رضا ابراهیمی
1

افزودن دیدگاه


انجمن کافه‌ربات © 1400