Skip to content

Here I try to figure out how I can use a Chinese TFT LCD with an FPC cable in my projects.

License

Notifications You must be signed in to change notification settings

sayed-ayman/FPC_TFT_pinout

Repository files navigation

FPC_TFT_pinout

قبل اي شئ المشروع تحت البناء و الاختبار ربما يعمل و ربما لا اي خساره ماديه او اي كانت نوعها او شكلها انا بريئ منها جرب علي مسؤوليتك

المشكلة 💥 توفير شاشة الوان رخيصة الثمن لان الاسعار في مصر اصبحت جنونية حتي مع صغر حجم الشاشه يظل السعر جنوني

الحل 💡 شاشات الموبيل الصيني حجمها متعدد حيث تقع الاحجام من 1.77 بوصة الي 2.8 بوصه و عدد ال PINOUT يقع من بين 16 الي 37 مع اختلاف القدرات و اسلوب التواصل حتي شاشات ال 7 بوصه لها قدر من نصيبنا

اذا 🔍 انشر ما توصلت اليه من تجارب من اين اشتريت القطع كيف جربت من اين وجدت المعلومات و كيفية اسلوب بحثي

الهدف 📍 هوا تجميع اكبر قدر من المعلومات استنادا الي ما هو متوفر في السوق المحلي المصري و ايضا باقي الاسواق الخارجية يمكنك بتاكيد مشاركة تجاربك و نشرها هنا في مكان واحد لكي تتركز الفائدة

الآن، السؤال الأهم: ماذا فعلتُ لأصل إلى هذه المرحلة؟

كانت البداية مع شراء هاتف صيني وتفكيكه، ثم القيام بعملية هندسة عكسية له. في البداية، بدا الأمر سهلًا، لكن المشكلة كانت في التكلفة الهائلة وتعدد الشاشات وأحجامها المتوفرة في السوق، مما استدعى البحث عن حل آخر. الحل البديل: برنامج DZKJ Schematics

وجدتُ برنامجًا يُدعى DZKJ Schematics، والذي يوفر نسخة مجانية لمدة 7 أيام. كانت هذه الفترة كافية جدًا، ولكن كما يقول المثل المصري: "الحداية لا ترمي كتاكيت". فقد اكتشفتُ أن جميع الهواتف المتاحة في البرنامج تعود إلى شركتين فقط، والخيارات المتاحة كانت محدودة. ومع ذلك، تمكنت من استخراج معلومات تتعلق بالشاشات ذات 37 بن و16 بن.

لكن ظهرت مشكلة أخرى، وهي أن حتى هذه الفئات لا تتبع معيارًا موحدًا، بل يمكن وصفها بـ "فوضى عارمة". على سبيل المثال، هناك شاشة 37 بن يمكن ضبطها لاستخدام أي من بروتوكولي الاتصال SPI أو RGB. بعض الأنواع تدعم RGB فقط، وبعضها الآخر يأتي بترتيب مختلف تمامًا للأطراف. تجربة الشاشات والنتائج

بعد التجربة، نجحتُ في تشغيل شاشتين من أصل ثلاث شاشات 37 بن، بالإضافة إلى تشغيل شاشتين من نوع 16 بن. وهنا يطرح السؤال نفسه: وماذا بعد؟

الحل لم يكن فعالًا بشكل كافٍ، لذا كان لابد من التراجع خطوة للوراء وإجراء بحث أعمق. توصلت إلى قاعدة مفادها أنه لتجنب الشاشات التي تعتمد على بروتوكول RGB، ينبغي أن تكون بعدد أطراف أقل من 20 بن. كيف وصلتُ إلى هذه النتيجة؟

ببساطة، من خلال البحث المكثف في موقع علي بابا وبرامج صيانة الهواتف المحمولة، وجدت أن الغالبية العظمى من الشاشات ذات 20، 22، و24 بن تعتمد على بروتوكول RGB. ولذلك، كان من المنطقي حصر البحث في الشاشات التي تحتوي على 11 إلى 18 بن فقط. البحث في مواصفات شاشات SPI

من خلال بحثي، وجدت أن الشاشات التي تعتمد على بروتوكول SPI غالبًا ما تحتوي على الأطراف التالية:

CS (تحديد الشريحة)
DC (أمر أو بيانات)
SCK (الساعة التسلسلية)
MOSI (إرسال البيانات)
RESET (إعادة الضبط)
T/E (اختياري)

نحن بحاجة فقط إلى 5 أطراف من أصل 6 لتشغيل الشاشة، بالإضافة إلى:

GND (الأرضي)
VCC (جهد التشغيل)
IOVCC (جهد الإدخال/الإخراج)
LED+ و LED- (إضاءة الشاشة)

كيفية تحديد أطراف الجهد بسهولة؟

إذا نظرت بدقة إلى كابل التوصيل، ستجد دائمًا أن أطراف الجهد الكهربائي تكون أكثر سماكة من غيرها، كما هو موضح في الصور المرفقة.

IMG-20250302-004727-MP Edited

IMG-20250302-004748-MP Edited

تصفية الأطراف وتحديد المتبقي

بعد استبعاد جميع الأطراف المعروفة، يبقى لديك غالبًا 6 أطراف مجهولة، وهي التي يجب اختبارها. لذلك، قمتُ ببرمجة كود خاص لاكتشاف ترتيبها تلقائيًا. للأسف، كان الكود الأصلي أشبه بـ"مكرونة سباغيتي" 😅، لكن بفضل ChatGPT تمكنتُ من تحسينه. الآن، لدي نسختان من الكود:

نسخة مكتوبة بالكامل بلغة C
نسخة تتضمن أجزاءً مكتوبة بلغة التجميع (Assembly) لجعل التنفيذ أسرع

تحسين الأداء

في البداية، كان الكود يستغرق 24 دقيقة لإتمام العملية، لكن بعد التحسينات، لا يتعدى الزمن الأقصى 6 دقائق فقط! نتائج الاختبار

مرفق بالصور بعض الشاشات التي عملت بنجاح وأخرى لم تعمل. أعتقد أن السبب الرئيسي لعدم عمل بعضها هو أن المتحكم الداخلي لهذه الشاشات غير مدعوم في المكتبة المستخدمة. ومع ذلك، لاحظت أن معظم الشاشات تستخدم واحدة من المتحكمات التالية:

ST7735
ST7789
ILI9481

قاعدة سريعة لتحديد المتحكم المناسب

الشاشات الأصغر من 2 إنش غالبًا ما تستخدم متحكم ST7735
الشاشات الأكبر من 2.4 إنش غالبًا ما تستخدم متحكم ST7789

المفاجأة: بعض الشاشات تعمل حتى لو تم تغيير نوع المتحكم! لقد صادفتُ شاشة تعمل على 3 متحكمات مختلفة أو أكثر دون أي مشاكل! إنها الصين يا صديقي! 😅

و

About

Here I try to figure out how I can use a Chinese TFT LCD with an FPC cable in my projects.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages