صفحه 1 از 2 12 آخرینآخرین
نمایش نتایج: از 1 به 10 از 14
Like Tree14 لایک

موضوع: مشکل در راه اندازی lcd کارکتری با i2c

  1. #1
    Junior Member
    تاریخ عضویت
    Nov 2016
    نوشته ها
    8

    مشکل در راه اندازی lcd کارکتری با i2c

    با سلام خدمت تمامی دوستان گرامی..
    من یه برد آردوینو میکرو گرفتم(بهتر بگم Genuino Micro)...
    یه برنامه نوشتم و از تمامی پایه هاش استفاده کردم، به جز دو تا پایه (2و3) به امید اینکه بتونم lcd رو با روش i2c راه اندازی کنم. (تا اینجا مشکلی نبود!!!)
    حالا مشکل:
    یه ماژول درایو با شماره آی سی PCF8574AT گرفتم، وصل کردم به آردوینو..
    حالا هر کتابخونه ای که شما بگین امتحان کردم(میگم هر کتابخونه ای به معنای واقعی کلمه!!!) ، هر آدرسی رو که باید تغییر میدادم رو تغییر دادم. از0x20تا 0x3F..
    A0, A1, A2 رو یه بار به VSS زدم بعد همه آدرسها رو امتحان کردم،یه بار هم به VDD...
    چندتا ال سی دی امتحان کردم.. نشد که نشد😢😢😢
    دوستان عزیز اگه میتونین کمک کنین واقعا من رو مدیون خودتون کردین.
    .... البته ماژول رو از آفتاب رایانه گرفتم مطمئنم ماژول درسته.... !
    لایک کردن

  2. #2
    مدیر ویژه
    تاریخ عضویت
    Mar 2014
    نوشته ها
    586
    میبخشید متوجه نمیشم کدوم نمایشگر منظورتونه؟

  3. #3
    Junior Member
    تاریخ عضویت
    Nov 2016
    نوشته ها
    8
    سلام
    lcd کارکتری 16x2
    لایک کردن

  4. #4
    مدیر گروه
    تاریخ عضویت
    Nov 2013
    محل سکونت
    ایران
    نوشته ها
    4,064
    شما میخواید با مبدل iic راه اندازیش کنید درسته ؟

    یک بار قدم به قدم با هم پیش بریم .
    از لحاظ سخت افزاری پینهای i2c روی پرومیکرو این دو تا هستن :
    برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: 523a1765757b7f5c6e8b4567.jpg
مشاهده: 702
حجم: 22.7 کیلو بایت

    بنابراین شما کافیه که پینهای i2c نمایشگرتون رو به این دوتا پین بزنید.

    *****************************

    حالا این کد رو روی پرومیکروتون آپلود کنید :
    کد:
    #include <Wire.h>
     
     
    void setup()
    {
      Wire.begin();
     
      Serial.begin(9600);
      while (!Serial);             // Leonardo: wait for serial monitor
      Serial.println("\nI2C Scanner");
    }
     
     
    void loop()
    {
      byte error, address;
      int nDevices;
     
      Serial.println("Scanning...");
     
      nDevices = 0;
      for(address = 1; address < 127; address++ )
      {
        // The i2c_scanner uses the return value of
        // the Write.endTransmisstion to see if
        // a device did acknowledge to the address.
        Wire.beginTransmission(address);
        error = Wire.endTransmission();
     
        if (error == 0)
        {
          Serial.print("I2C device found at address 0x");
          if (address<16)
            Serial.print("0");
          Serial.print(address,HEX);
          Serial.println("  !");
     
          nDevices++;
        }
        else if (error==4)
        {
          Serial.print("Unknow error at address 0x");
          if (address<16)
            Serial.print("0");
          Serial.println(address,HEX);
        }    
      }
      if (nDevices == 0)
        Serial.println("No I2C devices found\n");
      else
        Serial.println("done\n");
     
      delay(5000);           // wait 5 seconds for next scan
    }
    کنسول آردوینو رو باز کنید. اگر از لحاظ سخت افزاری همه چیز درست باشه باید بهتون یه کد هگز به عنوان آدرس بگردونه مثلا 0x27 .

    حالا شما باید تو هدر برنامه نمایگشرتون به جای کد هگزی که دیفالت گذاشته کد هگز نمایشگر خودتون یعنی همون 0x27 رو بزارید.

  5. #5
    Junior Member
    تاریخ عضویت
    Nov 2016
    نوشته ها
    8
    ممنون مهندس جان،
    یه سوال! باید توی لایبری liquidcrystal_i2c برم و اونجا کد رو عوض کنم؟
    لایک کردن

  6. #6
    Junior Member
    تاریخ عضویت
    Nov 2016
    نوشته ها
    8
    سخت افزار رو چک کردم دقیقا مطابق با اون چیزی ک شما گفتین. کد رو آپلود کردم ولی هیچ پیغامی یا کدی بهم نمیده!
    رو گزینه sarchig می مونه.

    همین یعنی یه جای کار غلطه .
    پینها رو درست وصل کردی؟
    scl به scl
    sda به Sda
    ویرایش توسط magmagmary : 11-22-2016 در ساعت 10:11 AM
    لایک کردن

  7. #7
    مدیر گروه
    تاریخ عضویت
    Nov 2013
    محل سکونت
    ایران
    نوشته ها
    4,064
    نقل قول نوشته اصلی توسط mortysix نمایش پست ها
    ممنون مهندس جان،
    یه سوال! باید توی لایبری liquidcrystal_i2c برم و اونجا کد رو عوض کنم؟

    نه اصلا نمیخواد به کتابخونه دست بزنی.
    هدر برنامت رو عوض کنی کافیه .
    اول بزار مشکل کد آدرست رو حل کنیم
    لایک کردن

  8. #8
    Junior Member
    تاریخ عضویت
    Nov 2016
    نوشته ها
    8
    من اومدم دقیقن پایه sda رو دادم به پین 2 و پایه scl رو دادم به پین 3..
    بعد کدی که شما دادین رو آپلود کردم رو پیغام scaning... میمونه و هیچ تغییری نمیکنه...
    حتی تا 20 دقیقه هم صبر کردم نشد!

  9. #9
    Junior Member
    تاریخ عضویت
    Nov 2016
    نوشته ها
    8
    مهندس میشه مشکل از ماژول رابط باشه من تا حالا اونو عوض نکردم.!؟

  10. #10
    مدیر گروه
    تاریخ عضویت
    Nov 2013
    محل سکونت
    ایران
    نوشته ها
    4,064
    نقل قول نوشته اصلی توسط mortysix نمایش پست ها
    من اومدم دقیقن پایه sda رو دادم به پین 2 و پایه scl رو دادم به پین 3..
    بعد کدی که شما دادین رو آپلود کردم رو پیغام scaning... میمونه و هیچ تغییری نمیکنه...
    حتی تا 20 دقیقه هم صبر کردم نشد!
    اگرهمه چیز درست باشه حتی 5 ثانیه هم طول نمی کشه تاجواب بده .

صفحه 1 از 2 12 آخرینآخرین

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  

SEO by vBSEO