راه اندازی LCD گرافیکی Nokia 1661 و دانلود کتابخانه آن

راه اندازی LCD گرافیکی Nokia 1661 و دانلود کتابخانه آن

راه اندازی LCD گرافیکی Nokia 1661 و دانلود کتابخانه آن
راه اندازی LCD گرافیکی Nokia 1661 و دانلود کتابخانه آن

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

وقتی که به گزینه 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

 

 

حمایت از Zeus ‌

خوشحال میشیم برای تداوم و کیفیت ما رو حمایت کنید.

1 نفر

پــــســنــدیـده انـد

توجه

Zeus ‌
Zeus ‌

زئوس هستم ساکن المپ

دیدگاه ها

196 دیدگاه

  • محمد
    ۱۷ اسفند ۱۴۰۰

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

  • مهندسیار
    ۱۱ اسفند ۱۴۰۰

    سلام مهندس
    از زحمات جنابعالی و به اشتراک گذاری کمال تشکر را دارم
    پیشنهاد می شود این پروژه را بررسی کنید که مستقیم تصاویر jpg را نمایش می دهد
    http://elm-chan.org/fsw/tjpgd/tjsample.zip

    http://elm-chan.org/fsw/tjpgd/00index.html
    و اگر وقت داشتید برای lcd 1616-c1 تنظیم کنید
    موضوع دیگر:
    جهت افزایش سرعت اینجا مدار و روشی ارائه شده است که می توان با اتصال S RAM خارجی ظرفیت آن را بالا برد
    این مدار برای پروژه های دیگر نیز مناسب خواهد بود
    https://scienceprog.com/adding-external-memory-to-atmega128

  • علیرضا
    ۴ شهریور ۱۴۰۰

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

    • Zeus ‌
      Zeus
      ۷ شهریور ۱۴۰۰

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

  • رستمی زاده
    ۱ خرداد ۱۴۰۰

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

    • Zeus ‌
      zeus
      ۴ خرداد ۱۴۰۰

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

      • اشکان
        ۲۲ آذر ۱۴۰۰

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

        • Zeus ‌
          Zeus
          ۲۶ دی ۱۴۰۰

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

  • علیرضا صرامی
    علیرضا صرامی
    ۱۹ اردیبهشت ۱۴۰۰

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

    • Zeus ‌
      zeus
      ۴ خرداد ۱۴۰۰

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

  • Clooner
    ۳۰ دی ۱۳۹۹

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

    • Zeus ‌
      زئوس Zeus
      ۳۰ دی ۱۳۹۹

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

      • Clooner
        ۴ بهمن ۱۳۹۹

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

        • Zeus ‌
          زئوس Zeus
          ۵ بهمن ۱۳۹۹

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

          • Clooner
            ۵ بهمن ۱۳۹۹

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

            0
          • Zeus ‌
            زئوس Zeus
            ۱۵ بهمن ۱۳۹۹

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

            0
  • Ahmad
    ۳ مهر ۱۳۹۹

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

    • Zeus ‌
      زئوس Zeus
      ۶ مهر ۱۳۹۹

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

  • clooner
    ۲ مهر ۱۳۹۹

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

    • Zeus ‌
      زئوس Zeus
      ۶ مهر ۱۳۹۹

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

      • Clooner
        ۱۲ مهر ۱۳۹۹

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

        • Zeus ‌
          زئوس Zeus
          ۱۲ مهر ۱۳۹۹

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

  • محمد
    ۲۲ خرداد ۱۳۹۹

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

    • Zeus ‌
      زئوس Zeus
      ۲۲ خرداد ۱۳۹۹

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

  • 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.

    • Zeus ‌
      زئوس Zeus
      ۲۳ فروردین ۱۳۹۹

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

      • nima
        ۲۴ فروردین ۱۳۹۹

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

        • Zeus ‌
          زئوس Zeus
          ۳۰ فروردین ۱۳۹۹

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

      • علیرضا صرامی
        ۱۹ اردیبهشت ۱۴۰۰

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

        • Zeus ‌
          zeus
          ۴ خرداد ۱۴۰۰

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

  • محمد
    ۱۲ فروردین ۱۳۹۹

    درود
    یه نکته ای در رابطه با ال سی دی هایی مثل 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);

    • Zeus ‌
      زئوس Zeus
      ۱۸ فروردین ۱۳۹۹

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

  • محمد
    ۹ فروردین ۱۳۹۹

    درود

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

    • Zeus ‌
      زئوس Zeus
      ۱۶ فروردین ۱۳۹۹

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

  • حسین
    ۲۱ اسفند ۱۳۹۸

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

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

    • Zeus ‌
      زئوس Zeus
      ۲۲ اسفند ۱۳۹۸

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

      • حسین
        ۲۲ اسفند ۱۳۹۸

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

        • Zeus ‌
          زئوس Zeus
          ۲۴ اسفند ۱۳۹۸

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

          • حسین
            ۲۴ اسفند ۱۳۹۸

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

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

            رفرش بشه

            0
          • Zeus ‌
            زئوس Zeus
            ۲۴ اسفند ۱۳۹۸

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

            0
          • حسین
            ۲۴ اسفند ۱۳۹۸

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

            0
          • Zeus ‌
            زئوس Zeus
            ۱ فروردین ۱۳۹۹

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

            0
  • javad
    ۸ دی ۱۳۹۸

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

    • Zeus ‌
      زئوس Zeus
      ۸ دی ۱۳۹۸

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

      • javad
        ۸ دی ۱۳۹۸

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

        • Zeus ‌
          زئوس Zeus
          ۱۰ دی ۱۳۹۸

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

  • javad
    ۷ دی ۱۳۹۸

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

    • Zeus ‌
      زئوس Zeus
      ۸ دی ۱۳۹۸

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

      • javad
        ۸ دی ۱۳۹۸

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

        • Zeus ‌
          زئوس Zeus
          ۱۰ دی ۱۳۹۸

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

  • سینا
    ۵ آذر ۱۳۹۸

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

  • سینا
    ۳ آذر ۱۳۹۸

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

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

    • Zeus ‌
      زئوس Zeus
      ۴ آذر ۱۳۹۸

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

  • سینا
    ۳ آذر ۱۳۹۸

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

    • Zeus ‌
      زئوس Zeus
      ۳ آذر ۱۳۹۸

      و البته اینو ؟

      • سینا
        ۳ آذر ۱۳۹۸

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

        • Zeus ‌
          زئوس Zeus
          ۴ آذر ۱۳۹۸

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

          • سینا
            ۴ آذر ۱۳۹۸

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

            0
          • Zeus ‌
            زئوس Zeus
            ۵ آذر ۱۳۹۸

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

            0
  • سینا
    ۳ آذر ۱۳۹۸

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

    • Zeus ‌
      زئوس Zeus
      ۳ آذر ۱۳۹۸

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

      • سینا
        ۳ آذر ۱۳۹۸

        نه بنده تست نکردم از دو تا‌فروشگاه و یک تعمیر کار‌پرسیدم گفت اینا رو به جای هم استفاده میکنیم
        در واقع یکسری‌ال سی دیا برای یه مدلاست و یک سریش هم برای‌ یه سری دیگه
        مثال‌میزنم
        اینا مال ژوئن ۲۰۱۰ به بعده
        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 فیکش ۶ تا ۸ هزار‌تومان ارزون تره ولی شکلش با اصل‌مو نمیزنه تفاوتش داخل لیبل محافظ هست که اصلش اون قسمت قرمزش‌ بزرگ تره

        • Zeus ‌
          زئوس Zeus
          ۴ آذر ۱۳۹۸

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

          • سینا
            ۴ آذر ۱۳۹۸

            تمام مدل های زیر با نام 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
            فقط دقت کنید مدل تقلبی مارک پشتش بی کیفیته و سر قرمز‌ لیبلش کوچک تر و باریک تره
            حتما از جایی تهیه کنید که طرف‌خودش اینکاره باشه

            0
          • سینا
            ۴ آذر ۱۳۹۸

            و اما مدل ۲۲‌پین که اطلاعات زیادی ازش‌ندارم و لی همه مدل‌های زیر به اسم مدل 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

            0
          • Zeus ‌
            زئوس Zeus
            ۵ آذر ۱۳۹۸

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

            0
  • سینا
    ۳ آذر ۱۳۹۸

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

  • سینا
    ۳ آذر ۱۳۹۸

    و برای تبدیل سطح منطقی هم از این دوم محصول میتونید استفاده کنید
    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
    این یکی هم راه حل ارزان ولی اگه کارتون میخواید ارزون در بیاد همون مقاومت رو بزارید
    بنده قصد تبلیغ هیچ وبسایتی رو ندارم اگه پیدا کردید از فروشگاه نزدیک به خودتون بگیرید

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

    • Zeus ‌
      زئوس Zeus
      ۳ آذر ۱۳۹۸

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

  • سینا
    ۳ آذر ۱۳۹۸

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

    • Zeus ‌
      زئوس Zeus
      ۳ آذر ۱۳۹۸

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

      • سینا
        ۳ آذر ۱۳۹۸

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

        • Zeus ‌
          زئوس Zeus
          ۴ آذر ۱۳۹۸

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

    • سینا
      ۳ آذر ۱۳۹۸

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

      • Zeus ‌
        زئوس Zeus
        ۴ آذر ۱۳۹۸

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

  • سینا
    ۲ آذر ۱۳۹۸

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

    • Zeus ‌
      زئوس Zeus
      ۳ آذر ۱۳۹۸

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

  • nima
    ۵ شهریور ۱۳۹۸

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

    • Zeus ‌
      زئوس Zeus
      ۶ شهریور ۱۳۹۸

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

      • nima
        ۱۵ شهریور ۱۳۹۸

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

        • Zeus ‌
          زئوس Zeus
          ۱۶ شهریور ۱۳۹۸

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

          • nima
            ۱۶ شهریور ۱۳۹۸

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

            0
          • Zeus ‌
            زئوس Zeus
            ۱۷ شهریور ۱۳۹۸

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

            0
          • nima
            ۱۹ شهریور ۱۳۹۸

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

            0
          • Zeus ‌
            زئوس Zeus
            ۲۱ شهریور ۱۳۹۸

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

            0
          • 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

            0
          • Zeus ‌
            زئوس Zeus
            ۲۶ مهر ۱۳۹۸

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

            0
  • علی
    ۴ شهریور ۱۳۹۸

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

    • Zeus ‌
      زئوس Zeus
      ۶ شهریور ۱۳۹۸

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

  • علی
    ۳۰ مرداد ۱۳۹۸

    سلام من کد رو در کدویژن اجرا می کنم اما این خطا رو به من میده:
    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 *’
    باید چیکارش کنم؟؟
    ممنون.

    • Zeus ‌
      زئوس Zeus
      ۳۱ مرداد ۱۳۹۸

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

    • Zeus ‌
      زئوس Zeus
      ۱ شهریور ۱۳۹۸

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

  • علی
    ۲۸ مرداد ۱۳۹۸

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

    • Zeus ‌
      زئوس Zeus
      ۱ شهریور ۱۳۹۸

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

  • هادی
    ۲۴ مرداد ۱۳۹۸

    با سلام…
    من سعی کردم کتابخانه رو در کدویژن اجرا کنم، اما به این خط ایراد میگیره،
    امکانش هست راهنمایی بفرمایید.
    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’
    با تشکر

    • Zeus ‌
      زئوس Zeus
      ۲۶ مرداد ۱۳۹۸

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

  • reza
    ۲۱ مرداد ۱۳۹۸

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

    • Zeus ‌
      زئوس Zeus
      ۲۲ مرداد ۱۳۹۸

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

  • reza
    ۹ مرداد ۱۳۹۸

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

    • Zeus ‌
      زئوس Zeus
      ۲۰ مرداد ۱۳۹۸

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

  • reza
    ۹ مرداد ۱۳۹۸

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

    • Zeus ‌
      زئوس Zeus
      ۲۰ مرداد ۱۳۹۸

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

  • مبین
    ۷ تیر ۱۳۹۸

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

    • Zeus ‌
      زئوس Zeus
      ۹ تیر ۱۳۹۸

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

  • حسین
    ۶ تیر ۱۳۹۸

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

    • Zeus ‌
      زئوس Zeus
      ۹ تیر ۱۳۹۸

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

      • حسین
        ۱۱ تیر ۱۳۹۸

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

        • Zeus ‌
          زئوس Zeus
          ۱۶ تیر ۱۳۹۸

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

          • حسین
            ۲۱ تیر ۱۳۹۸

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

            0
          • Zeus ‌
            زئوس Zeus
            ۲۳ تیر ۱۳۹۸

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

            0
          • حسین
            ۲۳ تیر ۱۳۹۸

            سلام جناب زئوس .
            این کامنت مربوط چند کامنت بعد از این میشه ولی چون لینک پاسخ فعال نشده بود !! در ادامه این کامنت نتیجه رو میگم .
            مشکل عدم نمایش خطوط از پر شدن پشته نبود . چون روی 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 _ هماهنگ تر هست .
            مرسی وقت گذاشتید .

            0
          • Zeus ‌
            زئوس Zeus
            ۲۹ تیر ۱۳۹۸

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

            0
          • حسین
            ۳۰ تیر ۱۳۹۸

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

            0
  • حامد
    ۴ تیر ۱۳۹۸

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

    • Zeus ‌
      زئوس Zeus
      ۵ تیر ۱۳۹۸

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

  • محسن
    ۱۴ اردیبهشت ۱۳۹۸

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

    • Zeus ‌
      زئوس Zeus
      ۱۵ اردیبهشت ۱۳۹۸

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

      • محسن
        ۱۵ اردیبهشت ۱۳۹۸

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

        • Zeus ‌
          زئوس Zeus
          ۱۶ اردیبهشت ۱۳۹۸

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

      • محسن
        ۱۵ اردیبهشت ۱۳۹۸

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

        • Zeus ‌
          زئوس Zeus
          ۱۶ اردیبهشت ۱۳۹۸

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

          • محسن
            ۱۶ اردیبهشت ۱۳۹۸

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

            0
          • Zeus ‌
            زئوس Zeus
            ۱۶ اردیبهشت ۱۳۹۸

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

            0
  • علیرضا اکبری
    ۱۲ اردیبهشت ۱۳۹۸

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

    • Zeus ‌
      زئوس Zeus
      ۱۵ اردیبهشت ۱۳۹۸

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

  • akam
    ۲۵ فروردین ۱۳۹۸

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

    • Zeus ‌
      زئوس Zeus
      ۲۶ فروردین ۱۳۹۸

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

      • akam
        ۲۷ فروردین ۱۳۹۸

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

        • akam
          ۲۷ فروردین ۱۳۹۸

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

          • Zeus ‌
            زئوس Zeus
            ۲۷ فروردین ۱۳۹۸

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

            0
        • Zeus ‌
          زئوس Zeus
          ۲۷ فروردین ۱۳۹۸

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

          • akam
            ۶ اردیبهشت ۱۳۹۸

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

            0
          • 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)

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

            0
      • علیرضا
        ۲۶ اردیبهشت ۱۴۰۰

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

        • Zeus ‌
          zeus
          ۴ خرداد ۱۴۰۰

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

  • وحید
    ۸ فروردین ۱۳۹۸

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

    • Zeus ‌
      زئوس Zeus
      ۱۱ فروردین ۱۳۹۸

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

  • عقیل
    ۲۱ اسفند ۱۳۹۷

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

    • Nasim Hematian
      electronic girl
      ۲۲ اسفند ۱۳۹۷

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

  • javad
    ۳۰ بهمن ۱۳۹۷

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

    • Zeus ‌
      زئوس Zeus
      ۱ اسفند ۱۳۹۷

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

      • javad
        ۱۵ خرداد ۱۳۹۸

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

  • javad
    ۱۵ بهمن ۱۳۹۷

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

    • javad
      ۱۵ بهمن ۱۳۹۷

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

      • Zeus ‌
        زئوس Zeus
        ۲۷ بهمن ۱۳۹۷

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

    • Zeus ‌
      زئوس Zeus
      ۲۷ بهمن ۱۳۹۷

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

  • javad
    ۱۲ بهمن ۱۳۹۷

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

  • javad
    ۱۲ بهمن ۱۳۹۷

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

    • Zeus ‌
      زئوس Zeus
      ۱۳ بهمن ۱۳۹۷

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

      • javad
        ۱۵ بهمن ۱۳۹۷

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

        • Zeus ‌
          زئوس Zeus
          ۲۷ بهمن ۱۳۹۷

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

          • javad
            ۲۸ بهمن ۱۳۹۷

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

            0
          • Zeus ‌
            زئوس Zeus
            ۲۹ بهمن ۱۳۹۷

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

            0
  • javad
    ۱۲ بهمن ۱۳۹۷

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

    • Zeus ‌
      زئوس Zeus
      ۱۳ بهمن ۱۳۹۷

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

      • javad
        ۱۵ بهمن ۱۳۹۷

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

        • Zeus ‌
          زئوس Zeus
          ۲۷ بهمن ۱۳۹۷

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

          • javad
            ۲۸ بهمن ۱۳۹۷

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

            0
          • Zeus ‌
            زئوس Zeus
            ۲۹ بهمن ۱۳۹۷

            😐

            0
          • javad
            ۲۸ بهمن ۱۳۹۷

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

            0
          • Zeus ‌
            زئوس Zeus
            ۲۹ بهمن ۱۳۹۷

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

            0
  • حسین
    ۱۵ دی ۱۳۹۷

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

    • Zeus ‌
      زئوس Zeus
      ۱۷ دی ۱۳۹۷

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

  • احمد
    ۱۳ دی ۱۳۹۷

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

    • Zeus ‌
      زئوس Zeus
      ۱۵ دی ۱۳۹۷

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

      • احمد
        ۲۰ دی ۱۳۹۷

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

        • Zeus ‌
          زئوس Zeus
          ۲۳ دی ۱۳۹۷

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

          • احمد
            ۲۳ دی ۱۳۹۷

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

            0
          • Zeus ‌
            زئوس Zeus
            ۲۵ دی ۱۳۹۷

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

            LG KF700
            Sony Ericsson U5
            و….

            0
  • امیر
    ۲۸ آذر ۱۳۹۷

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

    • Zeus ‌
      زئوس Zeus
      ۲۸ آذر ۱۳۹۷

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

      • امیر
        ۱ دی ۱۳۹۷
        • Zeus ‌
          زئوس Zeus
          ۲ دی ۱۳۹۷

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

          • امیر
            ۲ دی ۱۳۹۷

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

            0
          • Zeus ‌
            زئوس Zeus
            ۳ دی ۱۳۹۷

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

            0
  • علی
    ۲۰ آذر ۱۳۹۷

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

    • Zeus ‌
      زئوس Zeus
      ۲۰ آذر ۱۳۹۷

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

  • علی
    ۳ آذر ۱۳۹۷

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

    • Zeus ‌
      زئوس Zeus
      ۵ آذر ۱۳۹۷

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

  • hadi
    ۲۵ مهر ۱۳۹۷

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

    با تشکر

    • Zeus ‌
      زئوس Zeus
      ۲۷ مهر ۱۳۹۷

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

      • هادی
        ۲۸ مهر ۱۳۹۷

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

        • Zeus ‌
          زئوس Zeus
          ۲۹ مهر ۱۳۹۷

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

  • Jaf
    ۵ مهر ۱۳۹۷

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

    • Zeus ‌
      زئوس Zeus
      ۶ مهر ۱۳۹۷

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

      • Jaf
        ۶ مهر ۱۳۹۷

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

        • Zeus ‌
          زئوس Zeus
          ۸ مهر ۱۳۹۷

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

          • Jaf
            ۸ مهر ۱۳۹۷

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

            0
          • Zeus ‌
            زئوس Zeus
            ۱۲ مهر ۱۳۹۷

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

            0
  • سلام
    ۲۱ شهریور ۱۳۹۷

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

    • Sisoog Os
      Sisoog Os
      ۲۳ شهریور ۱۳۹۷

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

پر بحث ترین ها

مسابقه دوم : چالش برنامه نویسی به زبان C

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

Zeus ‌ Zeus ‌
  • 2 سال پیش

راه اندازی LCD گرافیکی Nokia 1661 و دانلود کتابخانه آن

LCD گرافیکی یکی از مهم ترین پارامترهای موجود در طراحی انواع مدارات الکترونیکی پیچیده و حتی ساده است ، نمایش وضعیت و...

Zeus ‌ Zeus ‌
  • 4 سال پیش

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

ریموت کنترل امروزه کاربرد زیادی پیدا کرده است؛ از ریموت‌های درب بازکن تا ریموت‌های دزدگیر و کنترل روشنایی همه از یک اصول اولیه پیروی می‌کنند و آن‌هم ارسال اطلاعات به‌صورت بی‌سیم است....

Zeus ‌ Zeus ‌
  • 5 سال پیش

مسابقه سوم: استخراج داده از رشته ها در زبان C

نزدیک به 5 ماه از مسابقه دوم سیسوگ می‌گذره و فکر کردم که بد نیست یک چالش جدید داشته باشیم! البته چالش‌ها...

Zeus ‌ Zeus ‌
  • 2 سال پیش

همه چیز درباره ریموت کنترل‌های هاپینگ

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

Zeus ‌ Zeus ‌
  • 5 سال پیش

مسابقه ششم: بزن میکروکنترلر را بسوزون!

بزنم میکروکنترلر را بسوزونم اونم تو  این شرایط!، طراحی مسابقه از اون چیزی که به نظر می‌رسه سخت‌تر است، باید حواست باشه...

Zeus ‌ Zeus ‌
  • 9 ماه پیش

آموزش قدم به قدم راه اندازی +NRF24L01

آموزش قدم به قدم راه اندازی +NRF24L01  با کتابخانه سازگار با انواع میکروکنترلرها و کامپایلرها قبل از اینکه قسمت بشه با ماژول...

رسول خواجوی بجستانی رسول خواجوی بجستانی
  • 3 سال پیش

ساخت ماینر با FPGA و ARM

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

Zeus ‌ Zeus ‌
  • 3 سال پیش

مسابقه چهارم: کدام حلقه سریع‌تر است؟

حدود ۷ ماه پیش، مسابقه سوم سیسوگ رو برگزار کردیم و کلی نکته در مورد خواندن رشته‌های ورودی را بررسی کردیم. فکر...

Zeus ‌ Zeus ‌
  • 1 سال پیش

کار با ماژول تمام عیار mc60 – قسمت دوم – راه اندازی OpenCPU

در قسمت اول به یکسری اطلاعات کلی ماژول mc60 پرداختیم، با نرم افزار QNavigator کار کردیم و یک هدربرد هم برای کار...

Mahdi.h   Mahdi.h  
  • 2 سال پیش
سیـــســـوگ

مرجع متن باز آموزش الکترونیک