תוכן עניינים:

תפריט Arduino ב- Nokia 5110 Lcd באמצעות מקודד סיבובי: 6 שלבים (עם תמונות)
תפריט Arduino ב- Nokia 5110 Lcd באמצעות מקודד סיבובי: 6 שלבים (עם תמונות)

וִידֵאוֹ: תפריט Arduino ב- Nokia 5110 Lcd באמצעות מקודד סיבובי: 6 שלבים (עם תמונות)

וִידֵאוֹ: תפריט Arduino ב- Nokia 5110 Lcd באמצעות מקודד סיבובי: 6 שלבים (עם תמונות)
וִידֵאוֹ: סוללה נופלת מרחפן באוויר 2024, נוֹבֶמבֶּר
Anonim
Image
Image
תפריט Arduino ב- Nokia 5110 Lcd באמצעות מקודד סיבובי
תפריט Arduino ב- Nokia 5110 Lcd באמצעות מקודד סיבובי

חברים יקרים ברוכים הבאים להדרכה נוספת! בסרטון זה אנו הולכים ללמוד כיצד לבנות את התפריט שלנו לתצוגת LCD 5110 הפופולרית, על מנת להפוך את הפרויקטים שלנו לידידותיים יותר ויכולים יותר. בואו נתחיל!

זה הפרויקט שאנחנו הולכים לבנות. בתצוגה מופיע תפריט פשוט, ובעזרת המקודד הרוטרי אני יכול לנווט למעלה, או למטה ולבחור פריט תפריט על ידי לחיצה על כפתור המקודד הסיבוב. כאשר לוחצים על הכפתור האמצעי של המקודד הסיבוב, מופיע מסך אחר ונוכל לשנות את הערך של משתנה. אם נלחץ על כפתור המקודד הסיבוב פעם נוספת, נחזור למסך התפריט הראשי. התפריט כולל 6 פריטים, ואנו יכולים לגלול כלפי מטה או למעלה מהתפריט והפריטים בתצוגה ישתנו בהתאם. צפה בסרטון המצורף כדי לראות כיצד תפריט זה עובד בדיוק. כמובן שאתה יכול לשנות אותו כדי לבנות תפריטים מורכבים יותר משלך אם תרצה.

כעת נראה כיצד לבנות את הפרויקט הזה.

שלב 1: קבל את כל החלקים

קבל את כל החלקים
קבל את כל החלקים

החלקים הדרושים לבניית פרויקט זה הם:

  • Uno Arduino ▶
  • צג LCD 5110 של נוקיה ▶
  • מקודד סיבובי ▶
  • קרש לחם קטן ▶
  • כמה חוטים ▶
  • בנק בנק ▶

עלות הפרויקט נמוכה מאוד, היא פחות מ 10 $. תוכל למצוא קישורים לכל החלקים בהם אני משתמש בתיאור הסרטון למטה.

שלב 2: תצוגת LCD של נוקיה 5110

Image
Image
בניית הפרויקט
בניית הפרויקט

נוקיה 5110 היא התצוגה האהובה עליי בפרויקטים של Arduino.

נוקיה 5110 הוא מסך LCD גרפי בסיסי אשר נועד במקור למסך טלפון סלולרי. הוא משתמש בבקר PCD8544 שהוא בקר/מנהל התקן CMOS LCD בעל הספק נמוך. בגלל זה לתצוגה זו יש צריכת חשמל מרשימה. הוא משתמש רק 0.4mA כשהוא דולק אך התאורה האחורית מושבתת. הוא משתמש בפחות מ 0.06mA במצב שינה! זו אחת הסיבות שהופכות את המסך הזה למועדף עלי. PCD8544 מתממשק לבקרים באמצעות ממשק אוטובוס טורי. זה הופך את התצוגה לקלה מאוד לשימוש עם Arduino. אתה רק צריך לחבר 8 חוטים.

הכנתי הדרכה מפורטת כיצד להשתמש במסך LCD 5110 של Nokia עם Arduino. צירפתי את הסרטון הזה במדריך זה, הוא יספק מידע שימושי על התצוגה, לכן אני ממליץ לך לצפות בו בזהירות. עלות התצוגה היא בסביבות 4 $.

אתה יכול להשיג את זה כאן: ▶

שלב 3: מקודד סיבובי

Image
Image

מקודד סיבובי, המכונה גם מקודד פיר, הוא מכשיר אלקטרו-מכני הממיר את המיקום הזוויתי או התנועה של פיר או ציר לקוד אנלוגי או דיגיטלי. מקודדים רוטרי משמשים ביישומים רבים הדורשים סיבוב בלתי מוגבל של פיר, כולל פקדים תעשייתיים, רובוטיקה, עדשות צילום מיוחדות, התקני קלט מחשב (כגון עכברים אופטומכניים וכדורי מסלול), ריומטרי מתח מבוקרים ופלטפורמות מכ ם מסתובבות.

המקודד הרוטרי בו אנו הולכים להשתמש בפרויקט זה הוא מקודד זול מאוד. יש לו גם כפתור מוטבע וכדי שזה יעבוד אנחנו צריכים לחבר רק 5 חוטים. הכנתי הדרכה מפורטת כיצד להשתמש במקודד סיבובי. תוכל למצוא את הסרטון המצורף כאן.

העלות של מקודד סיבובי זה נמוכה מאוד. זה עולה בערך 1.5 $.

אתה יכול להשיג את זה כאן ▶

שלב 4: בניית הפרויקט

Image
Image
בניית הפרויקט
בניית הפרויקט
בניית הפרויקט
בניית הפרויקט

עכשיו נחבר את כל החלקים יחד. לפני בניית הפרויקט הזה, אם לא השתמשת במקודד סיבוב בעבר, אני ממליץ לך לצפות במדריך שהכנתי בנושא מקודדים סיבוביים. זה יעזור לך להבין כיצד פועלים מקודדים סיבוביים ותצבור איתם קצת ניסיון. סרטון זה מצורף כאן.

הנחתי את התצוגה על קרש לחם קטן כזה. תחילה נחבר את התצוגה. הסיכה הראשונה בתצוגה שהיא איפוס עוברת לסיכה דיגיטלית 3 של ה- Arduino Uno, הסיכה השנייה עוברת לסיכה דיגיטלית 4, הסיכה השלישית עוברת לסיכה הדיגיטלית 5, הסיכה הרביעית לסיכה הדיגיטלית 11 והסיכה החמישית לדיגיטלית סיכה 13. הסיכה הבאה היא Vcc. אנו מחברים את ה- Vcc למעקה החיובי של לוח הלחם, ואת המעקה החיובי של הלחם לפלט 3.3V של ה- Arduino. הסיכה הבאה היא תאורה אחורית לתצוגה. מכיוון שאנו רוצים לשלוט בו באמצעות התוכנה אנו מחברים אותו לסיכה דיגיטלית 7. הסיכה האחרונה היא GND. אנו מחברים את GND למעקה השלילי של לוח הלחם, ואת המעקה השלילי של לוח הלחם ל- Arduino GND.

עכשיו כל שעלינו לעשות הוא לחבר את המקודד הסיבובי. הסיכה הראשונה היא GND ואנו מחברים אותה למעקה שלילי של לוח הלחם. הסיכה הבאה היא Vcc ואנו מחברים אותה למעקה החיובי של לוח הלחם. הסיכה הבאה היא SW ואנו מחברים אותה לפין אנלוגי 2. הסיכה הבאה נקראת DT ואנו מחברים אותה לפין אנלוגי 1. לבסוף הסיכה CLK מחוברת לפין אנלוגי 0. תוכל למצוא את התרשים הסכימטי של הפרויקט הזה ב תיאור הסרטון למטה.

כעת אנו מוכנים להפעיל את הפרויקט. כפי שאתה יכול לראות, הפרויקט עובד מצוין, והתפריט עובד כצפוי! מצוין, בואו נראה את התוכנה של הפרויקט.

שלב 5: קוד הפרויקט

קוד הפרויקט
קוד הפרויקט

בפרויקט זה אנו משתמשים ב -4 ספריות. אנו משתמשים בשתי ספריות לתצוגה, ושתי עבור המקודד הסיבובי.

  1. Adafruit GFX:
  2. נוקיה 5110:
  3. ספריית מקודדים:
  4. ספריית TimerOne:

בהתחלה אנחנו נסתכל על הפונקציה drawMenu. פונקציה זו אחראית על ציור התפריט בתצוגה. פונקציה זו נקראת כל כמה אלפיות השנייה, כך שאם יש שינוי בתפריט הפונקציה הזו אחראית לעדכון התפריט על המסך.

int menuitem = 1; int frame = 1; int int = 1; int lastMenuItem = 1;

ישנם גם 3 משתנים גלובליים חשובים מאוד, הדף המשתנה, תפריט המשתנה והמסגרת המשתנה. הדף המשתנה זוכר איזה מסך ממשק משתמש יוצג על המסך. לכן, אם משתנה הדף הוא 1, אנו נמצאים במסך ממשק המשתמש הראשי, ואם המשתנה הוא 2 אנו נמצאים במסך ממשק המשתמש המשני שבו אנו קובעים את הערך על משתנה. פריט התפריט זוכר את פריט התפריט שנבחר. אם הערך שלו הוא 1, פריט התפריט הראשון נבחר, כך שפונקציית DrawMenu חייבת לצייר פריט זה בתפריט בשחור עם אותיות לבנות. אם פריט התפריט הוא 2 פריט התפריט השני נבחר וכן הלאה. משתנה המסגרת, זוכר איזה חלק מהתפריט מוצג על המסך. מכיוון שהתפריט שיצרנו מכיל 6 פריטים ונוכל להציג רק 3 מהם בכל פעם, עלינו לדעת אילו פריטים מוצגים על המסך. משתנה המסגרת, אומר לנו בדיוק את זה. אם למשתנה המסגרת יש ערך 1, אנו מציגים את שלושת פריטי התפריט הראשונים, אם הם 2, אנו מציגים פריטים 2, 3, 4 וכן הלאה.

ניסיתי להפוך את הקוד לכמה שיותר קל לשינוי ולכן יצרתי כמה משתנים גלובליים שמחזיקים את השמות של פריטי התפריט. בדרך זו תוכל ליצור תפריטים משלך בקלות מבלי לחפש בקוד.

String menuItem1 = "ניגודיות"; String menuItem2 = "עוצמת קול"; String menuItem3 = "שפה"; String menuItem4 = "קושי"; String menuItem5 = "אור: מופעל"; String menuItem6 = "איפוס";

תאורה אחורית בוליאנית = אמת;

int contrast = 60; נפח int = 50;

שפת מחרוזת [3] = {"EN", "ES", "EL"};

int selectedLanguage = 0;

קושי מחרוזת [2] = {"קל", "קשה"};

int selectedDif קושי = 0;

בהתחלה אנו מאתחלים את כל המשתנים הגלובליים הדרושים בקוד. לאחר מכן אנו מאתחלים את התצוגה. בפונקציית הלולאה, בהתחלה אנו קוראים לפונקציית drawMenu כדי לצייר את התפריט על המסך. לאחר מכן אנו קוראים את הערך ממקודד הרוטרי ובודקים אם נלחץ על הכפתור. לדוגמה, אם אנו נמצאים במסך ממשק המשתמש הראשי ופריט התפריט הראשון נבחר, אם הערך מהמקודד הסיבוב עלה, משתנה menuitem עולה ובלולאה הבאה פונקציית drawMenu תצייר את פריט התפריט השני כפי שנבחר. אם נלחץ כעת על כפתור המקודד הסיבוב אנו מנווטים לדף השני, שם אנו קובעים את ערך המשתנה. שוב באמצעות המקודד הסיבוב נוכל להגדיל או להקטין את ערך המשתנה. אם נלחץ על הכפתור אנו ניווט חזרה לדף התפריט הראשי, ומשתנה הדף יורד.

זה הרעיון הבסיסי מאחורי התפריט הזה. אנו פועלים לפי אותו הליך עבור כל פריטי התפריט והדפים. הקוד מורכב, אורכו מעל 400 שורות. זה נראה מסובך אבל אם תנסה את זה בעצמך אתה הולך להבין את זה ביתר קלות ותוכל לשנות את זה, להרחיב אותו ולהשתמש בו בפרויקטים שלך. כמו תמיד אתה יכול למצוא את הקוד המצורף כאן.

שלב 6: בדיקת הפרויקט

בדיקת הפרויקט
בדיקת הפרויקט

אם נטען את הקוד נוכל לראות שהפרויקט עובד כצפוי. אנו יכולים לנווט את התפריט למעלה ולמטה באמצעות הפיר ונוכל לבחור כל פריט בתפריט על ידי לחיצה על כפתור המקודד הסיבוב. כמה מגניב זה!

כעת, כאשר אנו יודעים כיצד לבנות תפריטים למסכי LCD 5110 של נוקיה, נוכל להוסיף תכונות נוספות לפרויקטים שלנו ולהפוך אותם לידידותיים יותר למשתמש. ניתן לשפר את התפריט הפשוט הזה שבנינו היום. נוכל להשתמש בהפרעות במקום לבדוק את מצבי הכפתורים כל הזמן. כך נוכל לצמצם את צריכת החשמל של הפרויקט ולהפוך את הקוד לנקי יותר. בקרוב אכין סרטון על הפרעות, אז הישארו מעודכנים. אשמח לשמוע את דעתכם על פרויקט התפריט הזה. האם אתה מוצא את זה שימושי והאם אתה מתכנן להשתמש בתפריט בכל אחד מהפרויקטים שלך. אנא פרסם את מחשבותיך ורעיונותיך למטה, תודה!

מוּמלָץ: