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

3-Wire HD44780 LCD עבור פחות מ 1 דולר: 5 שלבים
3-Wire HD44780 LCD עבור פחות מ 1 דולר: 5 שלבים

וִידֵאוֹ: 3-Wire HD44780 LCD עבור פחות מ 1 דולר: 5 שלבים

וִידֵאוֹ: 3-Wire HD44780 LCD עבור פחות מ 1 דולר: 5 שלבים
וִידֵאוֹ: Introduction to LCD2004 LCD display with I2C module for Arduino 2024, יולי
Anonim
3-Wire HD44780 LCD עבור פחות מ 1 דולר
3-Wire HD44780 LCD עבור פחות מ 1 דולר

במדריך זה נלמד כיצד אנו יכולים לחבר LCD המבוסס על ערכת השבבים HD44780 לאוטובוס SPI ולהניע אותו עם 3 חוטים בלבד בפחות מ -1 $. למרות שאני אתמקד בתצוגה האלפאנומרית HD44780 במדריך זה, אותו עיקרון יעבוד פחות או יותר אותו דבר עבור כל מסך LCD אחר שמשתמש באוטובוס נתונים מקביל של 8 סיביות, וניתן להתאים אותו בקלות להתאמה למסכים עם אוטובוסי נתונים של 16 ביט.. התצוגות האלפאנומריות המבוססות על HD44780 (ותואמות) זמינות בדרך כלל בתצורות 16x2 (2 שורות המורכבות מ -16 תווים) ו -20x4, אך ניתן למצוא אותן בצורות רבות יותר. התצוגה ה'מסובכת 'ביותר תהיה תצוגה בגודל 40x4, תצוגה מסוג זה מיוחדת מכיוון שיש לה 2 בקרי HD44780, אחד לשתי השורות העליונות ואחד לשתי השורות התחתונות. בחלק ממסכי ה- LCD הגרפיים יש גם שני בקרים. מסכי ה- HD44780 LCD נהדרים, הם מאוד זולים, קריאים וקלים לעבודה. אבל יש להם גם כמה חסרונות, הצגים האלה תופסים הרבה סיכות קלט/פלט כאשר הם מחוברים ל- Arduino. בפרויקטים פשוטים זה לא מדאיג, אבל כאשר הפרויקטים גדלים, עם הרבה IO, או שבהם יש צורך בסיכות מסוימות לדברים כגון קריאה אנלוגית או PWM, העובדה שמצלמות LCD אלה דורשות מינימום של 6 סיכות יכולה להפוך ל- בְּעָיָה. אבל אנחנו יכולים לפתור את הבעיה הזו בצורה זולה ומעניינת.

שלב 1: השגת הרכיבים

השתמשתי ב- TaydaElectronics ברוב הרכיבים בהם השתמשתי בפרויקט זה. אתה יכול להשיג את החלקים האלה גם ב- ebay, אך לנוחות השימוש, אקשר אותך ל- Tayda. Shopping List2 - חבילת 74HC595 DIP161 - כותרת גברית כללית - 2 סיכות. זה לא נדרש, השתמשתי בזה כדרך להשבית לצמיתות את התאורה האחורית.3 - קבלים קרמיים - קיבול 0.1µF; מתח 50V1 - קבל אלקטרוליטי - קיבול 10µF; מתח 35V1 - קבלים קרמיים - קיבול 220pF; מתח 50V1 - NPN -טרנזיסטור - חלק # PN2222A* 1 - 1k Ω Resistor1 - פוטנציומטר גוזם - התנגדות מרבית 5kΩ1 - 470 Ω Resistor* עם טרנזיסטור NPN התאורה האחורית תישאר כבויה עד שתופעל על ידי תוכנה. אם ברצונך להדליק את התאורה האחורית כברירת מחדל, השתמש בטרנזיסטור מסוג PNP. עם זאת, יש לבצע שינויים בקוד הספרייה המסופקת. סכום המשנה לרשימה זו הוא $ 0.744. כותרת הסיכה גם אינה נדרשת, כך שתוכל לחסוך 15 סנט ממש שם והסיכום המשוער יהיה 0.6 $.

שלב 2: דע את החומרה שלך מספר 1

דע את החומרה שלך מספר 1
דע את החומרה שלך מספר 1

להלן סיכה סטנדרטית מתוך LCD44780 LCD, היא גם דומה מאוד לכמה מסכי LCD גרפיים. ה- HD44780 יכול לעבוד בשני מצבים: 1. מצב 4 סיביות, כאשר כל בת שנשלח אל ה- LCD מורכבת משני חלקים של 4 סיביות. 2. מצב 8 סיביות, בו נתמקד. LCD כולל 16 סיכות בסך הכל, 3 סיכות שליטה ו -8 סיכות נתונים: RS - קובע אם ברצוננו לשלוח פקודה או נתונים ל- LCD. כאשר 'גבוה' פירושו נתונים (תו) ו- 'נמוך' פירושו בתים פקודה. R/W - בקר HD44780 מאפשר לך לקרוא מתוך ה- RAM שלו. כאשר סיכה זו היא 'גבוהה' נוכל לקרוא נתונים מסיכות הנתונים שלה. כשהוא 'נמוך' נוכל לכתוב נתונים ל- LCD. למרות שבמקרים מסוימים האפשרות לקרוא מתוך LCD יכולה להיות שימושית, אך לא נעבור עליה במדריך זה ופשוט נטחן את הסיכה הזו כדי להבטיח שהיא תמיד נמצאת במצב כתיבה. E - E היא סיכה 'אפשר', סיכה זו מופעלת 'גבוהה' ואז 'נמוכה' כדי לכתוב את הנתונים ל- RAM שלה ולבסוף להציג אותם על המסך. DB0-7 - אלה סיכות הנתונים. במצב 4 סיביות אנו משתמשים רק ב- 4 סיביות גבוהות DB4 -DB7, ובמצב 8 סיביות כולן מנוצלות., אנו יכולים להאכיל אותו בקלות מהסיכה של Arduino + 5v. Vo - זהו הסיכה המאפשרת לך להגדיר את רמת הניגודיות לתצוגה, היא דורשת פוטנציומטר, בדרך כלל משתמשים בסיר של 5K אוהם. LED + - זהו ה- מקור כוח לתאורה האחורית. חלק ממסכי ה- LCD אינם מגיעים עם תאורה אחורית, ויש להם רק 14 סיכות. ברוב המקרים סיכה זו דורשת גם חיבור +5V. LED- - זוהי הקרקע לתאורה האחורית. ** חשוב לבדוק את גליון הנתונים של התצוגה או לבדוק את הלוח המודרני שלו כדי לבדוק אם יש נגד נגד תאורה אחורית, ברוב מסכי ה- LCD יש לבנות אותם. -במקרה זה, כל שעליך לעשות הוא להפעיל כוח על LED+ ולטחון על LED-. אבל במקרה של- LCD שלך אין נגד מובנה לתאורה האחורית, חשוב שתוסיף אחד, אחרת התאורה האחורית תצרוך הרבה כוח ובסופו של דבר היא תישרף. ברוב המקרים הדרך שבה LCD זה מחובר לארדואינו היא באמצעותו במצב 4 סיביות והארקה של סיכת ה- R/W. בדרך זו אנו משתמשים בסיכות RS, E ו- DB4-DB7. להפעלה במצב של 4 סיביות יש חיסרון קטן נוסף בכך שלוקח זמן כפול לכתוב נתונים למסך מאשר לתצורה של 8 סיביות. למסך ה- LCD יש זמן 'התיישבות' של 37 מיקרו שניות, פירוש הדבר שעליך להמתין 37 מיקרו שניות לפני שליחת הפקודה או בתים הבאים לתצוגת ה- LCD. מכיוון שבמצב של 4 סיביות עלינו לשלוח נתונים פעמיים עבור כל בת, כל הזמן הנדרש לכתיבת בת אחת עולה ל -74 מיקרו שניות. זה עדיין מספיק מהיר, אבל רציתי שהעיצוב שלי יניב את התוצאות הטובות ביותר האפשריות. הפתרון לבעיה שלנו במספר הסיכות בהן נמצא בממיר סידורי למקבילי …

שלב 3: דע את החומרה שלך מס '2

דע את החומרה שלך מס '2
דע את החומרה שלך מס '2

מה שנעשה הוא לבנות מתאם אשר לוקח סוג תקשורת טורית שיוצא מהארדואינו וממיר את הנתונים לפלט מקביל שניתן להאכיל אותו ל- LCD שלנו. נכנס שבב 74HC595. זהו פנקס משמרות זול ופשוט להפעלה. בעיקרו של דבר מה שהוא עושה הוא לקחת שעון ואותות נתונים שהוא משתמש בו כדי למלא מאגר פנימי של 8 סיביות עם 8 הביטים האחרונים ש"שעו פנימה ". לאחר שהסיכה 'תפס' (ST_CP) הובאה 'גבוהה' היא מעבירה את הביטים הללו ל -8 היציאות שלה. ל- 595 יש תכונה נחמדה מאוד, יש לה סיכת יציאה של נתונים סדרתיים (Q7 '), סיכה זו יכולה לשמש שרשרת 2 או יותר 595 יחדיו כדי ליצור מתאמים סידוריים עד מקבילים ברוחב 16 סיביות או יותר. לפרויקט זה נזדקק לשני מהשבבים הללו. ניתן גם לשנות את הסכימה לעבודה עם 595 יחיד במצב 4 סיביות, אך זה לא יכוסה במדריך זה.

שלב 4: חיווט הכל

חיווט הכל
חיווט הכל

כעת, כאשר אנו יודעים כיצד החומרה שלנו עובדת, אנו יכולים לחבר את כל זה. בתרשים אנו רואים 2 595 שבבים דייזי כבולים יחד ליצירת פלט מקביל של 16 ביט. השבב התחתון הוא בעצם העיקרי, והעליון כבול חישוק אליו. מה שאנחנו רואים כאן הוא שהתחתון 595 מניע את סיכות הנתונים של ה- LCD בתצורת 8 סיביות, השבב העליון שולט באות ה- RS ותאורה אחורית על ידי הפעלה או כיבוי של טרנזיסטור. זכור את ההערה *בנוגע לתאורה האחורית של LCD על דף החומרה מס '1 שלך, במקרה של LCD שלך אין נגד תאורה אחורית, אל תשכח להוסיף אחד במעגל שלך. במקרה שלי LCDs כבר באתי עם נגד מובנה, אז דילגתי על השלב הזה. הניגודיות מוחלת באמצעות סיר 5K אוהם, סיכה אחת עוברת ל- GND השנייה הולכת ל- VCC והמגב לסיכת ה- Vo על ה- LCD. הקבלים המשמשים בקווי ה- VCC של ה- LCD ו- 595 הם ניתוק קבלים, הם שם כדי להיפטר מהפרעות. הם אינם חובה אם אתה עובד על לוח לחם, אך יש להשתמש בהם במקרה שאתה בונה גרסה משלך של מעגל זה לשימוש מחוץ ל"תנאי מעבדה ". R5 ו- C9 באותו הסדר הספציפי מאוד יוצרים עיכוב RC, מה שמוודא שלנתונים ביציאות של 595 יש זמן להתייצב לפני שהסיכה אפשר ב- LCD תהיה "גבוהה" וקוראת את הנתונים. Q7 'של 595 התחתון נכנס לקלט הנתונים הטוריים של ה- 595 בחלק העליון, זה יוצר שרשרת דייזי של 595s ובכך ממשק 16 ביט. החיבור אל הארדואינו קל. אנו משתמשים בתצורת 3 חוטים, באמצעות סיכות SPI של Arduino. זה מאפשר העברת נתונים מהירה מאוד, שליחת 2 בתים ל- LCD בדרך כלל אורכת כ -8 מיקרו שניות. זה מהיר מאוד, וזה בעצם הרבה יותר מהיר מהזמן שלוקח ל- LCD לעבד את הנתונים, ולכן יש צורך בעיכוב של 30 מיקרו שניות בין כל כתיבה. יתרון אחד גדול מאוד בשימוש ב- SPI הוא שהסיכות D11 ו- D13 משותפות עם התקני SPI אחרים. המשמעות היא שאם יש לך כבר רכיב אחר שמשתמש ב- SPI, כגון מד תאוצה, פתרון זה ישתמש רק בסיכה אחת נוספת לאות ההפעלה. בדף הבא נראה את התוצאה. בניתי תרמיל על לוח פרפונים והוא עובד טוב מאוד בשבילי עד כה.

שלב 5: התוצאה + ספרייה

התוצאה + ספרייה
התוצאה + ספרייה
התוצאה + ספרייה
התוצאה + ספרייה
התוצאה + ספרייה
התוצאה + ספרייה
התוצאה + ספרייה
התוצאה + ספרייה

"תמונה שווה אלף מילים", אני מסכים עם המשפט הזה, אז הנה כמה תמונות של התוצאה הסופית של הפרויקט הזה. אלה תמונות של המוצר שהושלם, תצוגת ה- PCB של Fritzing היא פריסת לוח הלוחות שבה השתמשתי לבניית תיק הגב שלי. אתה עשוי למצוא את זה שימושי אם אתה רוצה לבנות משלך. אהבתי את זה עד כדי כך שעיצבתי PCB באמצעות DipTrace והזמנתי חבילה של 10 PCBs. אני אצטרך 2 או 3 יחידות לעצמי אבל אעשה את השאר זמין במחיר סמלי כשאקבל אותן. אז אם מישהו מעוניין שיגיד לי. * עריכה: ה- PCB נמצאים כאן, והם עובדים. להלן גלריית התמונות המלאה לפרויקט זה, כולל ה- PCB בפועל. https://imgur.com/a/mUkpw#0 כמובן שלא שכחתי את הדבר החשוב ביותר, ספרייה לשימוש במעגל זה. הוא תואם את ספריית LiquidCrystal הכלולה ב- Arduino IDE, כך שתוכל להחליף בקלות את ההצהרות בחלק העליון של המערכון שלך ולא תצטרך לשנות שום דבר אחר בסקיצה שלך. יש גם סקיצה לדוגמא שמדגימה כיצד כל פונקציה בספרייה עובדת, אז בדוק זאת.

מוּמלָץ: