דלגו לתוכן המרכזי
KitLab
שיעור קודם
מסך LCD1602 ותקשורת I2C· 20 / 41
מסך LCD1602 ותקשורת I2C
🎬

הסרטון בדרך אלינו

בינתיים — התמלול המלא של השיעור מחכה לכם למטה

מסך LCD1602 ותקשורת I2C

מה בשיעור?

  • 16 תווים על 2 שורות
  • I2C — SDA, SCL וכתובות
  • פוטנציומטר הניגודיות
  • למה אין while True בכלל
  • המסך זוכר את מה שהוצג בו

מה נלמד כאן

  • מסך LCD1602
  • תקשורת I2C
  • להציג טקסט

מסך אמיתי

מסך LCD1602

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


הידע שצריך

1. המסך

מבנה המסך

16 תווים ברוחב, 2 שורות. כל תו הוא מטריצת נקודות 5×8.

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

מה אפשר להציג: אותיות אנגליות, ספרות, סימנים ותווים מותאמים.

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

2. I2C — שני חוטים לכל הרכיבים

מודול ה-I2C

הקו התפקיד
SDA נתונים — דו-כיווני
SCL שעון — נוצר על ידי הבקר

ואיך כמה מכשירים חיים על אותם שני חוטים? לכל אחד כתובת ייחודית צרובה בשבב.

חמשת שלבי התקשורת: התחלה → כתובת → אישור → נתונים → סיום.

זוכרים מפרק 1? ל-ESP32 שני בקרי I2C, וכל אחד מנהל עד כ-112 מכשירים. עכשיו ברור למה זה שימושי.


הניסוי

המטרה: להציג "ACEBOTT" ו-"Hello World!".

רשימת רכיבים

הרכיב כמות
לוח ESP32 1
לוח ניסוי 400 נקודות 1
מסך LCD1602 1

התרשים החשמלי

התרשים החשמלי

החיבור

חיבור הרכיבים

ארבעה חוטים בלבד: VCC, GND, SDA, SCL.


הקוד

from libs.Acebott import i2c
from libs.ACB_LCD1602 import ACB_LCD1602
import time

lcd = ACB_LCD1602(i2c)                              # אתחול
lcd.set_backlight(True)                             # תאורה אחורית

lcd.display_text_at_position(0, 0, "    ACEBOTT    ")   # עמודה 0, שורה 0
lcd.display_text_at_position(0, 1, "  Hello World!  ")  # עמודה 0, שורה 1

שימו לב שאין while True בכלל. התוכנית רצה פעם אחת ונגמרת — והמסך זוכר את מה שהוצג בו.

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

i2c מיובא מוכן מהספרייה — לא צריך להגדיר פינים, היא כבר יודעת.

מה אמור לקרות

המסך מציג טקסט


נסו בעצמכם

  • אם המסך ריק — סובבו את הפוטנציומטר בגב.
  • הדפיסו את השם שלכם. מה קורה אם הטקסט ארוך מ-16 תווים?
  • הוסיפו while True עם טקסט מתחלף כל שנייה.
  • שלבו עם שיעור 12: הציגו טמפרטורה ולחות על המסך. זה כבר מוצר.
  • ב-Shell: צרו את האובייקט והקלידו lcd.display_text_at_position(0,0,"Hi").

🧰 הרכיבים לשיעור הזה

רוצים את חומרי הקורס והעדכונים?

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