پروژه AVR | از مقدماتی تا پیشرفته, توصیه شده, کتابخانه برنامه نویسی

راه اندازی LCD گرافیکی Nokia 1661

راه اندازی LCD گرافیکی Nokia 1661

LCD گرافیکی یکی از مهم ترین پارامترهای موجود در طراحی انواع مدارات الکترونیکی پیچیده و حتی ساده است ، نمایش وضعیت و یا حاصل عملیات، در مداراتی که عملکرد ساده ای دارند با چند LED یا نهایتا استفاده از 7Segment مرتفع می شود. اما فکر کنید دستگاه شما باید تعداد پارامتر های زیادی را به نمایش بگذارد؛ در چنین دستگاه هایی ، دیگر نمی شود از LED یا LCD های کاراکتری استفاده کرد و نیاز است از یک LCD گرافیکی استفاده کنید.

شاید برای شما مفید باشد: آموزش AVR از 0 تا 100 به همراه جزوه PDF و ویدئو آموزشی

وقتی که به گزینه LCD های گرافیکی می‌رسیم ، تعداد انتخاب ها به شدت محدود می شود ، چرا که نمایشگر های موجود در بازار به شدت محدود هستند ، البته نه بازار جهانی بلکه بازار ایران ! علاوه بر محدودیت تنوع قیمت های نجومی آنها ، خیلی از مسائل را تحت شعاع قرار می دهد! و حتی ممکن است باعث کنسل شدن پروژه شود ، اما راه حل چیست ؟ ، برای یافتن پاسخ با سیسوگ همراه شوید.

راه حل ارزان

یکی از انتخاب ها برای کاهش هزینه نمایشگر استفاده از نمایشگرهایی است که در تعداد و تیراژ بالا تولید می شوند و کاربرد عمومی دارند نه تخصصی ، قطعا چنین نمایشگرهایی علاوه بر فراوانی دارای قیمت مناسبی نیز هستند. به عنوان نمونه می توان به نمایشگرهای موبایل اشاره کرد. که به سادگی در بازار قطعات موبایل قابل تهیه است و از قیمت مناسبی نیز برخوردار است. به عنوان نمونه نمایشگرهای موبایل N95 چینی که امروزه حتی در قطعه فروش های الکترونیکی هم می توان آنها را پیدا کرد. در این مقاله قصد داریم یک مدل دیگر از این LCD ها معرفی کنیم که دارای قیمت مناسبی است و به راحتی قابل تامین از بازار قطعات موبایل است.

معرفی LCD گرافیکی

غالب LCD گرافیکی های موجود در بازار الکترونیک از نوع تک رنگ پیکسلی هستند، یعنی تنها قادرند که وضعیت صفر یا یک را برای یک پیکسل به نمایش بگذارند ؛ غالبا راه اندازی LCD گرافیکی رنگی هزینه زیادی در بر خواهد داشت چرا که علاوه بر تهیه خود LCD نیاز است که کنترلر LCD را نیز تهیه کنید! اما استفاده از LCD های موبایل کمک می کند که علاوه بر کاهش هزینه ها دیگر نیازی به آیسی درایور نباشد چرا که درایور درون خود LCD تعبیه شده است و تنها نیاز به راه انداری دارد.

در این مقاله قصد داریم که LCD موبایل Nokia 1661 را راه اندازی کنیم، این نمایشگر یک نمایشگر از نوع TFT می باشد که قادر به پشتیبانی 65 هزار رنگ است و در اندازه 1.8 اینچ در دسترس است.

LCD گرافیکی را از کجا تهیه کنیم

نمایشگر Nokia 1661 را به راحتی می توانید از تمام فروشگاه های قطعات موبایل تهیه کنید، حدود یک ماه پیش (قبل از نگارش این مقاله) قیمت این نمایشگر حدود 12 هزار تومان بود و هم کنون (در زمان نگارش مقاله) حدود 23 هزار تومان است. حتی به صورت آنلاین با یک سرچ ساده می توانید آن را سفارش دهید و درب منزل دریافت کنید. اگر به هر دلیلی موفق نشدید نمایشگر Nokia 1661 را تهیه کنید ، می توانید از لیست زیر نمایشگر هر کدام از موبایل های معرفی شده را تهیه کنید چرا که LCD  آنها یه صورت کامل با هم همخوانی دارد.

  • Nokia 1661
  • Nokia 1616
  • Nokia 1662
  • Nokia 1800
  • Nokia 5030
  • Nokia 100
  • Nokia 101
  • Nokia 112
  • Nokia 113
  • Nokia C1-00
  • Nokia C1-01
  • Nokia C1-02
  • Nokia C1-03
  • Nokia C2-00
  • Nokia X1-01

و به راحتی نمایشگر مورد نظر را جایگزین کرد. توجه داشته باشید که تمام مدل های بالا از یک نوع LCD استفاده می کنند که از سوکت 12 پین استفاده می کند و مدل های زیر از سوکت 22 پایه (DF23-22) استفاده می کنند ، جز تغییر چینش پایه ها تمام جزییات راه اندازی مثل هم خواهد بود.

  • Nokia 5070
  • Nokia 5200
  • Nokia 6060
  • Nokia 6061
  • Nokia 6070
  • Nokia 6080
  • Nokia 6085
  • Nokia 6086
  • Nokia 6101
  • Nokia 6102
  • Nokia 6103
  • Nokia 6125
  • Nokia 6136
  • Nokia 6151
  • Nokia 7360

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

توضیح خوب یکی از کاربرها(سینا) در خصوص تهیه این مدل نمایشگرها در بازار ایران: 

تمام مدل های زیر با نام 1661 هستن تو بازار و اگه مدل دیگه‌ای بگید نمیشناسن و تا اونجایی‌که رفتم تو بازار و دیدم مدل تقلبی‌نداره و حدود ۱۸ تا ۲۲ تومنه که بستگی به مارک تولید کننده داره و قیافش با c1  فرق داره ولی همه مدل‌های زیر شکلشون یکسانه

Nokia 1661 , Nokia 1662 , Nokia 1616 , Nokia 5030 , Nokia 1800

و اما تمام مدل های زیر هم با نام c1-01 در بازار موجود هستند و طول کاورشون کمتره و مدل اصل و تقلبی‌دارن مدل اصل ۱۷ تا ۱۸ تومنه و تقلبی ۱۲ تومن

Nokia C1-01, Nokia C1-00, Nokia C1-03, Nokia X1-01, Nokia 101, Nokia C2-00, Nokia C1-02, Nokia 100, Nokia 113, Nokia 112, Nokia 108 Nokia 130 Single SIM

فقط دقت کنید مدل تقلبی مارک پشتش بی کیفیته و سر قرمز‌ لیبلش کوچک تر و باریک تره حتما از جایی تهیه کنید که طرف‌خودش اینکاره باشه. اما مدل ۲۲‌پین که اطلاعات زیادی ازش‌ندارم و لی همه مدل‌های زیر به اسم مدل 5200 معروفن و باید حدود ۷ تا ۸ تومن تقلبیش و ۱۴ تا ۱ هم اصلش باشه

 

LCD گرافیکی و رابط سخت افزاری

تمام مدل های ذکر شده ، از کنترلر SPFD54124B استفاده می کنند، خوشبختانه رابط مورد استفاده در این کنترلر و البته این نوع سخت افزار رابط سریال است که برای راه اندازی نیاز به تعداد پایه زیادی نخواهد داشت ، اما متاسفانه از انتقال سریال 9 بیت فقط استفاده می کنند که باعث می‌شود نتوانیم از سخت افزار SPI موجود در AVR استفاده کنیم البته میکروکنترلرهای ARM غالبا از ارتباط 9 بیت سریال به صورت سخت افزاری پشتیبانی می‌کنند.

نکته مهم دیگری که باید به آن توجه کرد ، ولتاژ تغذیه این LCD گرافیکی است که فقط از 3.3 ولت پشتیبانی می‌کند البته دقت داشته باشید که حتما IO های آن نیز باید با ولتاژ 3.3 تحریک شوند در غیر این صورت کنترلر LCD صدمه خواهد دید.

اگر قصد دارید از برد آردوینو (arduino) یا AVR برای راه اندازی این LCD استفاده کنید ، به راحتی با سری کردن مقاومت 10 کیلواهم سطح ولتاژ را کاهش دهید و نیازی به تقسیم مقاومتی نیست

اگر از مدلی استفاده می کنید که 12 عدد پایه دارد ، در تصویر زیر می توانید ترتیب پایه ها را مشاهده کنید.

پایه های lcd گرافیکی Nokia 1661 در حالت 12 پایه

 

کتابخانه altium به همراه برد راه انداز این نوع LCD را میتوانید از GitHub سیسوگ دانلود کنید.

و چنانچه از مدلی استفاده می کنید که دارای 22 عدد پایه است ، ترتیب پایه ها را می توانید در تصویر زیر مشاهده کنید.

پایه های LCD گرافیکی Nokia 5300 در حالت 22 پایه

 

همانطور که در دو تصویر فوق مشخص می شود به جز پایه های تغذیه و بک لایت ، در این مدل کنترلر نیاز به 4 پایه سیگنال داریم ، که مطابق معمول یکی برای ریست کنترلر و یکی به عنوان سیگنال انتخاب کننده است (CS) و یکی هم کلاک و دیگری هم ورودی دیتاست.

نام گذاری های SDA و SCL ربطی به واسط I2C ندارند و صرفا مخفف نام های Serial Data و Serial Clock می باشند.

نمونه ساخته شده

نمونه تهیه شده برای استفاده در این راه اندازی ، در واقع LCD موبایل Nokia 1661 است که در عکس پشت روی آن را در تصویر مشاهده میکنید:

دقت داشته باشید که در این نوع LCD تعداد پایه ها 12 عدد است

برای دسترسی ساده تر به پایه های LCD ، یک عدد برد راه انداز توسط سیسوگ طراحی شده است که در قسمت دانلود میتواند فایل PCB آن را دانلود کنید

 

 

دانلود و راه اندازی کتابخانه lcd گرافیکی

برای دانلود کتابخانه می توانید به گیت هاب  سیسوگ مراجعه کنید و ریپوزیتوری Nokia-1616-1661-TFT-Library را دانلود کنید یا بر روی لینک قرار گرفته در قسمت دانلود ها کلیک کنید ، بعد از دریافت آخرین نسخه از کتابخانه ، اولین قدم تنظیم پایه های مورد استفاده جهت راه اندازی LCD است. برای این کار ابتدا خطوط زیر در فایل nokia1661_Hw.h را ویرایش کنید و هر پایه دلخواهی را که آزاد است می توانید انتخاب کنید.

 

به یاد داشته باشید که این کتابخانه هم از میکروکنترلر AVR و هم از میکروکنترلر STM32 پشتیبانی می کند.

برای تعیین نوع میکروکنترلر می توانید با ویرایش فایل nokia1661_Hw.h و تغغیر وضعیت ماکروهای LCD_AVR_HW یا LCD_STM_HW نوع میکروکنترلر مورد استفاده خودتون رو انتخاب کنید. مثلا برای انتخاب AVR وضعیت را به شکل زیر تغییر می دهیم.

این کتابخانه در کامپایلر های GCC , Keil , IAR قابل استفاده است و به سادگی با کتابخانه های HAL / LL / SPL میتوان از آن استفاده کرد.

 

وجود مقاومت های 10 کیلو اهمی سر راه سیگنال LCD ، به دلیل تغذیه 5 ولت میکروکنترلر می باشد.

 

بعد از تنظیم پایه های سخت افزار و اتصال سخت افزاری ماژول LCD به میکروکنترلر تنها کافی است با صدا زدن روال nlcdInit کنترلر LCD را پیکر بندی کنید و از آن استفاده کنید.

برنامه پیش فرض راه اندازی و تست کتابخانه :

خروجی برنامه فوق را در تصویر زیر می توانید مشاهده کنید.

تست کتابخانه LCD گرافیکی

ورژن دوم کتابخانه

در ورژن جدید این کتابخانه ؛ تابعی برای خواندن رجیسترهای کنترلر LCD به آن اضافه شده که به سادگی قادر خواهید بود ID و رجیستر وضعیت LCD را قرائت کنید.

پارامتر اول آدرس رجیستر مورد نظر است ؛ پارامتر اشاره گر به حافظه ای است که داده ها باید درون آن ذخیره شوند و پارامتر آخر هم تعداد بایت هایی است که باید خوانده شود. برای خواندن رجیستر ID به شکل زیر از تابع استفاده خواهیم کرد.

خواندن ID و status از LCD Nokia 1661

 

 

انتشار مطالب با ذکر نام و آدرس وب سایت سیسوگ، بلامانع است.

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

207 دیدگاه در “راه اندازی LCD گرافیکی Nokia 1661

  1. Avatar for محمدرضا فرشتیان محمدرضا فرشتیان گفت:

    سلام
    من برای کدویژن میخوام استفاده کنم آیا کسی تا به حال تبدیل کرده یا استفاده کرده؟

  2. Avatar for گرشاسب محمدی گرشاسب محمدی گفت:

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

    1. Avatar for Zeus ‌ Zeus ‌ گفت:

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

  3. Avatar for سید سید گفت:

    سلام.از آموزش خوبتان سپاس گذارم.فقط من هنوز موفق به راه اندازی این کتابخانه با stm32f1xxنشدم . استفاده از هدر این کتابخانه برای من خطا میدهد مثل نوشتن این خط (include “LCD/nokia1661_lcd_driver.h#”) . اگر ممکن هست راهنمایی بفرمایید؟

    1. Avatar for Zeus ‌ Zeus ‌ گفت:

      سلام دوست عزیز
      امکانش هست خطایی که میگیرد رو به اشتراک بگذارید ؟
      احتمالا مسیر فایل ها مشکل دارند

  4. Avatar for Ali_A Ali_A گفت:

    من از این مدل استفاده کردم متوجه شد مجریان مصرفی بالایی دارد برسی کردم ال سی دی با یک میکرو stm32 جریانی حدود 70ma مقاومت بکلایت رو مقدار 22 اهم قرار دادم جریان کشی رسید به مقدار 40ma و نور مناسب بود بیشتر از این مقدار خوب نبود مقدار نورش هیچ دیتاشیتی پیدا نکردم که مقدار مقاومت بک لایت چقدر باشه که اسیب نبینه و نور مناسب فعلا 22 اهم دارم استفاده میکنم
    یه ایده اگه یک گوشی پیدا کنم از روی اون متوجه شم جریان بک لایت یا ولتاژش چقدره
    شما میدونید مقدارش رو ؟

    1. Avatar for Zeus ‌ Zeus ‌ گفت:

      سلام دوست عزیز
      مقدار جریان رو توی دیتاشیت باید ببینید ولی از اونجایی که دیتاشیت مناسبی من هم پیدا نکردم فکر میکنم این مقدار رو به شکل تجربی میشه در نظر گرفت

  5. Avatar for محمد محمد گفت:

    سلام با stm8 هم کارمیکنه دیگه درسته؟؟

    1. Avatar for Zeus ‌ Zeus ‌ گفت:

      نه ولی راحت میتونید تغییرش بدید که کار کنه

  6. Avatar for محمد محمد گفت:

    سلام
    باتشکر از مطلب جامع و مفیدتون
    من این ال سی دی رو میخوام راه بندازم میتونین کمکم کنین؟
    nokia c6-01
    سوکتش 10*2 هست از مدل ffc fpc

  7. Avatar for مهندسیار مهندسیار گفت:

    سلام مهندس
    از زحمات جنابعالی و به اشتراک گذاری کمال تشکر را دارم
    پیشنهاد می شود این پروژه را بررسی کنید که مستقیم تصاویر jpg را نمایش می دهد
    و اگر وقت داشتید برای lcd 1616-c1 تنظیم کنید
    موضوع دیگر:
    جهت افزایش سرعت اینجا مدار و روشی ارائه شده است که می توان با اتصال S RAM خارجی ظرفیت آن را بالا برد
    این مدار برای پروژه های دیگر نیز مناسب خواهد بود
    https://scienceprog.com/adding-external-memory-to-atmega128

  8. Avatar for علیرضا علیرضا گفت:

    سلام و تشکر از آموزش خوبتون ، من میخواهم که فونت رو یکم تغییر بدم ، چطور باید این کار رو بکنم ، کامنت ها رو که خوندم دیدم شما با نرم افزار BFC این فونت رو ساختید ، میشه یکم در موردش توضیح بدید

    1. Avatar for Zeus Zeus گفت:

      سلام دوست عزیز
      متاسفانه سورس ها رو ندارم چون موضوع این فونت ها برمیگرده به بیش از ۷ سال پیش
      یادمه نرم افزار BFC چون نسخه پولی داشت خروجی کامل نمیداد و نرم افزاری رو خودم نوشته بودم که فایل خروجی رو به شکل کامل ایجاد میکرد
      نرم افزار رو میتوانید از لینک زیر دانلود کنید
      http://www.iseasoft.com/font-editor/bitfontcreator-pro.html

  9. Avatar for رستمی زاده رستمی زاده گفت:

    سلام .. کتابخانه مرتبط با esp8266 و آردوینو رو منتشر نکردین ؟

    1. Avatar for zeus zeus گفت:

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

      1. Avatar for رستمی زاده رستمی زاده گفت:

        میشه آدرس ایمیلتون رو بدین ؟
        یکی از توی برنامه ها برداشتم اما گویا اون نیست چون جواب ندادین

        1. Avatar for Zeus ‌ Zeus ‌ گفت:

          به zeus ات sisoog.com ارسال کنید 🙂

      2. Avatar for اشکان اشکان گفت:

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

        1. Avatar for Zeus Zeus گفت:

          متاسفانه آپدیتش نکردم و کدش رو فکر کنم گم کردم.

  10. Avatar for علیرضا صرامی علیرضا صرامی گفت:

    سلام خدمت زئوس خیلی خیلی خیلی بزرگ ، تو را خدا کار ما رو راه بنداز
    من همه مراحل رو رفتم ولی توی کتابخانه lcd font 5*7 یه ارور داره
    میگه که شما 13 بار این رو دیفاین کردی ولی من دست به کد نزدم
    در ضمن برای میکرو های st استفاده میشه و در محیط stm32ide دارم کار میکنم
    غیر از این هیچ مشکلی نیست
    و اگر امکان داره بگید که چطوری میشه که یه عکس رو روی lcd نمایش داد
    با تشکر از زحمات شبانه روزی و بی وقفه شما

    1. Avatar for zeus zeus گفت:

      سلام 🙂
      ببخشید دیر پاسخ میدم -خیلی این روزها دارم با کارها دست و پنجه نرم میکنم
      خوب این فایل فونت کجا ها اینکلود شدن ؟ احتمالا توی چند تا فایل سی باید اینکلود یا ممکنه یه فایل h اینکلود شده باشه که این خطا رو میده
      برای نمایش عکس – اول لازمه که عکس رو به فریمت رنگی قابل نمایش برای lcd در بیارید – فریمت رنگی که نمایشگر پشتیبانی میکنه سیستم رنگی rgb565 هست یعنی برای هر پیکسل نیازه که 5+6+5 بیت دیتا ارسال بشه که میشه همون 16 بیت
      نرم افزارهای زیادی هستن که این کار رو انجام میدن مثل image2lcd بعد از اون شما باید دیتای هر پیکسل رو جای خودش قرار بدید تا عکس شروع کنه به نمایش در اومدن به همین سادگی

  11. Avatar for Clooner Clooner گفت:

    سلام بر زئوس بزرگ?
    امیدوارم هرجا هستی شاد و سلامت باشی کسب و کارتم پررونق . یه سوالی داشتم . من این کتابخونه رو هم پیدا کردم مثل اینکه ادافرویت برای این مدل lcd نوکیا نوشته . ولی هرچی وررفتم باهاش راه نیوفتاد . خواستم لینکو بزارم اگه وقت کردی یه نگاه بندازی ببینی میخوره به این lcd و می ارزه وقت بزارم روش تا بتونم راش بندازم یا نه .
    https://github.com/fire0shadow/Adafruit-SPFD54124B
    دمت گرم ❤️❤️❤️

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

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

      1. Avatar for Clooner Clooner گفت:

        زئوس جان تورو خدا ناراحت نشو به یه مشکلی خوردم نشد حلش کنم و نفهمیدم مشکل چیه و از کجا میادسر همین یه سرچی کردم و دیدم این کتابخونه هم هست( هرچند نتونستم راش بندازم)
        تو این کتابخونه از یه display.print() ساده استفاده شده که هرچی داخلش بزاری ارور نمیده و پرینت میکنه . ولی تو سورس شما من یه هفتس دارم زور میزنم نتونستم یه متغییر int یا float رو پرینت کنم همش ارور میده که سایز __c مشخص نیست . باز ببخشید میدونم سرت شلوغه ولی هرچی گشتم به هیچی نرسیدم☹️☹️

        1. Avatar for زئوس Zeus زئوس Zeus گفت:

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

          1. Avatar for Clooner Clooner گفت:

            https://s16.picofile.com/file/8422591826/problem.rar.html
            سلام مجدد زئوس جان . داخل این فایل rar هم کد هام رو بصورت txt گذاشتم هم عکس که متغییر نوع int و float رو نمیتونه چاپ کنه . رمز هم نداره و اینکه درسته فک کنم دارم اشتباه ازش استفاده میکنم ولی نمیدونم اشتباه کجاشه.بیزحمت وقت کردی یه نگاه بنداز به منم یه توضیح بده چیکارش کنم . ممنون

          2. Avatar for زئوس Zeus زئوس Zeus گفت:

            سلام دوست عزیز
            ببینید این توابعی که من آماده کردم فقط رشته چاپ میکنند وبرای این که عدد ها رو چاپ کنید نیازه اول به رشته تبدیلش کنید
            برای تبدیل رشته هم میتونید از sprintf استفاده کنید.

  12. Avatar for Ahmad Ahmad گفت:

    سلام بر زئوس بزرگ . سوالی داشتم . این فونت رو با چی نوشتی تو کتابخونه؟ با چی میشه ادیتش کرد؟ ممنون میشم اگر مشکلی نیست بگی تا بتونم یکم فونتو انگولک کنم . تشکر فراوان ⁦♥️⁩⁦♥️⁩⁦♥️⁩⁦♥️⁩

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

      سلام و درود دوست عزیز
      امم برمیگرده به خیلی وقت پیش و درست یادم نیست ولی شما با استفاده از نرم افزار BitFontCreator میتونی یه فونت رو ایمپورت کنی و تغییر بدی و خروجی مناسب برای میکروکنترلر بگیری 🙂

  13. Avatar for clooner clooner گفت:

    سلام عزیز. دستت درد نکنه خیلی عالیه. فقط یه مشکلی داشتم . من lcd nokia c1-01 رو تهیه کردم . همون اگزمپل رو که داخل کتابخونه بود روی اردوینو uno ریختم ولی مشکل اینجاست که حروف رو نمینویسه!!! مربع رو میکشه, بک گراند هم عوض میکنه ولی هیچ نوشته ای نمینویسه!! حتی خالی فقط نوشته و کد های مربوط بهش رو آپلود کردم ولی باز نوشته نشون نمیده. ممنون میشم کمک کنید چیکارش کنم .

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

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

      1. Avatar for Clooner Clooner گفت:

        سلام عزیز. ممنونم ازت . اون کامنتم که گفتید پیدا کردم خوندم و انجام دادم ولی مشکل هنوز پابرجا بود !!!!.خلاصه زدم تو کار ابتکار از اول عیب یابیش کردم تا رسیدم به فونت . به دلیلی که نمیدونم فونت رو که عوض کردم با یه مدل دیگه تو همون کتابخونه درست شد و حروف رو الان نشون میده . قربون دستت با ۴۰ تومن صاحب یه lcd گرافیکی با چند هزاررنگ شدم?. نمیدونی چقد دعای خیر پشتته?⁦♥️
        موفق و سرزنده باشی⁩

        1. Avatar for زئوس Zeus زئوس Zeus گفت:

          :)) خوشحالم که خودت مشکل رو با ابتکار حل کردی
          و ممنونم که اطلاع دادی
          + متشکرم خوشحال میشم اگر کمکی کرده باشم ، سلامت و پیروز باشی دوست عزیز

  14. Avatar for محمد محمد گفت:

    لینک دانلود کتابخانه صحیحه ؟

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

      بله نباید مشکلی داشته باشه

  15. Avatar for nima nima گفت:

    سلام بر زئوس بزرگ

    من مثال آردینو رو برای برد خودم باز کردم موقع کامپایل eRROR داد

    Arduino: 1.8.5 (Windows 7), Board: “Generic STM32F103C series, STM32F103C8 (20k RAM. 64k Flash), STM32duino bootloader, 72Mhz (Normal), Smallest (default)”

    sketch\nokia1661_lcd_driver.c:21:24: fatal error: util/delay.h: No such file or directory

    #include

    ^

    compilation terminated.

    exit status 1
    Error compiling for board Generic STM32F103C series.

    This report would have more information with
    “Show verbose output during compilation”
    option enabled in File -> Preferences.

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

      سلام دوست عزیز
      من مثال آردوینو رو برای برد های nano , uno نوشتم و احتمالا باید روی برد شما که stm است مشکل داشته باشه مگر این که توابع رو جایگزین کنید.
      الان هم داره به کتابخانه util/delay.h گیر میده که مسیرش رو پیدا نمیکنه – این کتابخونه برای ایجاد تاخیر توی avr هست

      1. Avatar for nima nima گفت:

        سلام
        بله شما درست میگید.
        من اکثر مثال ها رو برای برد uno میبینم میام برد رو تغییر میدم مثلا همون مثال برای mega میگه که با برد شما سازگار نیست.
        مگه کتابخانه ها برای برد های مختلف فرق میکنن؟
        یعنی برای هر برد باید یک کتابخانه جدا پیدا کرد ؟
        فقط کتابخانه های عمومی روی همه آردینو ها جواب میدن؟
        اگه اینطوره چطور بفهمیم یک مثال یا کتابخانه برای چه بردی تهیه شده؟
        ببخشید زیاد می پرسمپ. :))

        1. Avatar for زئوس Zeus زئوس Zeus گفت:

          سلام نه خوب یه مقدار توضیحش پیچیده است
          شما از این کتابخانه میتونید برای کامپایل روی همه مدل های مبتنی بر avr استفاده کنید چون هدر ها و کتابخانه ها متفاوت هستند
          البته چون من این کتابخانه رو با استفاده از کتابخانه های avr نوشتم و برای پورت کردن روی آردوینو از همونا استفاده کردم –
          اگر با استفاده از کتابخانه های آردوینو نوشته بودم این مشکلات برای تغییر برد وجود نمی داشت ولی اون موقع سرعت کم می شد.

      2. Avatar for علیرضا صرامی علیرضا صرامی گفت:

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

        1. Avatar for zeus zeus گفت:

          اوپس ببخشید ولی فکر کنم جوابتون رو دادم توی کامنت قبلی

  16. Avatar for محمد محمد گفت:

    درود
    یه نکته ای در رابطه با ال سی دی هایی مثل nokia c1-00 هستش که دستور SPFD54124B_CMD_NOP رو اجرا نمیکنن و این دستور باعث میشه که دیتا روی ال سی دی بهم بریزه . البته برای ال سی دی nokia 1616 مشکلی نداره و کار میکنه اما توی ال سی دی nokia c1-00 وقتی دستور
    nlcdStringP(LCD_VGA_RED, PSTR(“Sisoog.Com”));
    اجرا بشه کلمه sisoog.com رو بدرستی نمایش نمیده که باید این خط _nlcdSendCmd(SPFD54124B_CMD_NOP); تو تابع nlcdclear() حذف بشه تا برنامه بدرستی کار کنه .
    بعد همونطور که دوستان قبلا تو نظرات گفتن تو ال سی دی nokia c1-00 برای اینکه مربع وسط صفحه رسم بشه این تابع هم باید به این شکل باشه:
    void nlcdPixel(uint8_t x, uint8_t y,rgb_color16bit color)

    {
    _nlcdCmd1616(SPFD54124B_CMD_CASET, x, x); // column start/end
    _nlcdCmd1616(SPFD54124B_CMD_RASET, y, y); // page start/end
    _nlcdSendCmd(SPFD54124B_CMD_RAMWR); // RAMWR
    _nlcdSendData(color >> 8);
    _nlcdSendData(color & 0xFF);

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

      سلام دوست عزیز ممنون برای اطلاع رسانی این موضوع

  17. Avatar for محمد محمد گفت:

    درود

    میخواستم بدونم تو esp8266 برای مد 9 بیتی spi برای ارسال دیتا به ال سی دی باید چه دستوری رو بکار برد؟
    با کتابخونه spi.h وقتی دستور ارسال spi رو میزنم اصلا ال سی دی راه نمی افته … قبلا با spi نرم افزاری تو esp8266 تست شد ولی سرعت ارسال اطلاعات خیلی پایین هستش .

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

      فکر نمیکنم توی آردوینو چیزی براش پیدا کنید و باید خوتون با استفاده از یوزرمنوالش بنویسید

  18. Avatar for حسین حسین گفت:

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

    http://dastsazeman.blogfa.com/post/20

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

      سلام – خوب نتایج جالب بود فونت ها رو خوب پیاده سازی کردید فارسی منظورمه – طول حروف داینامیکه یا ثابت هست ؟ البته باید اشاره کنم که این نمایشگر رو با سرعت ۶۰ فریم در ثانیه هم راه اندازی کردم(با سخت افزار esp) ولی باید فرصت بشه منتشر کنم و البته اگر هنر کنم بتونم ورژن راه اندازی با spi سخت افزاری ۸ بیتی رو هم آموزش میدم که دوستان بتونن نتایج بهتری بگیرن در مورد سخت افزار 🙂 – خوشحالم که به نتایج مطلوبتون رسیدید ولی هیجان انگیز تر میشد که اگه رایگان منتشر میکردید تا دوستان هم بتونن نهایت استفاده رو ببرند :دی (لینوس تولدورز {خالق لینوکس} یه جایی گفت اگه کرنل رو پولی میکرد احتمالا کسی امروز لینوکس رو نمیشناخت)
      و چیزی که خوشم اومد استفاده تون از GCC بود برای پلتفرم های مختلف

      1. Avatar for حسین حسین گفت:

        سپاس از لطفتون .
        فونتش از اون کارایی که خودم از انجامش احساس رضایت دارم. در واقع دغدغه های خودم رو روی فونت پیاده کردم .
        فونت از نوع دینامیکه با طول متغیر . البته با همین ساختار میشه فونت با طول ثابت براش درست کرد .
        کار شما درسته …….60 فریم خیلی خوبه !!!!!!!! من با stm32f0xx به سرعت حدود 30 فریم رسیدم .ولی با stm32f1xx به نتیجه مطلوبی نرسیدم با اینکه کلاکش 1.5 برابر m0 هست .اونم به خاطر اینکه,واحد spi stm32f1xx فقط 8و16 بیت رو ساپورت میکنه ( واقعا این قسمتش ناامید کننده ست )
        ولی یک موردی در مورد سرعت رفرش هست ،اونم اینه که به نظرم رسید سرعت آپدیت تصویر روی ال سی دی از رم داخلیش کمتر از این مقدار هست .یعنی درست هست که مثلا با کلاک 20 مگاهرتز داده ها توی حافظه تصویرش نوشته میشه ولی انگار دیرتر نمایش داده میشه .!!!!….تصویر اون سرعت رو نداره .
        من یک همچین حسی دارم .
        در مورد رایگان بودنش : راستش شرایطم یک جوریه که یا باید اینجوری ارائه بدم یا اینکه کلا بزارمش کنار …از این هم بگذریم که استقبال نشد ازش و تا الان فقط 1 نفر کتابخانه رو تهیه کرده !!!
        ولی واقعا قیمتی هم ندار ه ، تقریبا هزینه خرید 2 عدد پفکه ……
        gcc واقعا چیز خوبیه …..یک مورد بود که کیل جواب نمیداد ولی gcc راحت ساپورت میکرد . با gcc توی همین سایت شما آشنا شدم و بابتش از شماتشکر ویژه دارم .

        1. Avatar for زئوس Zeus زئوس Zeus گفت:

          :)))
          فکر میکردم توی f0 هم واحد spi فقط ۸ و ۱۶ رو داشته باشه – آیا اینطور نیست ؟!
          خوب منم دقیقا همین فکر رو میکردم (این که سرعت بروز رسانی کمتر از سرعت دیتا است) ولی وقتی فیلم پخش کردم دیدم اوکیه
          میدونید چیه توی فیلم پخش کردن تمام اجزاکه توی دو تا فریم عوض نمیشه تغییرات جزیی هست و برای همین به خوبی دیده میشه!!!
          این که قیمتی نداره کاملا درسته و موافقم که قیمت پایینی است ولی چیزی که هست اینه که متن باز کردنش کمک میکنه بیشتر دیده بشه و استقبال بیشتری هم ازش بشه و این ممکنه برای شما بهتر باشه
          اگر دوست داشتید متن باز چیزی رو منتشر کنید میتونید روی رسانه سیسوگ حساب کنید 🙂

          1. Avatar for حسین حسین گفت:

            سپاس بابت پیشنهادتون لطف دارید .
            زئوس گرامی ولی اینکه سورسش بازه !!!!!! فقط رایگان نیست .

            در مورد طول بیت spi :خیر …stm32 های سری cortexM0 ، طول بیت 4,5,6,7,8,9,…….16 رو برای واحد spi ساپورت میکنه ورجیسترهای gpio اون هم دقیقا شبیه stm32f4xx هست . فقط کلاکش از stm32f1xx پایینتر هست . در کل نسبت به سری f1xx میکروی هموار تری هست . به خصوص مدلهای stm32f072 که امکانات قابل توجهی داره. مثلا usb داخلی و از اون هم جالب ترHDMI CEC !!!!!
            در مورد فیلم اگر آپدیت تصویر منطقه ای باشه و با یکسری ملاحظاتی مثل همون چیزی که شما فرمودید انجام بشه مشکلی نداره . ولی اگر بخواهید یک کلیپ نمایش بدید که لازم باشه کل تصویر رفرش بشه ، … فکر نکنم خوب در بیاد حتی با وجود سرعت رفرش 60 فریم در ثانیه . نظر شما چیه ؟

            رفرش بشه

          2. Avatar for زئوس Zeus زئوس Zeus گفت:

            سلام
            نه دیگه منظور از متن باز بودن یعنی یکی از مجوزهای متن باز مثل GPL یا MIT یا… رو داشته باشه – این فرق میکنه با این حالت که شما بعد از خرید سورس رو میدید نه کتابخانه رو ! در واقع منظور من از متن باز این بود.
            جالبه دقت نکرده بودم – فکر کردم ساختار spi همشون ۸ بیت یا ۱۶ بیته چون تو رم افزار کیوب تنظیمی برای ۹ بیت نداشت این فکر رو کردم به دیتاشیت مراجعه نکردم.
            من کلیپ نمایش دادم مشکلی نداره.

          3. Avatar for حسین حسین گفت:

            اتفاقا توی کیوب تنظیم 9 بیت برای میکروهای سری stmf0xx داره .
            البته ال سی دی ها کیفیتهای متفاوت دارن ولی من با ال سی دی خودم انمیشن یک مستطیل متحرک 100*50 پیکسل درست کردم که 40 میلی ثانیه بعد از رسم ،پاکش میکردم و بلافاصله با یک مقدار جابه جای دوباره رسمش میکردم و مرتب اینکار رو تکرار کردم . با اینکه سرعت رفرش صفحه 30 فریم در ثانیه بود و این مستطیل هم خیلی کوچکتر از کل صفحه بود ولی باز یک نویز سفید وسط مستطیل ظاهر میشد.
            راستی دستور خواندن رم تصویر توی این ال سی دی کار میکنه؟
            یکی از ال سیدی های من به این دستور هیچ واکنشی نشون نمیده و یکی دیگه از ال سیدیهام کامل سفید میشه !!!!

          4. Avatar for زئوس Zeus زئوس Zeus گفت:

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

  19. Avatar for javad javad گفت:

    در ضمن با تغییر کلاک میکرو هیچ تغییری تو سرعت نمایش ندارم با کیل کار میکنم

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

      چقدر فرکانس رو جابجا کردید
      قطعا تاثیر داره – شاید یک جای کار رو اشتباه انجام میدید

      1. Avatar for javad javad گفت:

        من تو کیل فرکانسو ده مگ میدم با 72 مگ سرعت ثابته

        1. Avatar for زئوس Zeus زئوس Zeus گفت:

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

  20. Avatar for javad javad گفت:

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

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

      منظورتون رو متوجه نشدم که گفتید نتونستید پیکسل ها رو کنترل کنید ؟
      پس چطور راه اندازی کردید ؟

      1. Avatar for javad javad گفت:

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

        1. Avatar for زئوس Zeus زئوس Zeus گفت:

          من مجددا کتابخانه رو چک کردم به خوبی کار میکرد و هیچ مشکلی نداشت
          مشکل شما احتمالا به موضوع دیگری برمیگرده

  21. Avatar for سینا سینا گفت:

    استاد زئوس اگه‌امکان داره در اخر پست یکم هم در مورد راه‌اندازی ای که با esp8266 انجام دادید بنویسید

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

      فکر کنم باید یه پست مجزا راجبش بنویسم – میذارم در دستور کار

      1. Avatar for سینا سینا گفت:

        ببخشید دوباره مزاحم میشم
        اینم یه لایبرری برای پایتون
        https://github.com/Muriukidavid/python-SPFD54124B

        1. Avatar for زئوس Zeus زئوس Zeus گفت:

          خواهش میکنم
          ممنون برای لینک های مفیدتون :))

  22. Avatar for سینا سینا گفت:

    سلام با احترام‌ فراوان 🙂
    استاد زئوس من چند تا‌‌ سوال برام پیش اومده
    وقتی ال سی دیو از‌ اردوینو جدا‌‌ میکردم ال سی دی پاک میشد
    سوالم اینه که ایا دیتا مرتبا ارسال میشه ؟ یا‌ دیتای ارسال به کنترلر ال سی دی‌‌ پس‌ از دریافت لچ میشه ؟
    کنترل ال سی دی چقدر از پردازش‌میکرو رو درگیر میکنه؟
    چون پروژه من یه‌ سیکل‌ بررسی شروط هم داره

    و از‌همه مهم تر چطوری داخل این کتابخونه که معرفی‌کردم مثل کتابخونه خودتون میشه پایه هارو عوض‌کرد؟
    و اینکه آیا کتابخونه پورت شده برای esp8266 کتابخونه اولیه یا دومیه؟
    با تشکر

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

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

  23. Avatar for سینا سینا گفت:

    این موردم به مدل 22 پین اضافه کنید لطفا
    Nokia 2865 cdma

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

      و البته اینو ؟

      1. Avatar for سینا سینا گفت:

        متوجه نشدم منظورتون چیه!

        1. Avatar for زئوس Zeus زئوس Zeus گفت:

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

          1. Avatar for سینا سینا گفت:

            بله نرم افزاری که میفرمایید Nokia LCD Finder هست منم دارمش
            من اینو از سایت پارس تل پیدا کردم
            از این سایت متمئنم چون تا حالا چند ده بار ازش جنس زیاد خریدم نه خراب بود و نه اشتباه
            بنده به حرفشون اطمینان دارم

          2. Avatar for زئوس Zeus زئوس Zeus گفت:

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

  24. Avatar for سینا سینا گفت:

    لطفا به لیست 12 پین این دو موردم اضافه کنید اینا هم هست
    Nokia 108
    Nokia 130 Single SIM

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

      اینا رو شما تست کردید ؟

      1. Avatar for سینا سینا گفت:

        نه بنده تست نکردم از دو تا‌فروشگاه و یک تعمیر کار‌پرسیدم گفت اینا رو به جای هم استفاده میکنیم
        در واقع یکسری‌ال سی دیا برای یه مدلاست و یک سریش هم برای‌ یه سری دیگه
        مثال‌میزنم
        اینا مال ژوئن ۲۰۱۰ به بعده
        Nokia X1-01
        Nokia 101
        Nokia C2-00
        Nokia C1-02
        Nokia 100
        Nokia 113
        Nokia 112
        Nokia 108
        Nokia 130 Single SIM
        و اینا یکم قدیمی تره
        Nokia 1661
        Nokia 1616
        Nokia 1662
        Nokia 1800
        Nokia 5030
        از ۲۰۰۹‌به قبل
        چیپ های کنترلر یکیه ولی سال تولید فرق‌ داره و یکم‌ هم تفاوت‌ در شکل‌ کلی‌ ال سی دی هست
        اون دوستمون هم که با ال سی دی c1 مشکل داشتن ال سی دیشون فیک بوده
        چون مدل c1 فیکش ۶ تا ۸ هزار‌تومان ارزون تره ولی شکلش با اصل‌مو نمیزنه تفاوتش داخل لیبل محافظ هست که اصلش اون قسمت قرمزش‌ بزرگ تره

        1. Avatar for زئوس Zeus زئوس Zeus گفت:

          چه جالب !!
          نکات خوبی رو گفتید – الان کدوم مدل ها توی بازار موبایل ایران گیر میآد که به لیست اظافه شون کنیم

          1. Avatar for سینا سینا گفت:

            تمام مدل های زیر با نام 1661 هستن تو بازار و اگه مدل دیگه‌ای بگید نمیشناسن و تا اونجایی‌که رفتم تو بازار و دیدم مدل تقلبی‌نداره و حدود ۱۸ تا ۲۲ تومنه که بستگی به مارک تولید کننده داره و قیافش با c1 فرق داره وولی همه مذل‌های زیر شکلشون یکسانه
            1661 Nokia
            1662 Nokia
            1616 Nokia
            5030 Nokia
            1800 Nokia
            و اما تمام مدل های زیر هم با نام c1-01 در بازار موجود هستند و طول کاورشون کمتره و مدل اصل و تقلبی‌دارن
            مدل اصل ۱۷ تا ۱۸ تومنه و تقلبی ۱۲ تومن
            Nokia C1-01
            Nokia C1-00
            Nokia C1-03
            Nokia X1-01
            Nokia 101
            Nokia C2-00
            Nokia C1-02
            Nokia 100
            Nokia 113
            Nokia 112
            Nokia 108
            Nokia 130 Single SIM
            فقط دقت کنید مدل تقلبی مارک پشتش بی کیفیته و سر قرمز‌ لیبلش کوچک تر و باریک تره
            حتما از جایی تهیه کنید که طرف‌خودش اینکاره باشه

          2. Avatar for سینا سینا گفت:

            و اما مدل ۲۲‌پین که اطلاعات زیادی ازش‌ندارم و لی همه مدل‌های زیر به اسم مدل 5200 معروفن و باید حدود ۷ تا ۸ تومن تقلبیش و ۱۴ تا ۱۸ هم اصلش باشه
            Nokia 5070
            Nokia 5200
            Nokia 6060
            Nokia 6061
            Nokia 6070
            Nokia 6080
            Nokia 6085
            Nokia 6086
            Nokia 6101
            Nokia 6102
            Nokia 6103
            Nokia 6125
            Nokia 6136
            Nokia 6151
            Nokia 7360
            Nokia 2865 cdma

          3. Avatar for زئوس Zeus زئوس Zeus گفت:

            ممنونم برای توضیحات کاملتون
            مناین توضیحات رو به پست (قسمت از کجا تهیه کنیم )اضافه کردم. برای کاربرهایی که میخوان تهیه کنن خیلی کمک کننده است.

  25. Avatar for سینا سینا گفت:

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

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

      سلام – فایل های هدرش رو توی گیت های گذاشتم
      https://github.com/Sisoog/Nokia-1616-1661-TFT-Library/tree/master/Hardware

      1. Avatar for سینا سینا گفت:

        از توجهتون تشکر میکنم 🙂

  26. Avatar for سینا سینا گفت:

    و برای تبدیل سطح منطقی هم از این دوم محصول میتونید استفاده کنید
    https://shop.aftabrayaneh.com/4_BIT_Bidirectional_Voltage_Level_Txb0104_Cjmcu__AFTAB.html?search=txb
    البطه این مورد برای فرکانسای خیلی بالا هست و اگر کارتون خیلی فریم داره استفاده کنید

    https://shop.aftabrayaneh.com/Converters/Logic_Converter/Logic_Level_Converter_2__AFTAB.html
    این یکی هم راه حل ارزان ولی اگه کارتون میخواید ارزون در بیاد همون مقاومت رو بزارید
    بنده قصد تبلیغ هیچ وبسایتی رو ندارم اگه پیدا کردید از فروشگاه نزدیک به خودتون بگیرید

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

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

      ممنون برای پیشنهادتون – ولی مقداری گرونه
      مقاومت من تست کردم به خوبی کار میکنه – البته شاید توی سرعت های بالا مشکل ساز بشه :/

  27. Avatar for سینا سینا گفت:

    دوستان توجه کنن که در کتابخانه Adafruit-SPFD54124B-master
    فایل Adafruit_SPFD54124B.h رو با نت پد باز کنید و مقدار پیش فرض این دو خط رو به این مقدا تعییر بدید
    #define SPFD54124B_LCDWIDTH 128
    #define SPFD54124B_LCDHEIGHT 160
    برنامه نویس تعدداد پیکسل رو دو سه پیکسل بیشتر کرده بود که در رسم مشکل درست میکرد
    یا حق 🙂

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

      ممنون – شما تست کردید کار میکنه ؟

      1. Avatar for سینا سینا گفت:

        بله دیشب تمام دستوراتو تست کردم به خوبی و کامل کار‌ میکنه فقط‌سرعت رفرش صفحش از ۱۰ فریم بالا تر نمیره که فکر میکنم همینطور که گفتید بخاطر اینه که spi native avr هشت بیتی هست
        متاسفانه دیگه‌ نمیتونم تست کنم ال سی دی ضربه خورد و پیکسلاش ریخت
        مدل تست شده مدل nokia 1661‌ اصل بود

        1. Avatar for زئوس Zeus زئوس Zeus گفت:

          چه خوب – بسیار عالی و ممنون برای وقتی که کذاشتید و اطلاعاتی که کامل کردید
          ممنونم

    2. Avatar for سینا سینا گفت:

      استاد اموزش فارسی نویسی هم بدید عالی میشه
      کلا‌ منظورم هم داخل lcd است هم داخل ترمینال اردوینو

      1. Avatar for زئوس Zeus زئوس Zeus گفت:

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

  28. Avatar for سینا سینا گفت:

    سلام دوستان عزیز مخصوصا استاد زئوس
    استاد ایا این اطلاعات و کتابخونتون از این آدرسه؟
    https://wiki.mcselec.com/bavr/Nokia_1616_display_library_-_128x160
    و اینکه استاد بزرگ بنده یه کتابخونه تو گیتهاب پیدا کردم که از Adafruit GFX هم ساپورت میکنه 🙂
    https://github.com/fire0shadow/Adafruit-SPFD54124B
    اگه امکان داره برا ESP8266 و ESP32 پورتش کنید بنده اصلا از ساخت و پورت کردن کتابخونه سر در نمیارم

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

      لینک اول بله درسته ولی لینک دوم رو الان میبینم
      واقعا عالیه :)) ممنون برای معرفی دیگه دوستان آردوینو مشکل نخواهد داشت 🙂
      برای esp8266 قبلا پورتش کردم و هنوز فرصت نشده که بذارمش توی سایت
      انشالله فرصت بشه میذارم

  29. Avatar for nima nima گفت:

    سلام بر زئوس عزیز
    من تازه از AVR به دنیای STM32 مهاجرت کردم قبلا با AVR این lcd رو راه اندازی کردم و الان میخام به STM32 هم همین کار رو انجام بدم.
    کامنت ها رو خوندم دوستان درباره کتابخانه STM32 صحبت کردن میخواستم بدونم زحمت این کتابخانه هم کشیدین یا اینکه چطور کتابخانه فعلی رو برای STM32 تبدیل کنم.
    تشکر از وقتی که می گدارید.
    من با keil کار میکنم.

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

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

      1. Avatar for nima nima گفت:

        سلام مجدد
        شما استاد ما هستید.
        با کد هایی که فرمودید کار کردیم و نتیجه نگرفتیم.(کلی error دریافت کردیم ) ):
        همچنان منتظر نشر کتابخانه توسط استاد عزیز هستیم.

        1. Avatar for زئوس Zeus زئوس Zeus گفت:

          سلام دوست عزیز
          بله حتما ، اجازه بدید امروز یا فردا منتشر میکنم کتابخونه رو برای STM32

          1. Avatar for nima nima گفت:

            خیلی خیلی ممنون
            فقط اگه با keil کار میکیند عالی میشه

          2. Avatar for زئوس Zeus زئوس Zeus گفت:

            سلام – خواهش میکنم ولی من keil ندارم و کد رو با GCC آماده میکنم
            البته فرقی نمیکنه و کتابخانه احتمالا بدون تغییر قابل استفاده است.

          3. Avatar for nima nima گفت:

            با عرض سلام خدمت دوست و استاد گرامی
            همچنان منتظر کتابخانه stm32 هستیم.
            خدا قوت

          4. Avatar for زئوس Zeus زئوس Zeus گفت:

            سلام دوست عزیز
            کتابخانه آپدیت شد و در حال حاظر قادر به پشتیبانی از STM32Fxx هست به علاوه بر این که با تمام کتابخانه های HAL/LL/SPL نیز قابل استفاده است.
            سمپل کد هم برای GCC روی گیت هاب قرار گرفت که به سادگی قابل استفاده بر روی Keil نیز می باشد.
            موفق باشید ِ در ضمن توضیحات پست هم آپدیت شد که توصیه میکنم مطالعه کنید.قسمت دانلود و راه اندازی کتابخانه lcd گرافیکی

          5. Avatar for nima nima گفت:

            سلام
            استاد طبق راهنمایی انجام دادم شد کلی ERRor :((
            لطفا در صورت امکان راهنمایی کنید.
            تشکر

            *** Using Compiler ‘V5.06 update 6 (build 750)’, folder: ‘C:\Keil_v5\ARM\ARMCC\Bin’
            Rebuild target ‘My Lcd Nokia 1616’
            assembling startup_stm32f103xb.s…
            compiling stm32f1xx_it.c…
            compiling stm32f1xx_hal_msp.c…
            compiling main.c…
            C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h(133): warning: #47-D: incompatible redefinition of macro “HSE_STARTUP_TIMEOUT” (declared at line 105 of “../Inc/stm32f1xx_hal_conf.h”)
            #define HSE_STARTUP_TIMEOUT ((uint16_t)0x0500) /*!< Time out for HSE start up */
            C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h(163): warning: #47-D: incompatible redefinition of macro "__MPU_PRESENT" (declared at line 69 of "../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h")
            #define __MPU_PRESENT 0 /*!< Other STM32 devices does not provide an MPU */
            C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h(165): warning: #47-D: incompatible redefinition of macro "__NVIC_PRIO_BITS" (declared at line 70 of "../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h")
            #define __NVIC_PRIO_BITS 4 /*!< STM32 uses 4 Bits for the Priority Levels */
            C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h(166): warning: #47-D: incompatible redefinition of macro "__Vendor_SysTickConfig" (declared at line 71 of "../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h")
            #define __Vendor_SysTickConfig 0 /*!< Set to 1 if different SysTick Config is used */
            C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h(175): error: #101: "NonMaskableInt_IRQn" has already been declared in the current scope
            NonMaskableInt_IRQn = -14, /*!< 2 Non Maskable Interrupt */
            C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h(176): error: #101: "MemoryManagement_IRQn" has already been declared in the current scope
            MemoryManagement_IRQn = -12, /*!< 4 Cortex-M3 Memory Management Interrupt */
            C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h(177): error: #101: "BusFault_IRQn" has already been declared in the current scope
            BusFault_IRQn = -11, /*!< 5 Cortex-M3 Bus Fault Interrupt */
            C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h(178): error: #101: "UsageFault_IRQn" has already been declared in the current scope
            UsageFault_IRQn = -10, /*!< 6 Cortex-M3 Usage Fault Interrupt */
            C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h(179): error: #101: "SVCall_IRQn" has already been declared in the current scope
            SVCall_IRQn = -5, /*!< 11 Cortex-M3 SV Call Interrupt */
            C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h(180): error: #101: "DebugMonitor_IRQn" has already been declared in the current scope
            DebugMonitor_IRQn = -4, /*!< 12 Cortex-M3 Debug Monitor Interrupt */
            C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h(181): error: #101: "PendSV_IRQn" has already been declared in the current scope
            PendSV_IRQn = -2, /*!< 14 Cortex-M3 Pend SV Interrupt */
            C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h(182): error: #101: "SysTick_IRQn" has already been declared in the current scope
            SysTick_IRQn = -1, /*!< 15 Cortex-M3 System Tick Interrupt */
            C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h(185): error: #101: "WWDG_IRQn" has already been declared in the current scope
            WWDG_IRQn = 0, /*!< Window WatchDog Interrupt */
            C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h(186): error: #101: "PVD_IRQn" has already been declared in the current scope
            PVD_IRQn = 1, /*!< PVD through EXTI Line detection Interrupt */
            C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h(187): error: #101: "TAMPER_IRQn" has already been declared in the current scope
            TAMPER_IRQn = 2, /*!< Tamper Interrupt */
            C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h(188): error: #101: "RTC_IRQn" has already been declared in the current scope
            RTC_IRQn = 3, /*!< RTC global Interrupt */
            C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h(189): error: #101: "FLASH_IRQn" has already been declared in the current scope
            FLASH_IRQn = 4, /*!< FLASH global Interrupt */
            C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h(190): error: #101: "RCC_IRQn" has already been declared in the current scope
            RCC_IRQn = 5, /*!< RCC global Interrupt */
            C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h(191): error: #101: "EXTI0_IRQn" has already been declared in the current scope
            EXTI0_IRQn = 6, /*!< EXTI Line0 Interrupt */
            C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h(192): error: #101: "EXTI1_IRQn" has already been declared in the current scope
            EXTI1_IRQn = 7, /*!< EXTI Line1 Interrupt */
            C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h(193): error: #101: "EXTI2_IRQn" has already been declared in the current scope
            EXTI2_IRQn = 8, /*!< EXTI Line2 Interrupt */
            C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h(194): error: #101: "EXTI3_IRQn" has already been declared in the current scope
            EXTI3_IRQn = 9, /*!< EXTI Line3 Interrupt */
            C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h(195): error: #101: "EXTI4_IRQn" has already been declared in the current scope
            EXTI4_IRQn = 10, /*!< EXTI Line4 Interrupt */
            C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h(196): error: #101: "DMA1_Channel1_IRQn" has already been declared in the current scope
            DMA1_Channel1_IRQn = 11, /*!< DMA1 Channel 1 global Interrupt */
            C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h(197): error: #101: "DMA1_Channel2_IRQn" has already been declared in the current scope
            DMA1_Channel2_IRQn = 12, /*!< DMA1 Channel 2 global Interrupt */
            C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h(198): error: #101: "DMA1_Channel3_IRQn" has already been declared in the current scope
            DMA1_Channel3_IRQn = 13, /*!< DMA1 Channel 3 global Interrupt */
            C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h(199): error: #101: "DMA1_Channel4_IRQn" has already been declared in the current scope
            DMA1_Channel4_IRQn = 14, /*!< DMA1 Channel 4 global Interrupt */
            C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h(200): error: #101: "DMA1_Channel5_IRQn" has already been declared in the current scope
            DMA1_Channel5_IRQn = 15, /*!< DMA1 Channel 5 global Interrupt */
            C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h(201): error: #101: "DMA1_Channel6_IRQn" has already been declared in the current scope
            DMA1_Channel6_IRQn = 16, /*!< DMA1 Channel 6 global Interrupt */
            C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h(202): error: #101: "DMA1_Channel7_IRQn" has already been declared in the current scope
            DMA1_Channel7_IRQn = 17, /*!< DMA1 Channel 7 global Interrupt */
            C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h(249): error: #101: "ADC1_2_IRQn" has already been declared in the current scope
            ADC1_2_IRQn = 18, /*!< ADC1 and ADC2 global Interrupt */
            C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h(250): error: #101: "USB_HP_CAN1_TX_IRQn" has already been declared in the current scope
            USB_HP_CAN1_TX_IRQn = 19, /*!< USB Device High Priority or CAN1 TX Interrupts */
            C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h(251): error: #101: "USB_LP_CAN1_RX0_IRQn" has already been declared in the current scope
            USB_LP_CAN1_RX0_IRQn = 20, /*!< USB Device Low Priority or CAN1 RX0 Interrupts */
            C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h(252): error: #101: "CAN1_RX1_IRQn" has already been declared in the current scope
            CAN1_RX1_IRQn = 21, /*!< CAN1 RX1 Interrupt */
            ../Src/main.c: 4 warnings, 30 errors
            compiling nokia1661_lcd_driver.c…
            compiling stm32f1xx_hal_rcc_ex.c…
            compiling stm32f1xx_hal_pwr.c…
            compiling stm32f1xx_hal_gpio_ex.c…
            compiling stm32f1xx_hal_tim.c…
            compiling stm32f1xx_hal_gpio.c…
            compiling stm32f1xx_hal_flash.c…
            compiling stm32f1xx_hal_flash_ex.c…
            compiling stm32f1xx_hal_rcc.c…
            compiling stm32f1xx_hal_tim_ex.c…
            compiling stm32f1xx_hal_cortex.c…
            compiling stm32f1xx_hal.c…
            compiling stm32f1xx_hal_dma.c…
            compiling system_stm32f1xx.c…
            "My Lcd Nokia 1616\My Lcd Nokia 1616.axf" – 30 Error(s), 4 Warning(s).
            Target not created.
            Build Time Elapsed: 00:01:53

          6. Avatar for زئوس Zeus زئوس Zeus گفت:

            سلام
            ببخشید که دیر دارم جواب میدم
            تا اونجا که دارم خطا ها رو میخونم متوجه شدم خطا ها مربوط به کتابخانه های خود st‌ هست نه کتابخانه مورد استفاده در lcd :/

  30. Avatar for علی علی گفت:

    سلام من تمام کد ها و کتابخانه ها را به آردوینو اضافه کردم ولی در کتابخانه nokia1661_lcd.h به این خط ایراد میگیره::
    uint8_t nlcdGetWidth();
    متن ایرادش هم اینه:
    exit status 1
    expected ‘,’ or ‘…’ before ‘or’ token
    خیلی دستکاریش کردم ولی بازم درست نشد.

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

      خوب الان خطایی که داره میده میتونه مربوط به این خط نباشه و مربوط به خط های قبلی هم باشه ؛ آیا سیمیگولن ها درست رعایت شده توی کد ؟
      در ضمن کتابخونه رو برای arduino سری های AVR پورت کردم که از قسمت دانلود می تونید دانلود کنید به همراه مثال 🙂

  31. Avatar for علی علی گفت:

    سلام من کد رو در کدویژن اجرا می کنم اما این خطا رو به من میده:
    Error: C:\Users\ALI\Desktop\codevision code\codevision code.c(70): function argument #2 of type ‘flash unsigned char *’ is incompatible with required parameter of type ‘const unsigned char *’
    باید چیکارش کنم؟؟
    ممنون.

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

      سلام دوست عزیز
      قبلا که اشاره کردم const رو به مقدار flash تغییر بدید ، حتی توی ورودی های تابع

    2. Avatar for زئوس Zeus زئوس Zeus گفت:

      این خطا داره میگه به تابعی که ورودیش const unsigned char است نمی تونید ورودی flash unsigned char بدید
      کدویژنه دیگه ! توصیه میکنم از کدویژن استفاده نکنید
      با این حال برای رفع این ایراد میتونید ورودی تابع رو به flash unsigned char تغییر بدید

  32. Avatar for علی علی گفت:

    سلام اگه بخوام اینو با آردوینو راه بندازم چیکار باید بکنم

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

      سلام دوست عزیز
      خوب به سادگی میتونید کتابخونه ها رو به آردوینو اضافه کنید بدون کوچک ترین تغییری
      چون همونطور که میدونید آردوینو هم از gcc استفاده میکنه

  33. Avatar for هادی هادی گفت:

    با سلام…
    من سعی کردم کتابخانه رو در کدویژن اجرا کنم، اما به این خط ایراد میگیره،
    امکانش هست راهنمایی بفرمایید.
    const unsigned int *list = &_lcd_init_list[0];

    با این پیغام :
    Error: \nokia1661_lcd_driver.c(211): a value of type ‘flash unsigned int *’ can’t be assigned to an entity of type ‘unsigned int’
    با تشکر

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

      سلام
      در تعریف متغییر _lcd_init_list (خط 173) واژه const رو به flash تغییر بدید.
      در خط 194 نیز این کار رو تکرار کنید. 🙂

  34. Avatar for reza reza گفت:

    با عر ض سلام و خسته نباشید خدمت عوامل سیسوگ.
    مهندس با این پروژه میشه تاریخ و زمان رو باجزئیات نمایش داد،امتحان کردین.

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

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

  35. Avatar for reza reza گفت:

    سلام مجدد،برای استفاده در stm32باید کدوم قسمت هارو تغیر بدم.

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

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

  36. Avatar for reza reza گفت:

    با سلام و درود،ممنونم از مطلب مفیدتون،قربان خواستم بدونم میشه از ال سی دی ۱۰۵ هم استفاده کرد.

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

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

  37. Avatar for مبین مبین گفت:

    سلام – اصلا با آردویینو همخونی نداره – چ کنم من عزیز ؟

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

      منظورتون از این که همخوانی نداره چیشه ؛
      اگر از آردوینو AVR استفاده میکنید احتمالا مشکلی نخواهید داشت ولی برای دیگر انواع اون احتمالا به مشکل میخورید.
      اگر منظورتون رو متوجه بشم میتونم بهتر کمکتون کنم

  38. Avatar for حسین حسین گفت:

    سلام . مرسی بابت زحمتی که کشیدید.
    من ال سی دی 1661رو با avrاستفاده از کتابخانه شما راه انداختم ولی با فرکانس بالاتر از 4 مگاهرتز چیزی نشون نمیده و برای فرکانس 4 مگاهرتز یا کمتر . نوشته ها رو مینوسه ولی مستطیل وسط تصویر رو رسم نمیکنه. به خاطر نوع دستورات کتابخانه ست که با بیشتر از 4 مگ جواب نمیده یا علت دیگه ای داره ؟

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

      منظورتون از فرکانس 4 مگاهرتز – فرکانس میکرو هست یا فرکانس باس ؟
      من این LCD رو با فرکانس 8 مگاهرتز روی باس راه اندازی کردم (80 مگ فرکانس کنترلر)
      پس احتمالا مشکل سخت افزاری دارید شاید :/

      1. Avatar for حسین حسین گفت:

        سلام .
        فرکانس میکرو 4 مگاهرتز هست که با avr راه انداختم . البته علتش رو الان فهمیدم . اون مقاومتها اجازه نمیداد با فرکانس بالاتر کار کنه . مقاومتها رو برداشتم و میکرو رو بهV 3.3 وصل کردم درست شد .
        ولی بدون مقاومتها باز هم اون مربع وسط صفحه رو رسم نمیکنه . ولی باsetwindow و nlcdpixels یک خط افقی بدون مشکل رسم شد . با خودم گفتم شاید تایمینگ مشکل داشته باشه ،برا ی همین دیتا شیت رو نگاه کردم ولی
        به متوجه مشکلی در تایمینگ نشدم . هنوز هم اون حلقه های for خطی رسم نمیکنن . به نظر میاد برای اجرای دستور
        for( i=0;i<32;++i)
        nlcdPixel(64+i,64,LCD_VGA_RED);
        حساب مشکل داره حتی با کلاک پایین(1 مگاهرتز) . البته ال سی دی که خریدم متعلق به نوکیا 1661 هست و هیچ نام و نشان یا سریال یا چیز خاصی روش ننوشته بود .( ارزون و خدامیدونه چیه )ولی تمام کامندها رو اجرا میکنه.
        به نظر شما علتش چی میتونه باشه که دستور زیر حلقه for رو اجرا نمیکنه ؟

        1. Avatar for زئوس Zeus زئوس Zeus گفت:

          خیلی جالبه ؛ نباید اینطور باشه چون برای رسم نوشته هم از تابع nlcdPixel استفاده میشه 😐 ؛ تازه از خود شما تونیسید خط رسم کنید که دیگه نباید هیچ مشکلی وجود داشته باشه
          فایل هگز که قرار دادم رو تست کنید اگر اون رسم کرد ؛ نتیجه میگیریم که تنظیمات کامپایلر شما احتمالا متفاوت باشه
          با چی کامپایل میکنید برنامه رو ؟

          1. Avatar for حسین حسین گفت:

            با سلام مجدد.
            از فایلهای هگز استفاده نکردم چون مال آردوینو هستند . من کتابخانه رو روی atmega8 پیاده کردم . کمپایلرم avr gcc هست .( winavr) اپتیمایز هم به طور پیشفرض روی s هست . از همون مثالی که محبت کرده بودید و داخل کتابخانه قرار داده بودید استفاده کردم . الان که دارم این پیام رو برای شما مینویسم ، نسخه arm gcc این کتابخونه برای stm32 آماده شده ، توی این هم کار نمیکنه( کمپایلر آرم هیچ بهینه سازی انجام نمیده ) به نظر نماد مشکل از کمپایلر باشه . و جالب اینجاست که قسمت نمایش مربع برای avr توی پروتیوس کار میکنه .

          2. Avatar for زئوس Zeus زئوس Zeus گفت:

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

          3. Avatar for حسین حسین گفت:

            سلام جناب زئوس .
            این کامنت مربوط چند کامنت بعد از این میشه ولی چون لینک پاسخ فعال نشده بود !! در ادامه این کامنت نتیجه رو میگم .
            مشکل عدم نمایش خطوط از پر شدن پشته نبود . چون روی stm32 با 16k رم هم جواب نمیداد .مشکل از کتابخانه بود .
            توی کتابخانه ای که دانلود کردم .تابع nlcdpixel اینجوری تعریف شده :
            void nlcdPixel(uint8_t x, uint8_t y,rgb_color16bit color)
            {
            _nlcdCmd1616(SPFD54124B_CMD_CASET, x, x+1); // column start/end
            _nlcdCmd1616(SPFD54124B_CMD_RASET, y, y+1); // page start/end
            _nlcdSendCmd(SPFD54124B_CMD_RAMWR); // RAMWR
            _nlcdSendData(color >> 8);
            _nlcdSendData(color & 0xFF);
            }
            در حالی که بعد از این که به شکل زیر اصلاحش کردم .( لطفا به اونجا که مادیر x , y تنظیم شدن نگاه کنید)
            void nlcdPixel(uint8_t x, uint8_t y,rgb_color16bit color)
            {
            _nlcdCmd1616(SPFD54124B_CMD_CASET, x, x); // column start/end
            _nlcdCmd1616(SPFD54124B_CMD_RASET, y, y); // page start/end
            _nlcdSendCmd(SPFD54124B_CMD_RAMWR); // RAMWR
            _nlcdSendData(color >> 8);
            _nlcdSendData(color & 0xFF);
            }
            ممکنه ال سی دی من کمی تفاوت داشته باشه که با فرم قبلی تابع چیزی ارسال نمیشد . ولی این تابع اصلاح شده با منطق تابع setwindow _ هماهنگ تر هست .
            مرسی وقت گذاشتید .

          4. Avatar for زئوس Zeus زئوس Zeus گفت:

            بله بسیار عالی ؛ خیلی خوشحالم که مشکل رو پیدا کردید ؛ دقیقا به نکته خوبی اشاره کردید و اون هم مدل کنترلر LCD است ؛
            البته من کد شما رو با کنترلر خودم تست میکنم اگر اوکی بود ؛ کلا کد رو به این شکل تغییر میدم که دیگر دوستان دچار مشکل نشوند.
            متشکرم برای این که تجربیاتتون رو در اختیار ما قرار می دهید.
            براتون آرزوی موفقیت دارم.

          5. Avatar for حسین حسین گفت:

            مرسی لطف دارید.

  39. Avatar for حامد حامد گفت:

    سلام
    LCD گوشی C2-05 هم میشه به همین شکل راه انداخت؟

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

      سلام دوست عزیز
      در مورد این LCD اطلاع ندارم ، واقعا باید تستش کرد.

  40. Avatar for محسن محسن گفت:

    با سلام و وقت بخیر و تشکر از مقاله خوبتون
    یه سوال داشتم اینه که جوری میشه درایور یک lcd مربوط به گوشی ها رو فهمید چون تو شماتیک های خود نوکیا هیچ چیزی در مورد مدل LCD نگفته
    با تشکر

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

      سلام ؛ والا قدیم یه نرم افزاری بود که میگفت درایورشون چی هست ؛ یا کدوم lcd گوشی به کدوم میخوره
      اونطور میشد درایورشون رو فهمید که چیه ؛ ولی هرچی میگردم پیداش نمیکنم متاسفانه ؛ قضیه مروبط به هفت هشت سال پیشه ؛
      مویابلی ها داشتند نرم افزاره رو

      1. Avatar for محسن محسن گفت:

        ممنون از پاسخگویی

        1. Avatar for زئوس Zeus زئوس Zeus گفت:

          خواهش میکنم دوست عزیز.

      2. Avatar for محسن محسن گفت:

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

        1. Avatar for زئوس Zeus زئوس Zeus گفت:

          سلام دوست عزیز
          سایت زیر رو ببینید ؛ چند مدل lcd رو هک کرده گذاشته ؛ یه برد جنرال هم برای هک طراحی کرده که اونم گذاشته ؛ شاید جواب سوالتون رو اونجا پیدا کنید
          Nokia LCD Hack

          1. Avatar for محسن محسن گفت:

            ممنون از لطفتون سایت خیلی خوبیه با تشکر از شما

          2. Avatar for زئوس Zeus زئوس Zeus گفت:

            خواهش میکنم دوست عزیز 🙂

  41. Avatar for علیرضا اکبری علیرضا اکبری گفت:

    سلام ممنون از اطلاعات با ارزشی که در سایت قرار داده اید لطفا برای lcd nokia 5200 22pin شماتیک تصویری پایه های سوکتی قرار دهید با تشکر فراوان

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

      سلام و درود دوست عزیز
      متاسفانه روش هک این lcd موجود نیست

  42. Avatar for akam akam گفت:

    سلام آیا امکانش هست که روی این السیدی آیکون و‌عکس نشون داد؟
    دستوری برای نمایش عکس در کتابخونه وجود داره؟
    برای استفاده در کدویژن نیاز به بازبینی داره؟

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

      بله کاملا همچین امکانی وجود داره ؛ احتمالا باید توابع مورد استفاده رو خودتون بنویسید ؛
      امم فکر میکنم برای کدویژن استفاده از این کتابخونه نیاز هست قسمت هایی از کد بازبینی بشه – چیزی در حدود دو سا 4 سطر بیشتر به بازبینی نداره و بازبینیش هم کار ساده ای خواهد بود.
      اگر سوالی بود در خدمتم

      1. Avatar for akam akam گفت:

        سلام ممنون از پاسخگویی
        بنده همینجوری فایل هار وارد کدویژن کردم کامپایل زدم یه چندتا ارور داد
        کتابخونه( avr/pgmspace)
        چه کتابخونه ای؟ کلا تا حالا ندیدمش
        لطف میکنید در مورد دستور
        #define SBI(port,bit) asm(“sbi %0, %1” : : “I” (_SFR_IO_ADDR(port)), “I” (bit))
        بیشتر توضیح بدید چیز زیادی ازش نفهمیدم نظراتم حوندم
        🙂 اگه حدودا بگید کدوم بخشها به ویرایش نیاز داره ممنون میشم

        1. Avatar for akam akam گفت:

          pgmspace این کتابخونه برای دسترسی به حافظه س
          الان چندجای دیگه به struct ها ارور گرفته فک کنم کلا نحوه نوشتنش تو کدویژن فرق میکنه درسته؟؟

          1. Avatar for زئوس Zeus زئوس Zeus گفت:

            خطایی رو که میده بدید تا بتونم بررسی کنم

        2. Avatar for زئوس Zeus زئوس Zeus گفت:

          سلام ؛ خوب کتایخونه pgmspace برای خوندن مقدار نوشته شده روی حافظه است ؛ تو کدویژن چون دسترسی به فلش مستقیمه ؛ میتونید از * استفاده کنید.
          اون دستور اسمبی هست برای صفر یا یک کردن یه پورت خاص هست میتونید اونو با مثلا PORTA.5=1 جابجا کنید.

          1. Avatar for akam akam گفت:

            سلام
            به ()cs_clr
            ()clk_set
            ()cs_set
            ()sda_set
            ()rst_clr
            در کدویژن ایراد میگیره و‌میگه تعریف نشدن
            تو فایلای کتابخونه م گشتم همچین دستوراتی نوشته نشده
            میدونین مشکل از کجاست؟

          2. Avatar for زئوس Zeus زئوس Zeus گفت:

            اوپس بله ؛ واقعا چه انتظاری از Codevision دارید ؛ توی کد این توابع بع شکل زیر تعریف شدن

            #define LCD_PIN_FUNC(a, b) \
            void _ ## a ## _set() { SBI(LCD_PORT,(LCD_ ## b)); } \
            void _ ## a ## _clr() { CBI(LCD_PORT,(LCD_ ## b)); }

            LCD_PIN_FUNC(rst, RST)
            LCD_PIN_FUNC(cs, CS)
            LCD_PIN_FUNC(sda, SDA)
            LCD_PIN_FUNC(clk, CLK)

            ولی از اونجایی که کدویژن فیوژن رو پشتیبانی نمیکنه باید دستی توابع رو دونه دونه تعریف کنید ؛ از اسم توابع عملکرد اونا مشخصه 🙂
            اگر سوالی بود بفرمایید

      2. Avatar for علیرضا علیرضا گفت:

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

        1. Avatar for zeus zeus گفت:

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

  43. Avatar for وحید وحید گفت:

    سلام من ال سی دی گوشی 5700 دارم آیا میشه با این برنامه راه اندازی بشه ممنون از زحمتتون

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

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

  44. Avatar for عقیل عقیل گفت:

    سلام
    یه سوال میخام پی سی بی ال سی دی رو با روش اتو بزنم‌ لازم نیست که هنگام چاپ روی کاغذ کلاسه miror
    کنم ؟ یعنی مثل لایه باتوم بردای دیگه که با اتو میزنن

    1. Avatar photo electronic girl گفت:

      سلام دوست عزیز
      اگه PCB را برای لایه Bottom میزنین باید Mirror کنین ولی اگه بخواین لایه Top باشه نیازی به Mirror نیست.
      موفق باشین

  45. Avatar for javad javad گفت:

    ربطش تو اینه ک تست کردم و همون ال سی دی رنگیه رو 1280 جواب داد واسه خودمم عجیب بود ولی خب شد دیگه تصویرش منتها چون پیکسلاش ریز تره کوچیکتره|
    ممنون بابت زحماتتون

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

      بله واقعا جالبه ؛ ولی بعید نیست ؛ معمولا کنترلر های LCD قابلیت اینو دارند که بتونید آیدیشون رو بخونید و بر این اساس نوعش رو تشخصی بدید ؛ احتمالا شرکت نوکیا ؛ درایور LCD که استفاده میکنه این قابلیت رو داره که به صورت خودکار این کار رو انجام بده و نوع lcd رو تشخص بده و بر این اساس کار کنه !
      اما یه سوال مطزح میشه و اون این که آیا تصویر درست بود ؟ – منو ها سرجاشون بودن ؟

      1. Avatar for javad javad گفت:

        تصویر هیچ مشکلی نداشت کاملا صحیح

  46. Avatar for javad javad گفت:

    یکی نیس جواب مارو بده پدرمون درومد!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

    1. Avatar for javad javad گفت:

      شرمنده جواب داده بودید من متوجه نشدمدوباره کامنت گذاشتم

      1. Avatar for زئوس Zeus زئوس Zeus گفت:

        خواهش میکنم دوست عزیز

    2. Avatar for زئوس Zeus زئوس Zeus گفت:

      خوب یه مدت نبودیم ؛ از حالا هستیم 🙂

  47. Avatar for javad javad گفت:

    خوااااااااااااااااااااااهشا راهنمایی کنید)))))))))))))))))))))))):

  48. Avatar for javad javad گفت:

    الان دوباره با سورس همون 1280 هم تست کردم کار نمیکنه ):

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

      متوجه نمیشم چه مدل LCD تهیه کردید ؟ اگر LCD1280 تهیه کرده باشید نبایدم کار کنه خوب :/

      1. Avatar for javad javad گفت:

        هرجوری تست میکنم جواب نمیده مطمعنید کتابخونه مشکلی نداره چون همه توابع رو کامنت کردم فقط اینیشیال رو گذاشتم ولی با اجرای فقط همین تابع تمام پینها یک میشن موقعیم ک توابع دیگه درحال جرا شدنه پایه cs یک هستش مگه موقع نوشتن نباید صفر شه توی تابع اینیشیال هم اینواول نوشته بودید
        // write 1 to rst and cs
        LCD_PORT |= (1 << LCD_RST) | (1 << LCD_CS) | (1 << LCD_SDA);
        کامنت با خطوط نمیخونه واسه همین کلا به کتابخونه شک کردم

        1. Avatar for زئوس Zeus زئوس Zeus گفت:

          کتابخونه که درسته ؛ بارها تست کردم مشکلی نداره ؛ با لاجیک آنالیزر پایه ها رو بررسی کنید.
          فکر میکنم LCD رو اشتباه تهیه کرده باشید یا این که اتصالات مشکل داره
          واقعا اینقدر چیز پیچیده ای نیست

          1. Avatar for javad javad گفت:

            حالا گیریم اینو اشتباه من گرفتم البته مدل 20 پین هم تهیه کردم کردم که فعلا باید کچل کنم و وقت نیس تست کنم من یه مدل ال سی دی داشتم اونم نوکیا بود ظاهرش شبیه همین 1661 هست پیناشم همین شکلیه خیلی اتفاقی چون دیدم پیناش شبیه به ال سی دیه 1280 (نوکیا ساده های خودمون) اومدم وصلش کردم به این گوشی در کمال تعجب تصویرش بالا اومد در حالی که اون اصلا صفحش رنگی نیس !
            یه کد برای ال سی دی 1280 پیدا کردم که فونت فارسی همه چی داشت تستم کردم اوکی بود ولی این رنگیرو که تست کردم جواب نمیداد نمیدونید دلیلش چی میتونه باشه؟
            واضح ترش اینجوری که دوتا ال سی دی روی یه موبایل جواب میده ولی با میکرو فقط یکیش جواب میده!!!

          2. Avatar for زئوس Zeus زئوس Zeus گفت:

            من الان متوجه منظور شما نمیشم واقعا ؛ LCD 1661 چه ربطی به 1280 داره ؛ یکی رنگی و یکی تک رنگ تازه رزولوشنونم فرق میکنه خوب :/
            این که آیدی بشه چیپ رو شمارش رو خوند ، بله امکان داره ؛ توی کتابخونه امکانش رو گذاشتم ؛ البته اگر پایه ها رو درست وصل کرده باشید ؛ شما از فایل هگزی که قرار دادیم و همون مدل میکرویی که استفاده کردیم دقیقا استفاده کنید ببینید جواب میگیرد یا نه ؛ اگر همین مداری که بستیم جواب نداد ؛ بدونید و مطمین باشید مدل LCD شما با اون چیزی که معرفی کردیم فرق داره

  49. Avatar for javad javad گفت:

    سلام اقا من اینو تو همون اتمل بدون تغییرات واسه مگا هشت کامپایل کردم فرکانسم یک مگ وار نمیکنه دیتا رو پورت هست چک کردم ولی چیزی نمایش داده نمیشه درضمن من همین ال سی دی رو به موبایل وصل کردم(1280) کار میکرد تصویرو گوشه صفحه کامل نشون میدادواسه همین شک کردم ک درایورش اونی ک شما گفتی باشه

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

      خوب چند تا نکنه ؛ اول این که ولتاژ میکرو چند ولته ؟ دقت دارید که LCD 3.3 ولت هستش ؟
      دوم این که خوب گوشی Nokia 1280 نمایشگرش با این نمایشگری که ما کدش رو گذاشتیم فرق میکنه خوب 😐

      1. Avatar for javad javad گفت:

        ولتاژ همون 3.3 دادم شما با چه کامپایلری اینو تست کردید
        راجب اون 1280 هم من همین السیدی رو روی نوکیا 1280 وصل کردم تصویر داشت(عجیب اما واقعی)
        من اینو از علاالدین گرفتم پشتشم نوشته 1661

        1. Avatar for زئوس Zeus زئوس Zeus گفت:

          کامپایلر که از GCC استفاده کردم دوست عزیز
          شما میتونید از اتمل استودیو برای کامپایل استفاده کنید
          آیا شکل ظاهریش با عکسی که از LCD گذاشتیم هم خوانی نداره ؛ آیا بک لایتش روشن میشه ؟

          1. Avatar for javad javad گفت:

            به شکل ظاهری نمیشه اکتفا کرد مدلهای دیگه دیدم ک شباهتی بهم نداشتن ولی برای یک موبایل استفاده میشدن

          2. Avatar for javad javad گفت:

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

          3. Avatar for زئوس Zeus زئوس Zeus گفت:

            خیر متاسفانه راهی نداره

  50. Avatar for حسین حسین گفت:

    سلام وقت بخیر
    آیا اطلاعاتی در زمینه راه اندازی lcd nokia c5-00 و سامسونگ s3802 وجود دارد؟ با تشکر

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

      در مورد مدل LCD نوکیا این مدل LCD مثل نمایشگر های گوشی های
      Nokia 7020, Nokia X2-00, Nokia X2-02, Nokia X2-05, Nokia X3-00, Nokia 2710N
      است ، ببینید درایوری راه اندازی برای یه کدوم پیدا میکنید یا نه
      در ضمن نمایشگر 6300 هم قبلا راه اندازی کردند شاید بدردتون بخوره

  51. Avatar for احمد احمد گفت:

    سلام
    اولا تشکر از مقاله عالیتون.
    یه سوال برام پیش اومد شما چه طور به این نتیجه رسیدید که درایور این ال سی دی چیه؟
    می خوام ماهیگیری هم یاد بگیرم.
    خودم الان دنبال یه مدل ال سی دی 3 اینچ به بالا می گردم ولی موندم از کجا به اطلاعات درایورهای این گونه ال سی دی ها دسترسی داشته باشم؟
    سایت خاصی هست؟

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

      سلام دوست عزیز
      خوب البته خوشحالیم که چنین دیدگاهی دارید!
      برای پیدا کردن شماره کنترلر چند تا راه میشناسم ؛ اول جستجو توی گوگل ؛ دوم توی نقشه های گوشی معمولا شماره رو می نویسند ؛ سوم میتونید از همسانی LCD های مدل های مختلف استفاده کنید
      یادمه یه نرم افزاری بود که مدل گوشی رو میزدی توش میگفت کدوم گوشی ها میتونند از همین lcd استفاده کنند

      1. Avatar for احمد احمد گفت:

        سلام مجدد
        تشکر به خاطر پاسختون.
        بنده به عنوان مثال دنبال درایور برای گوشی سامسونگ LCD SAMSUNG WAVE723 – S7230 رفتم:
        https://www.gsmarena.com/samsung_s7230e_wave_723-3493.php
        ابعاد گوشی مناسب کار بنده هست.
        توی اینترنت دنبال راهنمای تعمیرش گشتم که به مورد زیر برخورد کردم:
        http://s8.picofile.com/file/8348484768/aa.jpg
        روی کانکتور نوشته شده “hea600” اما دیگه به نتیجه ای نرسیدم.
        امکان داره راهنمایی کنین چیکار کنم؟

        1. Avatar for زئوس Zeus زئوس Zeus گفت:

          سلام
          منم هرچه گشتم چیزی پیدا نکردم نه منولی ونه شماره ای و حتی سمپل راه اندازیی ؛ این کار رو سخت میکنه و حتی میشه گفت غیر ممکن
          حالا از این موضوع که بگذریم پایه های این LCD خیلی چالش بر انگیر هست

          1. Avatar for احمد احمد گفت:

            ممنون بابت وقتی که گذاشتین…
            یه جورایی خوشحال شدم (فکر کردم بنده مشکل دارم یا بد جسنجو کردم)… 🙂
            شما موردی برای ال سی دی های سایز 3 یا 4 سراغ ندارین بریم تو نخش؟
            در مورد پایه های این ال سی دی خود هم شک افتادم

          2. Avatar for زئوس Zeus زئوس Zeus گفت:

            خواهش میکنم دوست عزیز
            ببینید از این نمایشگرهایی که توی سایت زیر راه اندازی شده چیزی بدردتون میخوره
            http://andybrown.me.uk

            LG KF700
            Sony Ericsson U5
            و….

  52. Avatar for امیر امیر گفت:

    سلام ممنون از زحمتی که کشیدید
    من در مورد lcd c1 مشکل دارم که فکر میکنم شبیه مال شماست. من اول دوتا دونه از پاساژ علاالدین خریدم و راه انداختم وکار کرد.ولی بعد که دوباره رفتم تموم کرده بود و بناچار از دو جای دیگه خریدم که دو مدل مختلف بود . هر دو مدل انگار که فرمت سایز پکت دیتا اشتباه باشد اشکال ترسیمی را کوچکتر و یا بزرگتر رسم میکند وفونت هم در هم ریخته نمایش میدهد.و قابل استفاده نیستند.ناچارا دوباره رفتم واز دو مغازه دو مدل مختلف دیگه خریدم.این دفعه یک مدل بدون مشکل کار کرد وباز یک مدل دقیقا مثل دو تای اول خراب نمایش میدهد.احتمالا کنترلر آنها کمی فرق دارد.
    آیا شما هم به این مشکل برخورده اید یا ایده ای یا نظری برای حل دارید؟

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

      سلام دوست عزیز ؛ نه خوشبختانه من مشکلی نداشتم ؛ من سه سری تهیه کردم و همه سری ها به خوبی کار می کنند ؛ برای این که بشه بهتر بررسی کرد ؛ لطف کنید عکس با کیفیت از LCD ها تهیه کنید و خطایی که مشاهده میکنید تا بشه بهتر بررسی کرد.

        1. Avatar for زئوس Zeus زئوس Zeus گفت:

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

          1. Avatar for امیر امیر گفت:

            سلام
            من از STM32F103 استفاده میکنم .قبلا با گذاشتن دیلی تست کردم ولی فایده ای نداشت مشکل با کلاک نیست بلکه بنظر پیکر بندی کنترولر کمی فرق دارد که دایره تبدیل به بیضی می شود ولی رنگ و بعضی چیزها درست است
            با تشکر

          2. Avatar for زئوس Zeus زئوس Zeus گفت:

            سلام دوست عزیز
            من به کتابخانه تابع _nlcdRead رو اضافه کردم که با استفاده از اون می تونید آیدی کنترلر و رجیستر استاتوس رو بخونید
            در ضمن دیتاشیت کنترلر رو هم به گیت اضافه کردم ؛ مراحل init رو بررسی کنید ؛ شاید توی کدی که نوشتم چیزی رو جا انداختم
            آخرین ورژن رو از گیت میتونید دانلود کنید.

  53. Avatar for علی علی گفت:

    من موفق شدم در پلاک 368/1 علاالدین به قیمت 20 تومن این را پیدا کنم اما هنوز امتحانش نکردم . بهتره یک سوکت مادگی هم برایش بخرید تا نصبش راحتتر بشه این سوکتها بنام pitch drawer type معروف هستند

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

      بسیار عاالی – متشکر برای معرفی – من خودم از فروشگاه انلاین خریداری کردم !
      ایده سوکت جالب بود ؛ ولی مطمئن هستید که میشه از سوکت های FPC استفاده کرد ؟

  54. Avatar for علی علی گفت:

    سپاس از این مطلب
    2 سوال
    آیا از قطعه nokia 5110 پروتئوس می توان برای شبیه سازی این نمایشگر استفاده کرد
    اگر نمیشود آیا این لینک شبیه ساز پرتئوس این نمایشگر است ؟ چگونه باید از آن استفاده کرد?

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

      خوب پروتکل این دو قطعه متفاوت هستند و اماکن همانند سازی توی پروتئوس وجود نداره ! لینک های دانلود هم مروبط به کتاب خانه های راه اندازی برای میکروکنترلر هستش

  55. Avatar for hadi hadi گفت:

    با سلام …
    امکانش هست توضیح این خط کد را بفرمایید :
    asm(“sbi %0, %1” : : “I” (_SFR_IO_ADDR(port)), “I” (bit))

    با تشکر

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

      سلام دوست عزیز
      در واقع این خط تعریف اینلاین اسمبلی در GCC هست که برای ست کردن یک بیت از یک رجیستر مورد استفاده قرار میگره ،
      برای توضیحات بیشتر در خصوص inline Asm به این مقاله مرجعه کنید.

      1. Avatar for هادی هادی گفت:

        با سلام …
        ممنون از شما، من سعی دارم این کتابخانه رو در کدویژن اجرا کنم ولی به این کدهای اسمبلی ایراد میگیره.
        معادل این میشه دیگه درسته : sbi _SFR_IO_ADDR(LCD_PORT),LCD_RST ؟
        در مورد فایلی سمپلی که قرار دادید، امکانش هست خروجی هگزر را هم بگذارید تا اول بتونیم درست بودن اتصالات و ال سی دی رو چک کنیم، بعد برای تغییر اقدام کنیم؟
        با تشکر

        1. Avatar for زئوس Zeus زئوس Zeus گفت:

          سلام دوست عزیز ، اون دستور اسمبلی برای یک کردن یک بیت از یک پورت استفاده میشه ، فکر میکنم توی کدویژن به این صورت میتونید باز نویسیش کنید
          PORTB.1 = 1;
          که بیت یک از پورت B رو یک میکنه ؛ یا اینطور بنویسید
          PORTB |=(1<<1); فایل هگز توی پست قرار گرفت.

  56. Avatar for Jaf Jaf گفت:

    سلام
    با اتمل استیدیو برنامه رو برای مگا۸ کامپایل کردم سیم بندی با بازر چک کردم مشکلی نداره میکرو با ولتاژ ۳. ۳ ولت راه اندازی کردم بک لایت ال سی دی روشنه ولی چیزی نمایش نمیده
    نمیدونم چرا؟

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

      دلایل خیلی زیادی میتونه داشته باشه دوست من
      اولین قدم ، شماتیک مداری رو که بستید بفرستید که ببینیم درست هست یا خیر
      دقیقا همین برنامه رو کامپایل کردید ؟ تغییری توش ندادید ؟

      1. Avatar for Jaf Jaf گفت:

        همین برنامه فقط f_cpu رو 8000000
        تعریف کردم
        اگه میشه یه کدهگز با شماتیک mega8a تو سایتتون قرار بدین

        1. Avatar for زئوس Zeus زئوس Zeus گفت:

          فکر نمیکنم مشکلی وجود داشته باشه ،
          سعی میکنم مساله رو بررسی کنم و نمونه کد رو برای مگا 8 بنویسم ببینم مشکلی داره یا نه !

          1. Avatar for Jaf Jaf گفت:

            سلام
            اگه ممکنه یه عکس از جلو و پشت ال سی دی و یه عکس مونتاژ شده تو سایت قرار
            بدین
            به نظر من ازال سی دی هست احتمالا c1 من گرفتم درایورش با 1661
            فرق میکنه شاید!!
            کاش یه فیلم از سیم بندی وقطعات و تست عملی پروژه قرار میدادین و توضیحاتی عملی میدادین
            فیلم که از پروژه بزارین یه سری از ریزه کاری یا که تو عمل پیش میاد گفته میشه
            ممنون به خاطر توجهتون

          2. Avatar for زئوس Zeus زئوس Zeus گفت:

            سلام دوست عزیز
            پست رو آپدیت کردم و عکس از خود LCD و نمونه مونتاژ شده به همراه برد مونتاژ شده در پست قرار دادم
            بعید میدونم که کنترلر متفاوتی داشته باشه ! البته من تست نکردم ولی توی منوال های Nokia نوع LCD ها رو یکی ذکر کرده
            فیلم اجرا شده رو هم میتونید در پست میکروکنترلر مقصر نیست ببینید.

  57. Avatar for سلام سلام گفت:

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

    1. Avatar for Sisoog Os Sisoog Os گفت:

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

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *