לְחַפֵּשׂ
סגור את תיבת החיפוש הזו.

מודול LCD מתממש 16×2 ללא I2C: מדריך מקיף עבור Arduino ו-ESP32

תוֹכֶן הָעִניָנִים

מאמר זה צולל עמוק לתוך עולם ההתממשקות של מודול LCD בגודל 16×2 עם מיקרו-בקרים כמו Arduino ו-ESP32, תוך התמקדות ספציפית בהגדרה מבלי להשתמש במודול I2C. אנו נחקור מדוע אתה יכול לבחור בשיטה זו, כיצד היא פועלת, ונספק מדריך מפורט לחיבור ותכנות ה-LCD שלך. אם אתה מחפש להבין את היסודות של ממשק LCD וכיצד להניע צג lcd בגודל 16×2 מבלי להסתמך על הנוחות של מתאם I2C, זה המדריך בשבילך.

מודול LCD Arduino Character 1602

1. מהו 16×2 LCD ולמה ממשק אותו?

תצוגת LCD בגודל 16×2, קיצור של תצוגת גביש נוזלי של 16 תווים על 2 שורות, היא מודול תצוגה נפוץ ורב-תכליתי. הוא משמש להצגת טקסט ומידע מספרי בצורה ברורה ותמציתית. שלא כמו צגים גרפיים מורכבים, צגי LCD בגודל 16×2 הם פשוטים יחסית להפעלה, מה שהופך אותם למושלמים עבור פרויקטים שונים של מיקרו-בקרים. ה-"16×2" מתייחס ליכולתו להציג 16 תווים בכל אחת משתי השורות שלו, מה שהופך אותו למתאים להצגת קריאות חיישנים, סטטוס פרויקט או הודעות משתמש. התממשקות מודולי תצוגת LCD אלה עם מיקרו-בקרים כמו arduino או ESP32 מאפשרת לפרויקטים שלך ליצור אינטראקציה עם המשתמש על ידי הצגת מידע בצורה קריאה אנושית. הם זולים יחסית וקלים לשימוש.

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

2. למה לבחור ממשק מסך 16×2 LCD ללא I2C?

בעוד שמודולי I2C מציעים את הנוחות של צמצום מספר הפינים הנדרשים לממשק, לבחירה בחיבור LCD 16×2 ללא i2c יש מספר יתרונות. ראשית, הוא מספק הבנה מעמיקה יותר של פרוטוקולי התקשורת הבסיסיים וכיצד פועל מודול ה-LCD, מה שהופך אותו לחוויה חינוכית נהדרת. שנית, על ידי אי הסתמכות על ממשק i2c אתה נמנע מהמורכבות של אפיק i2c ומהתנגשויות כתובות פוטנציאליות. זה יכול להיות חשוב אם אתה מתמודד עם מגבלות בפרויקט שלך או רוצה להפחית את המורכבות של חיבור מכשירי i2c שלך. אתה לא מוגבל בכתובת אחת.

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

3. איזו חומרה נדרשת כדי ממשק מסך 16×2 LCD ללא מודול I2C?

כדי לממשק מודול LCD בגודל 16×2 ללא i2c, תזדקק לכמה רכיבים חיוניים. פריט הליבה הוא LCD סטנדרטי בגודל 16×2, שבדרך כלל מגיע עם 16 פינים לחיבור. תזדקק גם למיקרו-בקר, כגון Arduino Uno, או ESP32. בנוסף, תזדקק לחוטי מגשר כדי לחבר את הפינים השונים של מודול ה-LCD למיקרו-בקר שלך. יתר על כן, יש צורך בפוטנציומטר כדי להתאים את הניגודיות של תצוגת ה-LCD. לוח לחם יכול להיות עזרה גדולה כדי לשמור על הכל מחובר ומאורגן בצורה מסודרת.

האתגר המרכזי בעת חיבור LCD 16×2 ללא i2c הוא שהוא דורש יותר פינים מהמיקרו-בקר שלך מאשר שימוש במתאם i2c. באופן ספציפי, נשתמש ב-6 פינים כדי לשלוט בתצוגת ה-LCD, בתוספת שני פינים כדי לשלוט על אספקת החשמל והארקה. לכן, עליך לתכנן את מעגל המיקרו-בקר שלך עם מספיק פיני פלט זמינים. קבלת הפינים האלה זמינים נותן לך שליטה מלאה על ה-LCD. הפוטנציומטר מאפשר לך לכוונן את הניגודיות כך שהטקסט על צג ה-LCD נראה בבירור.

4. איך עובד ה-LCD 16×2 פנימי?

ה-LCD בגודל 16×2 מבוסס על בקר HD44780 או על שבב תואם. בקר זה מנהל את הצגת התווים ומקבל פקודות באמצעות ממשק מקביל. הממשק משתמש בדרך כלל ב-8 פיני נתונים (D0-D7) או 4 פיני נתונים במצב 4 סיביות (D4-D7), בתוספת פיני בקרה (RS, R/W ו-EN). כל מיקום תו בצג ה-LCD מטופל על ידי הבקר באופן פנימי. כאשר אתה שולח פקודה או נתוני תו, הבקר HD44780 מקבל את הפקודה ופועל בהתאם.

הבקר HD44780 משתמש בפקודות ספציפיות למשימות כמו ניקוי התצוגה, הגדרת מיקום הסמן או אתחול ה-LCD. הבנת הארכיטקטורה הזו חיונית כשאתה כותב קוד לשליטה ב-LCD ללא ההפשטה שמספק מודול i2c. הפקודות נשלחות לתצוגה על פני פיני הנתונים ואופן התקשורת נקבע על ידי פיני בקרה. זה גם מאפשר לבקר לעבוד עם סוגים שונים של גדלי תצוגה כמו 20×4, תצוגת ה-LCD 16×2 משתמשת בערכת תווים מוגדרת מראש שניתן להציג על המסך.

5. איך לחבר 16×2 LCD ישירות לארדואינו?

חיבור א 16×2 LCD ישירות לארדואינו כרוך בחיווט של כל פין הכרחי. ראשית, תצטרך לחבר את פין VSS של ה-LCD לאדמה (GND) ואת פין VDD ל-5V, זה ספק הכוח שלך. פין V0 (התאמת ניגודיות) מחובר לפין האמצעי של הפוטנציומטר; שני הפינים האחרים של הפוטנציומטר מחוברים לאדמה ול-5v כדי ליצור מחלק מתח שבו נשתמש כדי לשנות את הניגודיות של תצוגת ה-LCD. לאחר מכן, חבר את פין ה-RS (Register Select) של ה-LCD לפין דיגיטלי של הארדואינו (למשל, פין 12). ה-R/W (קריאה/כתיבה) צריך להיות מקורקע מכיוון שאנו נכתוב נתונים רק ל-LCD. ה-EN (Enable) צריך להיות מחובר לפין דיגיטלי אחר ב-arduino (למשל, פין 11).

לאחר מכן, חבר את פיני הנתונים D4 ל-D7 לפינים דיגיטליים ב-arduino, למשל פינים 5, 4, 3 ו-2 בהתאמה. בדרך זו, אנו משתמשים במצב 4 סיביות, שהוא נוהג נפוץ, מכיוון שהוא משתמש בפחות סיכות. מצב 4 סיביות פשוט יותר ומשתמש בפחות חיווט בהשוואה למצב 8 סיביות. יש לחבר את פיני התאורה האחורית A (אנודה) ו-K (קתודה) ל-5V ו-GND בהתאמה עם נגד מגביל זרם על האנודה במידת הצורך. ודא שאתה משתמש בתרשים מעגל כדי להנחות את התהליך הזה. הפינים לפעמים ממוספרים אחרת עבור כמה מודולי LCD. את פריסת הפינים ניתן למצוא תמיד בגיליון הנתונים של מודול ה-LCD.

מסך תצוגה LCD STN בגודל 16x2 תווים

6. תכנות ה-Arduino שלך להנעת ה-LCD 16×2: מדריך מפורט

כדי לתכנת את ה-arduino שלך לממשק ל-LCD 16×2, תצטרך להשתמש בספריית LiquidCrystal. התחל בפתיחת האייד של arduino וכלול את ספריית ה-Liquidcrystal בקוד הפרויקט שלך. אתחל את אובייקט ה-LCD בקוד שלך, ציין את הפינים המשמשים לחיבור. בדוגמה שלנו זה פינים: RS, EN, D4, D5, D6, D7. לְדוּגמָה: LiquidCrystal lcd(12, 11, 5, 4, 3, 2);. בתוך הפונקציה setup(), אתחול ה-LCD על ידי קריאה lcd.begin(16, 2); כדי להגדיר את מספר העמודות והשורות של תצוגת ה-LCD. עליך גם לאתחל את ה-LCD באמצעות הפונקציה אתחול ה-LCD.

כעת, בפונקציית הלולאה, אתה יכול להשתמש בפקודות שונות כדי להציג נתונים על צג ה-LCD. לדוגמה, אתה יכול להגדיר את מיקום הסמן עם lcd.setCursor(עמודה, שורה); והצג טקסט עם lcd.print("שלום עולם");. אתה יכול לנקות את התצוגה עם lcd.clear(); פְּקוּדָה. אתה יכול ליצור תוכנית קצרה ולהריץ כמה קודים כדי לבדוק את הלוח ואחרי שחיברתי הכל. אתה יכול להשתמש בצג טורי כדי לנפות באגים בתוכנית. ספריית ה-Liquidcrystal מטפלת עבורך בכל התקשורת ברמה נמוכה של HD44780, כך שאינך צריך לדאוג לגבי שליחת רצפי בתים בודדים ואותות בקרה. פונקציית המפתח היא lcd.print() המשמשת להצגת הנתונים.

#לִכלוֹל 

// הגדר פינים המחוברים ל-LCD
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;

// אתחול אובייקט LCD
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

בָּטֵל הגדרה() {
  // הגדר את מספר העמודות והשורות
  lcd.לְהַתְחִיל(16, 2);
  // הדפס הודעה ל-LCD
  lcd.הֶדפֵּס("שלום, LCD!");
}

בָּטֵל לוּלָאָה() {
  // הגדר את הסמן לשורה השנייה
  lcd.setCursor(0, 1);
  // הצג את השעה
  lcd.הֶדפֵּס(מיליליוס()/1000); lcd.הֶדפֵּס("שניות");
}

7. מה לגבי ה-ESP32? ממשק מסך 16×2 LCD ללא I2C ב-ESP32

ממשק מסך 16×2 LCD ללא i2c ב-ESP32 דומה לעשות זאת ב-Arduino, אך עם כמה הבדלים קלים. ה-ESP32 הוא מיקרו-בקר של 3.3V, בעוד ה- 16×2 LCD מתוכנן בדרך כלל לפעול ב-5V. לכן, ייתכן שיהיה עליך להשתמש במשמרות רמה עבור תאימות מתח בין ה-ESP32 לפינים הלוגיים של ה-LCD. לחלופין, שימוש בלוח esp32 עם העברת רמות יכול לבטל את הצורך במעגלים חיצוניים להעברת רמות. החיווט הפיזי יהיה במידה רבה זהה לזה של ארדואינו. חבר את VSS לאדמה ו-VDD ל-5V (או 3.3V אם אתה משתמש ב-LCD 3.3V או במשמרות רמה).

הקוד באידי ה-arduino יהיה כמעט זהה לזה שסופק עבור arduino עם מעט שינויים עד ללא שינויים. השתמש בספריית LiquidCrystal באותו אופן כמו במדריך Arduino. זכור להגדיר את חיבורי הפינים שלך בצורה נכונה ב- LCD של LiquidCrystal לְהִתְנַגֵד. בדוק תמיד את גיליון הנתונים של מודול ה-LCD שלך כדי לוודא שהפינים מחוברים כהלכה. בדוק גם את ה-pinout של לוח ה-ESP32 שלך כדי להבטיח חיבורים נכונים. היה מודע לסיכות השונות שעשויות להיות זמינות ובחר את הנכונים עבור היישום שלך.

8. איך ליצור תווים מותאמים אישית על 16×2 LCD ללא I2C?

יצירת תווים מותאמים אישית על גבי LCD בגודל 16×2 אפשרית, אפילו ללא עזרת מודול i2c. הבקר HD44780 מאפשר לך להגדיר עד 8 תווים מותאמים אישית. אתה יוצר תווים מותאמים אישית על ידי הגדרת דפוס של בתים, כאשר כל בייט מייצג שורה של מטריצת התווים 5×8 פיקסלים. לשם כך, תחילה עליך ליצור מערך בתים המגדיר את תבנית הפיקסלים עבור הדמות המותאמת אישית שלך. כל בייט מייצג שורה אחת של התו.

לאחר מכן, השתמש ב- lcd.createChar(location, characterMap) פונקציה בקוד Arduino. ארגומנט המיקום מגדיר באיזה מ-8 המיקומים הזמינים לאחסן את התו החדש (0 עד 7), ו-charakterMap הוא מערך הבתים שיצרת זה עתה. לאחר מכן תוכל להציג את הדמות המותאמת אישית שלך באמצעות lcd.write(location) בקוד שלך, איפה מִקוּם הוא המיקום שהגדרת בעבר. זה נעשה באמצעות אובייקט ה-LCD שיצרת בעבר. זה שימושי ביותר אם היישום שלך זקוק לתווים ייחודיים שאינם זמינים בערכת התווים הסטנדרטית של מודול ה-LCD.

9. פתרון בעיות נפוצות בעת ממשק מסך 16×2 LCD ללא I2C

התממשקות ל-LCD בגודל 16×2 ללא מתאם i2c, אמנם פשוטה, אך יכולה להציג כמה בעיות נפוצות. הבעיה הראשונה היא חיווט שגוי. בדוק תמיד את דיאגרמת המעגל וודא שכל החיבורים נכונים. שגיאה נפוצה היא היפוך הקוטביות של פיני אספקת הכוח של מודול ה-LCD שעלול להזיק לו לצמיתות. כמו כן, ודא שהחוטים שלך מחוברים היטב. שנית, אתחול שגוי של אובייקט ה-LCD עלול לגרום לבעיות. בדוק שוב שהפינים מאותחלים כהלכה בהתאם לחיבור ללוח. כמו כן, סוג מודול ה-LCD עשוי לדרוש רצף אתחול מעט שונה.

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

10. טכניקות מתקדמות ופרויקטים עתידיים עם 16×2 LCD

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

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

LCD1602 LCD מודול תצוגת STN COB

נקודות חשובות: 10 דברים שכדאי לזכור בעת התממשקות 16×2 LCD ללא I2C

  • הבנת היסודות: מודול ה-LCD 16×2 נשלט באמצעות 6-10 פיני בקרה ונתונים ללא מודול i2c.
  • חיבורי פינים הם קריטיים: בדוק את גיליון הנתונים עבור ה-pinout הספציפי עבור מודול ה-LCD שלך.
  • התאמת ניגודיות: השתמש תמיד בפוטנציומטר כדי לכוונן את הניגודיות של תצוגת ה-LCD.
  • ספריית LiquidCrystal: השתמש ב- LiquidCrystal ספרייה ב-arduino ide כדי לפשט את התכנות.
  • אִתחוּל: אתחול תמיד את ה-LCD בצורה נכונה באמצעות lcd.begin(16, 2);.
  • תצוגת נתונים: השתמש ב- lcd.print() כדי להציג נתונים למודול התצוגה.
  • תווים מותאמים אישית: צור תווים מותאמים אישית באמצעות lcd.createChar() כאשר אתה דורש אותם.
  • פתרון בעיות: בדוק שוב את כל החיווט, הקוד והחיבורים כדי לזהות את הגורם לבעיות כלשהן.
  • זמינות סיכות: שים לב לסיכות המיקרו-בקר המשמשות כאשר אתה מחליט להשתמש בשיטה זו.
  • להתקדם הלאה: חקור טכניקות מתקדמות ליצירת יישומים מורכבים עוד יותר.

על ידי ביצוע המדריך המקיף הזה, אתה אמור להיות מצויד היטב כדי להתחיל להתממש ישירות עם מודול ה-LCD שלך בגודל 16×2 עם Arduino או ESP32 ולהציג את המידע שהפרויקטים שלך דורשים, ללא מתאם i2c.

הערות

צור קשר

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

חקירה מקוונת

מלא את הטופס למטה, וניצור איתך קשר בהקדם.