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

תצוגת LCD 5V עם Arduino Due 3.3V I2C: 5 שלבים
תצוגת LCD 5V עם Arduino Due 3.3V I2C: 5 שלבים

וִידֵאוֹ: תצוגת LCD 5V עם Arduino Due 3.3V I2C: 5 שלבים

וִידֵאוֹ: תצוגת LCD 5V עם Arduino Due 3.3V I2C: 5 שלבים
וִידֵאוֹ: Как использовать SSD1306 128x32 OLED-дисплей I2C с кодом Arduino 2024, יולי
Anonim
תצוגת LCD 5V עם Arduino Due 3.3V I2C
תצוגת LCD 5V עם Arduino Due 3.3V I2C

פוסט זה נועד להסביר דרך קלה יותר להשתמש ב- Arduino Due (או לוח 3.3V אחר) עם תצוגת LCD 16x2 הפופולרית עם מודול מתאם I2C.

הבעיה הראשונית היא ש- LCD צריך 5V כדי שהתאורה האחורית שלו תפעל כראוי, אך סיכות SCL ו- SDA צריכות לפעול במהירות של 3.3V כדי לתקשר עם ה- Arduino Due מבלי לגרום נזק. כדי לפתור זאת, מצאתי שתי אפשרויות:

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

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

אספקה

Arduino Due

צג LCD 16x2 עם מודול מתאם I2C

מלחם

משאבת הלחמה או פתיל הלחמה

מַלְקֶטֶת

שלב 1: מקור הפתרון

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

forum.arduino.cc/index.php?topic=553725.0

תשובה מאת: david_prentice

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

שלב 2: הסבר

מכשירים

כדי שהתקשורת I2C תפעל, היא דורשת נגדי Pullup המחוברים לסיכות ה- SDA וה- SCL. הסיבה לכך היא שהמכשירים הופכים את הסיכות האלה LOW רק בתקשורת. כדי לייצג HIGH, הוא רק צריך לא לשלוח LOW, ובזכות הנעימות הוא עובר ל- HIGH. (הבנה זו תהיה די חשובה בהמשך)

"תרמיל I2C" LCD כולל שני נגדי משיכה 4K7 המשרתים את דרישת I2C. אבל מכיוון שהם מחוברים ל- Vcc, אם אתה משתמש ב -5 וולט, הם ימשכו SDA ו- SCL ל -5 וולט.

אם אתה מסתכל על גליון הנתונים, אתה יכול לראות שבניגוד ללוחות אחרים, ל- Due יש כבר נגדי משיכה 1K5 המשולבים על ה- SDA הראשי, סיכות SCL, שמושכים אותם ל -3.3 וולט.

בדיקות

  • תצוגת LCD -> ארדואינו
  • Gnd -> Gnd
  • Vcc -> 5V
  • SDA -> SDA
  • SCL -> SCL

אם רק תחבר את ה- LCD על ה- Due (בהתאם לחיווט למעלה), אסיפות ה- 1k5 (או 1k0) Due המחוברות ל -3.3V ועיניות ה- LCD של 4K7 המחוברות ל- 5 V יגרמו לקווי I2C סרק של 3.7 V (3.6 V עם 1k0). זה לא טוב, שכן גליון הנתונים של Due קובע מתח מרבי של 3.6 V לקווי הקלט/פלט שלו.

על ידי בדיקת תרחיש זה, עם רק ה- LCD, קיבלתי 3, 56 V. על ידי הוספת מודול EEPROM לאותו SDA ו- SCL, הוא עלה ל- 3.606 V. בשני המקרים הכל עבד כרגיל, אך אלה רחוקים ממתח אידיאלי. רמות בהתחשב במקסימום 3.6 V שנקבע.

אז כן, יש סיכוי שזה יעבוד בדיוק כמו שלי בזמן שלא עשה שום שינוי. אבל רמת המתח עדיין רחוקה מלהיות אידיאלית וקצת אי התאמה לגבי ה- Pulse או ה- LCD עשויה לגרום לה לעבור את גבול 3.6 V. (רצוי לפחות לבדוק לפני זהירות עם פוטנציומטר 20K או 100K מהי ההתנגדות הנמוכה ביותר בין 5 V ו- SCL/SDA סיכות לפני שהם מגיעים ל -3.6 V, אם כי שאר הפתרון הרבה יותר בטוח וכנראה קל יותר)

פִּתָרוֹן

הפתרון המוצג הוא פשוט להסיר את נגדי המשיכה מתרמיל ה- LCD, המנסים למשוך את הקו עד 5 V. לאחר מכן יישארו רק נגדי המשיכה המשולבים של Due, תוך משיכת קווי SCL ו- SDA ל -3.3V. זה עבד בצורה מושלמת, ושמר על סיכות הסרק בסביבות 3.262 וולט!

החיבורים נותרו זהים:

  • תצוגת LCD -> ארדואינו
  • Gnd -> Gnd
  • Vcc -> 5V
  • SDA -> SDA
  • SCL -> SCL

אם אתה תוהה אם ה- LCD לא ימשוך את הקו ל -5 V כדי לייצג HIGH בעת תקשורת, זכור כי ב- I2C המכשירים מושכים רק את הקווים LOW, היות האות HIGH המיוצג כאשר אינו מפריע, וזה יהיה 3.3 V מ- הסגירות המשולבות של ה- Due.

כמו כן, 3.3 V מספיקה לתרמיל I2C להתייחס לאות גבוה.

שלב 3: זהה והסר את הנגדים

זהה והסר את הנגדים
זהה והסר את הנגדים
זהה והסר את הנגדים
זהה והסר את הנגדים

התמונה למעלה מציגה באדום את נגדי ה- pullup שמצאתי במודול שלי.

לזהות

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

במקרה שלי, היו שלושה מהנגדים 4K7 (472 בקוד SMD) על הלוח. רק שניים מהם ענו על הדרישות שלמעלה, והצביעו על אלה הם הסווגים שחיפשנו!

ליתר זהירות (אם מסיבה כלשהי הם לא היו 4K7), בדקתי גם את הנגדים האחרים ואישרתי שאף אחד מהם לא ענה על הדרישות להיות משיכות.

לְהַסִיר

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

שלב 4: השוואה בין פתרונות

ממיר רמה לוגית דו כיוונית (LLC)

יתרונות:

אינו דורש ציוד הלחמה או יכולת

חסרונות:

פרסם יותר כבלים ו- LLC לרשימת רכיבי הרשימה שלך

חיבורים מסארי יותר עם הרכיבים הנוספים

מעט יותר יקר

הרחק את נגדי ה- LCD הנגישים

יתרונות:

תוצאה סופית נקייה יותר

סביר להניח שתוכל לעשות זאת מיד, מבלי לחכות ל- LLC

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

חסרונות:

משנה את מעגל ה- LCD (אם אתה רוצה שהוא יהיה "מוכן לשימוש" עם ה- Uno, שכבר יש לו את הקליפות 4K7, תוכל לבטל את השינויים שיפתרו אותם)

שלב 5: שיקולים אחרונים

אני מקווה שהדרכה זו שופכת אור על נושא התאימות הזה ועל כמה מהפתרונות האפשריים שלה.

אם יש לך רעיונות לשיפור, הסברים טובים יותר, פתרונות חדשים או שמצאת שגיאה בהודעה, אנא ספר לי בתגובות!:)

מוּמלָץ: