جدول المحتويات:

قائمة Arduino على Nokia 5110 Lcd باستخدام جهاز تشفير دوار: 6 خطوات (بالصور)
قائمة Arduino على Nokia 5110 Lcd باستخدام جهاز تشفير دوار: 6 خطوات (بالصور)

فيديو: قائمة Arduino على Nokia 5110 Lcd باستخدام جهاز تشفير دوار: 6 خطوات (بالصور)

فيديو: قائمة Arduino على Nokia 5110 Lcd باستخدام جهاز تشفير دوار: 6 خطوات (بالصور)
فيديو: Rotary Encoder with Arduino: Control LEDs | Step-by-Step Beginner's Tutorial 2024, يوليو
Anonim
Image
Image
قائمة Arduino على Nokia 5110 Lcd باستخدام جهاز تشفير دوار
قائمة Arduino على Nokia 5110 Lcd باستخدام جهاز تشفير دوار

نرحب بالأصدقاء الأعزاء في برنامج تعليمي آخر! في هذا الفيديو ، سنتعلم كيفية إنشاء القائمة الخاصة بنا لشاشة Nokia 5110 LCD الشهيرة ، من أجل جعل مشاريعنا أكثر سهولة في الاستخدام وأكثر قدرة. هيا بنا نبدأ!

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

دعونا نرى الآن كيفية بناء هذا المشروع.

الخطوة 1: احصل على جميع الأجزاء

احصل على جميع الأجزاء
احصل على جميع الأجزاء

الأجزاء اللازمة لبناء هذا المشروع هي كالتالي:

  • اردوينو أونو ▶
  • شاشة Nokia 5110 LCD ▶
  • جهاز تشفير دوار
  • لوح توصيل صغير ▶
  • بعض الأسلاك ▶
  • بنك الطاقة ▶

تكلفة المشروع منخفضة جدًا ، فهي أقل من 10 دولارات. يمكنك العثور على روابط لجميع الأجزاء التي أستخدمها في وصف الفيديو أدناه.

الخطوة 2: شاشة Nokia 5110 LCD

Image
Image
بناء المشروع
بناء المشروع

Nokia 5110 هو شاشتي المفضلة لمشاريع Arduino الخاصة بي.

Nokia 5110 عبارة عن شاشة LCD رسومية أساسية تم تصميمها في الأصل لتكون شاشة هاتف محمول. يستخدم جهاز التحكم PCD8544 وهو وحدة تحكم / برنامج تشغيل CMOS LCD منخفض الطاقة. وبسبب هذا ، تتمتع هذه الشاشة باستهلاك مذهل للطاقة. يستخدم 0.4 مللي أمبير فقط عندما يكون قيد التشغيل ولكن الإضاءة الخلفية معطلة. يستخدم أقل من 0.06 مللي أمبير في وضع السكون! هذا أحد الأسباب التي تجعل هذا العرض المفضل لدي. واجهات PCD8544 للميكروكونترولر من خلال واجهة ناقل تسلسلي. هذا يجعل الشاشة سهلة الاستخدام للغاية مع Arduino. ما عليك سوى توصيل 8 أسلاك.

لقد قمت بإعداد برنامج تعليمي مفصل حول كيفية استخدام شاشة Nokia 5110 LCD مع Arduino. لقد أرفقت هذا الفيديو في Instructable هذا ، وسوف يوفر معلومات مفيدة حول العرض ، لذلك أشجعك على مشاهدته بعناية. تبلغ تكلفة العرض حوالي 4 دولارات.

يمكنك الحصول عليه هنا: ▶

الخطوة 3: التشفير الروتاري

Image
Image

المشفر الدوار ، المعروف أيضًا باسم مشفر العمود ، هو جهاز ميكانيكي كهربائي يحول الموضع الزاوي أو حركة المحور أو المحور إلى رمز تمثيلي أو رقمي. تُستخدم المشفرات الدوارة في العديد من التطبيقات التي تتطلب دورانًا غير محدود للعمود الدقيق - بما في ذلك أدوات التحكم الصناعية ، والروبوتات ، وعدسات التصوير الفوتوغرافي للأغراض الخاصة ، وأجهزة إدخال الكمبيوتر (مثل الفئران الميكانيكية البصرية وكرات المسار) ، ومقاييس الضغط التي يتم التحكم فيها ، ومنصات الرادار الدوارة.

المشفر الدوار الذي سنستخدمه في هذا المشروع هو برنامج تشفير غير مكلف للغاية. كما أنه يحتوي على زر مضمن ولجعله يعمل ، نحتاج فقط إلى توصيل 5 أسلاك. لقد قمت بإعداد برنامج تعليمي مفصل حول كيفية استخدام المشفر الدوار. يمكنك العثور على هذا الفيديو مرفق هنا.

تكلفة هذا المشفر الدوار منخفضة للغاية. يكلف حوالي 1.5 دولار.

يمكنك الحصول عليها هنا ▶

الخطوة الرابعة: بناء المشروع

Image
Image
بناء المشروع
بناء المشروع
بناء المشروع
بناء المشروع

دعنا الآن نربط جميع الأجزاء معًا. قبل إنشاء هذا المشروع ، إذا لم تكن قد استخدمت المشفر الدوار في الماضي ، فإنني أشجعك على مشاهدة البرنامج التعليمي الذي أعددته حول أجهزة التشفير الدوارة. سيساعدك هذا على فهم كيفية عمل أجهزة التشفير الدوارة وستكتسب بعض الخبرة معها. هذا الفيديو مرفق هنا.

لقد وضعت الشاشة على لوح صغير مثل هذا. لنبدأ أولاً بتوصيل الشاشة. ينتقل الدبوس الأول من الشاشة الذي تم إعادة تعيينه إلى الدبوس الرقمي 3 من Arduino Uno ، وينتقل الدبوس الثاني إلى الدبوس الرقمي 4 ، وينتقل الدبوس الثالث إلى الدبوس الرقمي 5 ، والدبوس الرابع إلى الرقم الرقمي 11 والدبوس الخامس إلى الرقم الرقمي دبوس 13. الدبوس التالي هو Vcc. نقوم بتوصيل Vcc بالسكة الموجبة للوح ، وسكة اللوح الموجبة بإخراج 3.3V من Arduino. الدبوس التالي هو الإضاءة الخلفية للشاشة. نظرًا لأننا نريد التحكم فيه عبر البرنامج ، فإننا نقوم بتوصيله بالرقم الرقمي 7. آخر دبوس هو GND. نقوم بتوصيل GND بالسكة الحديدية السلبية للوح ، والسكة السلبية للوح توصيل بـ Arduino GND.

الآن كل ما يتعين علينا القيام به هو توصيل المشفر الدوار. الدبوس الأول هو GND وقمنا بتوصيله بسكة سالبة للوح. الدبوس التالي هو Vcc وقمنا بتوصيله بالقضيب الموجب للوح. الدبوس التالي هو SW وقمنا بتوصيله بـ Analog Pin 2. الدبوس التالي يسمى DT وقمنا بتوصيله بـ Analog Pin 1. وأخيرًا ، تم توصيل الدبوس CLK بـ Analog Pin 0. يمكنك العثور على الرسم التخطيطي لهذا المشروع في وصف الفيديو أدناه.

الآن نحن جاهزون لتشغيل المشروع. كما ترى ، المشروع يعمل بشكل جيد ، والقائمة تعمل كما هو متوقع! رائع ، دعنا الآن نرى برنامج المشروع.

الخطوة الخامسة: كود المشروع

كود المشروع
كود المشروع

في هذا المشروع نستخدم 4 مكتبات. نستخدم مكتبتين للعرض ، واثنتين لجهاز التشفير الدوار.

  1. Adafruit GFX:
  2. نوكيا 5110:
  3. مكتبة التشفير:
  4. مكتبة TimerOne:

في البداية سوف نلقي نظرة على وظيفة drawMenu. هذه الوظيفة مسؤولة عن رسم القائمة على الشاشة. تسمى هذه الوظيفة كل بضعة أجزاء من الثانية ، لذلك إذا كان هناك تغيير في القائمة ، فإن هذه الوظيفة تكون مسؤولة عن تحديث القائمة على الشاشة.

int menuitem = 1 ؛ int frame = 1 ؛ صفحة int = 1 ؛ int lastMenuItem = 1 ؛

هناك أيضًا 3 متغيرات عامة مهمة جدًا ، الصفحة المتغيرة ، والقائمة المتغيرة والإطار المتغير. تتذكر الصفحة المتغيرة شاشة واجهة المستخدم التي يتم عرضها على الشاشة. لذلك ، إذا كان متغير الصفحة هو 1 ، فنحن في شاشة واجهة المستخدم الرئيسية ، وإذا كان المتغير 2 ، فنحن في شاشة واجهة المستخدم الثانوية حيث قمنا بتعيين القيمة على متغير. يتذكر عنصر القائمة عنصر القائمة المحدد. لذلك ، إذا كانت قيمتها 1 ، فسيتم تحديد عنصر القائمة الأول ، لذلك يجب أن ترسم وظيفة drawMenu عنصر القائمة هذا باللون الأسود بأحرف بيضاء. إذا كان عنصر القائمة هو 2 ، يتم تحديد عنصر القائمة الثاني وهكذا. يتذكر متغير الإطار أي جزء من القائمة يتم عرضه على الشاشة. نظرًا لأن القائمة التي أنشأناها تحتوي على 6 عناصر ولا يمكننا عرض سوى 3 منها في المرة الواحدة ، فنحن بحاجة إلى معرفة العناصر التي يتم عرضها على الشاشة. يخبرنا متغير الإطار بهذا بالضبط. إذا كانت قيمة متغير الإطار 1 ، فإننا نعرض عناصر القائمة الثلاثة الأولى ، وإذا كانت 2 ، فإننا نعرض العناصر 2 و 3 و 4 وما إلى ذلك.

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

String menuItem1 = "Contrast" ؛ قائمة StringItem2 = "Volume" ؛ String menuItem3 = "اللغة" ؛ قائمة السلسلةItem4 = "صعوبة" ؛ String menuItem5 = "Light: ON"؛ قائمة السلسلةItem6 = "إعادة تعيين" ؛

الإضاءة الخلفية المنطقية = صحيح ؛

تباين int = 60 ؛ حجم كثافة العمليات = 50 ؛

لغة السلسلة [3] = {"EN"، "ES"، "EL"}؛

int selectedLanguage = 0 ؛

صعوبة السلسلة [2] = {"EASY"، "HARD"} ؛

int selectedDifficulty = 0 ؛

في البداية نقوم بتهيئة جميع المتغيرات العامة المطلوبة في الكود. بعد ذلك نقوم بتهيئة العرض. في وظيفة الحلقة ، في البداية نسمي وظيفة drawMenu لرسم القائمة على الشاشة. ثم نقرأ القيمة من المشفر الروتاري ونتحقق من الضغط على الزر. على سبيل المثال ، إذا كنا في شاشة واجهة المستخدم الرئيسية وتم تحديد عنصر القائمة الأول ، وإذا زادت القيمة من المشفر الدوار ، يزداد متغير menuitem وفي الحلقة التالية سترسم وظيفة drawMenu عنصر القائمة الثاني كما هو محدد. إذا ضغطنا الآن على زر المشفر الدوار ، فإننا ننتقل إلى الصفحة الثانية ، حيث نقوم بتعيين قيمة المتغير. مرة أخرى باستخدام المشفر الدوار يمكننا زيادة أو تقليل قيمة المتغير. إذا ضغطنا على الزر ننتقل مرة أخرى إلى صفحة القائمة الرئيسية ، ويقل متغير الصفحة.

هذه هي الفكرة الأساسية وراء هذه القائمة. نتبع نفس الإجراء لجميع عناصر وصفحات القائمة. الكود معقد ، فهو يتكون من أكثر من 400 سطر. يبدو الأمر معقدًا ولكن إذا جربته بنفسك فستفهمه بسهولة أكبر وستتمكن من تغييره وتوسيعه واستخدامه في مشاريعك الخاصة. كما هو الحال دائمًا ، يمكنك العثور على الرمز المرفق هنا.

الخطوة السادسة: اختبار المشروع

اختبار المشروع
اختبار المشروع

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

الآن بعد أن عرفنا كيفية إنشاء قوائم لشاشات Nokia 5110 LCD ، يمكننا إضافة المزيد من الميزات إلى مشاريعنا وجعلها أكثر سهولة في الاستخدام. يمكن تحسين هذه القائمة البسيطة التي أنشأناها اليوم. يمكننا استخدام المقاطعات بدلاً من التحقق من حالات الزر طوال الوقت. بهذه الطريقة يمكننا تقليل استهلاك الطاقة للمشروع وجعل الكود أكثر نظافة. سأقوم بإعداد مقطع فيديو حول المقاطعات قريبًا ، لذا ترقبوا ذلك. أود أن أسمع رأيك حول مشروع القائمة هذا. هل تجدها مفيدة وتخطط لاستخدام قائمة في أي من مشروعك. الرجاء نشر أفكارك وأفكارك أدناه ، شكرا!

موصى به: