- חומר נדרש:
- רישום משמרות:
- ממשק LCD עם ESP12 ללא שימוש ב- Shift Register:
- קוד:
- ממשק LCD עם ESP12 באמצעות Shift Register SN74HC595N:
- קוד:
במדריך זה נראה כיצד לממשק את NodeMCU עם 16x2 LCD ללא שימוש בתקשורת I2C. כאן נתממש 16x2 LCD באמצעות הרשמת משמרת SN74HC595. אנחנו יכולים גם לממשק אותו גם בלי להשתמש בשום רישום משמרות. נראה שני סוגי הממשקים במדריך זה. ההבדל העיקרי בין שני הממשקים הוא מספר הפינים המשמשים ב- NodeMCU.
חומר נדרש:
- NodeMCU ESP12E
- SN74HC595 Shift Register IC
- מודול LCD 16x2
- פוטנציומטרים
- חוטי זכר-נקבה
- קרש לחם
רישום משמרות:
במערכות דיגיטליות, רושם משמרות הוא שילוב של כפכפים המכוסים בסדרה ומשותפים באותו שעון. בחבילה מדורגת זו, נתונים החוצה מכפכף אחד משמשים כ- data-in עבור הכפכף הבא, מה שמביא למעגל שמזיז במיקום אחד את מערך הסיביות השמור בו.
ה- IC בו אנו משתמשים הוא SN74HC595N. זהו סדרה פשוטה של 8 סיביות במקביל ל- IC. במילים פשוטות, IC זה מאפשר להוסיף כניסות או יציאות נוספות למיקרו-בקר על ידי המרת נתונים בין פורמטים מקבילים וטורליים. המיקרו-בקר שלנו משתמש בשלושה פינים של IC זה כדי לשלוח נתונים באופן סדרתי. למעשה פלט של 8 סיביות יגיע על 8 פינים לאחר קבלת מידע של 8 סיביות מסיכות קלט. למידע נוסף על רושמי משמרות כאן.
דיאגרמת PIN ופונקציות PIN של IC SN74HC595N מובאות להלן:
תוכלו למצוא ממשק של 74HC595N עם Arduino ועם Raspberry pi כאן.
ממשק LCD עם ESP12 ללא שימוש ב- Shift Register:
אם השתמשת ב- 16x2 LCD עם לוח ה- Arduino, זה יהיה קל מאוד. אתה צריך פשוט סיכות חיבור ב- NodeMCU בדיוק כמו שעשית עם לוח Arduino.
יש 16 פינים של GPIO ב- NodeMCU ואנחנו צריכים 6 פינים ו- gnd, vcc. חבר פינים לפי דיאגרמת המעגל המפורטת להלן:
נשתמש בארבעה פינים נתונים ו- RS, EN של LCD המחוברים כ:
סיכה d7 של LCD == סיכה D8 של NodeMCU
סיכה d6 של LCD == סיכה D7 של NodeMCU
סיכה d5 של LCD == סיכה D6 של NodeMCU
סיכת d4 של LCD == סיכה D5 של NodeMCU
סיכת RS של LCD == סיכה D2 של NodeMCU
סיכה של LCD == סיכה D3 של NodeMCU
אתה יכול להשתמש בכל GPIO עבור חיבורים אלה.
כעת העלה את הקוד באמצעות Arduino IDE כפי שהוסבר קודם. הקוד זהה לזה של לוח Arduino אשר ניתן למצוא בדוגמה Liquidcrystal. התוכנית פשוטה ומובנת בקלות אם ברצונך ללמוד עוד על התוכנית בדוק את ממשק ה- LCD שלנו לתכנית Arduino.
קוד:
#לִכלוֹל
כפי שראינו, כבר השתמשנו ב- 6 פינים של NodeMCU. יש כבר פחות פינים זמינים עבור הלוח הקטן הזה ונשאר לנו מעט סיכות לממשק חיישנים אחרים.
לכן, כדי להתגבר על בעיה זו נשתמש ב- IC של משמרת רישומים אשר ימזער את המס. של סיכות המשמשות ב- NodeMCU.
ממשק LCD עם ESP12 באמצעות Shift Register SN74HC595N:
ישנם 8 פלטים ו -3 פינים קלט זמינים ב- IC של רישום המשמרות. נשתמש בשש פינות פלט להתחברות עם ה- LCD ו -3 פינות קלט ל- NodeMCU.
חיבורי LCD עם IC ניתנים כ:
סיכה D7 של LCD == סיכה 1 של IC
סיכת D6 של LCD == סיכה 2 של IC
סיכת D5 של LCD == סיכה 3 של IC
סיכת D4 של LCD == סיכה 4 של IC
סיכת RS של LCD == סיכה 7 של IC
סיכה של LCD == סיכה 15 של IC
חיבור של NodeMCU עם IC:
סיכה D6 של NodeMCU == סיכה 14 של IC, PIN של DATA של IC
סיכה D7 של NodeMCU == סיכה 12 של IC, PIN LATCH של IC
סיכה D8 של NodeMCU == סיכה 11 של IC, PIN CLOCK של IC
חבר את ה- PIN 16 ו- PIN 10 של IC ל- Vcc.
חבר את PIN 8 ו- PIN 13 של IC ל- GND.
בצע מעגל בזהירות על פי התרשים להלן:
כעת החומרה שלנו מוכנה לתכנות.
כעת, אנו זקוקים לספרייה " LiquidCrystal595 " שניתן להוריד מקישור זה https://github.com/tehniq3/LiquidCrystal595 על ידי ביצוע השלבים הבאים:
1. תפריט Goto Sketch של Arduino IDE.
2. לחץ על כלול ספרייה .
3. כעת לחץ על הוסף ספריית zip. בחר קובץ zip שהורדת מהקישור הנתון ונעשה.
כעת העלה את הקוד המופיע למטה ותראה הודעה שמדפיסה את ה- LCD.
קוד:
#לִכלוֹל
הקוד פשוט מכיוון שעלינו פשוט לתת סיכת נתונים, סיכת תפס וסיכה כשעון כטיעון ב- LiquidCrystal595 lcd (); ושאר הקוד זהה למה שעשינו בעבר.
בדרך זו שמרת רק 3 פינים של NodeMCU באמצעות Shift Register.
כמו כן, בדוק ממשק LCD בגודל 16x2 עם מיקרו-בקרים אחרים:
- ממשק LCD עם מיקרו-בקר PIC
- ממשק LCD 16x2 עם פטל פי באמצעות פיתון
- ממשק LCD עם מיקרו-בקר ATmega32
- ממשק LCD עם מיקרו-בקר 8051