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

השתמש ב- 16x2 LCD עם I2C: 4 שלבים
השתמש ב- 16x2 LCD עם I2C: 4 שלבים

וִידֵאוֹ: השתמש ב- 16x2 LCD עם I2C: 4 שלבים

וִידֵאוֹ: השתמש ב- 16x2 LCD עם I2C: 4 שלבים
וִידֵאוֹ: Введение в LCD2004 ЖК-дисплей с модулем I2C для Arduino 2024, נוֹבֶמבֶּר
Anonim
השתמש ב- 16x2 LCD עם I2C
השתמש ב- 16x2 LCD עם I2C
השתמש ב- 16x2 LCD עם I2C
השתמש ב- 16x2 LCD עם I2C
השתמש ב- 16x2 LCD עם I2C
השתמש ב- 16x2 LCD עם I2C

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

במדריך זה, אראה לך כיצד לחבר LCD ל- I2C, שיהיו בו רק 4 סיכות לשליטה ולשימוש ב- LCD. אז בואו נתחיל.

שלב 1: דרושים רכיבים

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

לפרויקט זה תזדקק ל:

  • ארדואינו אונו
  • 16X2 LCD
  • I2C עבור 16x2 LCD
  • חוטי חיבור

עם כל אלה, בואו ניכנס לחלק החיבורים.

שלב 2: חיבורים

חיבורים
חיבורים
חיבורים
חיבורים
חיבורים
חיבורים
חיבורים
חיבורים

עיין בתמונות וצור את החיבורים. זה די פשוט, אתה רק צריך לחבר את ה- I2C ביציאות ה- LCD ולהלחם אותו במקומו. לאחר מכן חבר את סיכת SCL לסיכה A4 בארדואינו ואת סיכת SDA לסיכה A5 בארדואינו.

אני לא הלחמה I2C כפי שכבר הלחמתי סיכות כותרת על ה- LCD. אבל הייתי מציע להלחם את ה- I2C על ה- LCD

שלב 3: קוד

יש ספריית מאסטר LCD I2C הכלולה ב- Arduino IDE. אבל יש בעיה קלה עם הקוד בו. כל הדוגמאות בספרייה זו מניחות את כתובת ברירת המחדל של I2C כ- 0x27. אז ראשית עלינו לברר מה הכתובת של ה- I2C שלנו. אנו יכולים לעשות זאת באמצעות קוד הסורק I2C. ברגע שיש לנו את כתובת I2C נוכל להחליף ערך זה בקוד הדוגמה ולהתחיל להשתמש בו.

קוד סורק I2C:

#לִכלוֹל

הגדרת חלל () {Wire.begin (); Serial.begin (9600); בעוד (! סדרתי); // המתן למסך הטורי Serial.println ("\ nI2C Scanner"); } לולאת void () {שגיאת בתים, כתובת; int nDevices; Serial.println ("סריקה …"); nDevices = 0; עבור (כתובת = 1; כתובת <127; כתובת ++) {// i2c_scanner משתמש בערך ההחזרה של // ה- Write.endTransmisstion כדי לבדוק אם // מכשיר אכן אישר את הכתובת. Wire.beginTransmission (כתובת); error = Wire.endTransmission (); if (error == 0) {Serial.print ("מכשיר I2C נמצא בכתובת 0x"); if (כתובת <16) Serial.print ("0"); Serial.print (כתובת, HEX); Serial.println ("!"); nDevices ++; } אחרת אם (error == 4) {Serial.print ("שגיאה לא ידועה בכתובת 0x"); if (כתובת <16) Serial.print ("0"); Serial.println (כתובת, HEX); }} if (nDevices == 0) Serial.println ("לא נמצאו התקני I2C / n"); אחרת Serial.println ("נעשה / n"); עיכוב (5000); // המתן 5 שניות לסריקה הבאה}

קוד דוגמה (להצגת תווים שהוזנו ב- Monitor Serial):

#כלול #כלול

LiquidCrystal_I2C lcd (0x3F, 20, 4); // הגדר את כתובת ה- LCD ל- 0x27 עבור תצוגה של 16 תווים ו -2 שורות

הגדרת חלל ()

{lcd.init (); // לאתחל את lcd lcd.backlight (); Serial.begin (9600); }

לולאת חלל ()

{// כאשר תווים מגיעים מעל היציאה הטורית … if (Serial.available ()) {// המתן מעט עד שההודעה כולה תגיע עיכוב (100); // נקה את המסך lcd.clear (); // קרא את כל התווים הזמינים בעוד (Serial.available ()> 0) {// הציג כל תו ל- LCD lcd.write (Serial.read ()); }}}

שלב 4: הפלט

הפלט
הפלט
הפלט
הפלט

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

מוּמלָץ: