תוכן עניינים:
וִידֵאוֹ: LCD COG לננו Arduino: 3 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:16
מדריך זה מתאר כיצד להשתמש ב- LCD COG עם Arduino Nano.
צגי LCD COG זולים אך מעט יותר קשים לממשק. (COG מייצג "שבב על זכוכית".) זה שבו אני משתמש מכיל שבב דרייבר UC1701. הוא דורש רק 4 סיכות של ה- Arduino: שעון SPI, נתוני SPI, בחירת שבבים ופקודה/נתונים.
UC1701 נשלט על ידי אוטובוס SPI ופועל במהירות 3.3V.
כאן אני מגדיר כיצד להשתמש בו עם Arduino Nano. זה אמור לעבוד גם עם מיני Arduino או Uno - אנסה זאת בקרוב.
זהו פרויקט ה- Arduino הראשון שלי ולא כתבתי C מזה עשרות שנים, כך שאם אני עושה טעויות ברורות, אנא יידע אותי.
שלב 1: בניית החומרה
קנה LCD COG המכיל שבב UC1701. זה צריך להשתמש באוטובוס SPI ולא בממשק מקביל. יהיו בו כ -14 סיכות שיסומנו בשמות כמו אלה המפורטים להלן. (אתה לא רוצה ממשק מקביל עם הרבה יותר סיכות שכותרתן D0, D1, D2 …)
זה שקניתי הוא: https://www.ebay.co.uk/itm/132138390168 או שאתה יכול לחפש ב- eBay אחר "12864 LCD COG".
בחר אחד בעל זנב רחב למדי עם סיכות במרווחים של 1.27 מ"מ - סיכות עדינות יותר יהיה קשה להלחמה. וודא שיש לו שבב UC1701. שימו לב כיצד בתמונה השישית בדף ebay כתוב "מחבר: COG/UC1701".
הצג שקוף וקשה לדעת מהו החלק הקדמי והאחורי. למד את התמונות שלי בעיון. שימו לב היכן הסיכות 1 ו -14 - הן מסומנות על הזנב.
הזנב הגמיש די קל להלחם אך הוא דורש מתאם כך שתוכל לחבר אותו ללוח לחם. קניתי: https://www.ebay.co.uk/itm/132166865767 או שאתה יכול לחפש ב- eBay אחר "מתאם SMD SSOP28 DIP28".
המתאם לוקח שבב SOP של 28 פינים בצד אחד או שבב SSOP של 28 פינים בצד השני. לשבב SOP יש מרווח סיכות של 0.05 אינץ '(1.27 מ מ) שזהה לזנב ה- LCD.
תצטרך גם כמה סיכות לכותרת. בכל פעם שאני קונה Arduino או מודול אחר, הוא מגיע עם יותר סיכות כותרת ממה שצריך אז כנראה שכבר יש לך כמה. אחרת, חפש ב- eBay אחר "סיכות כותרת 2.54 מ"מ".
הלחמה 14 של סיכות הכותרת על המתאם. אל תדחוף אותם לאורך כל הדרך - זה יותר נחמד אם החלק האחורי של המתאם שטוח. שים אותו שטוח על הספסל שלך כך שלא ניתן לדחוף את הסיכות רחוק מדי לתוך החורים. וודא שהסיכות נמצאות בצד ה- SOP של הלוח (כלומר השבב הגדול יותר).
כריות הזנב נמצאות במעין חלון. פח את שני צידיהם בעזרת הלחמה. הדקו את כריות המתאם. החזק את זנב המתאם במקומו ולאחר מכן גע בכל פד בעזרת מגהץ (תצטרך קצה דק למדי).
קשרו קצת חוט דרך החורים במתאם כדי לשמש הקלה במתיחות. (השתמשתי ב"חוט שנאי ").
אם אתה מלחם אותו בצורה לא נכונה, אל תנסה להסיר את הזנב. הוצא את הסיכות אחת אחת והעבר אותן לצד השני של הלוח. (כן, עשיתי את הטעות הזו והלחמתי מחדש את הזנב ולכן זה קצת בלגן בתמונה.)
שלב 2: התחברות ל- Arduino
חלק זה מסביר כיצד להתחבר ל- Arduino Nano. זה יהיה דומה מאוד עבור מיני או אונו אבל עדיין לא ניסיתי את זה.
למד את תרשים המעגלים.
Arduino Nano המחובר ליציאת USB פועל במהירות 5V. מסך LCD עובד על 3.3V. אז אתה צריך להפעיל את ה- LCD מהפין 3V3 של הננו ולהפחית את המתח על כל סיכת בקרה מ -5V ל -3.3V.
נקודת הסימון של ה- LCD היא:
- 1 CS
- 2 RST
- 3 תקליטורים
- 4
- 5 CLK
- 6 SDA
- 7 3V3
- 8 0V Gnd
- 9 VB0+
- 10 VB0-
- 11
- 12
- 13
- 14
CS הוא שבב בחר. הוא נמשך נמוך כדי לבחור (לאפשר) את השבב UC1701. (CS יכול להיקרא CS0 או En או דומה).
RST הוא איפוס. הוא נמשך נמוך כדי לאפס את השבב. (RST עשוי להיקרא איפוס).
תקליטור הוא פקודה/נתונים. הוא נמשך נמוך כאשר שולחים פקודות לשבב באמצעות SPI. זה גבוה בעת שליחת נתונים. (תקליטור עשוי להיקרא A0.)
CLK ו- SDA הם סיכות האוטובוס SPI. (SDA עשוי להיקרא SPI-Data. CLK עשוי להיות SCL או SPI-Clock).
VB0+ ו- VB0- משמשים את משאבת הטעינה הפנימית של UC1701. משאבת הטעינה מייצרת את המתחים המוזרים הדרושים ל- LCD. חבר קבל 100n בין VB0+ ל- VB0-. תיעוד UC1701 ממליץ על 2uF אך לא יכולתי לראות הבדל עם ה- LCD המסוים הזה.
אם במסך ה- LCD שלך יש סיכות VB1+ ו- VB1, חבר גם ביניהן קבל 100n. (אם למסך ה- LCD שלך יש סיכת VLCD, תוכל לנסות לחבר קבל 100n בין VLCD ל- Gnd. זה לא שינה שום דבר עם ה- LCD שלי.)
חבר את ה- LCD ל- Nano כדלקמן:
- 1 CS = D10 *
- 2 RST = D6 *
- 3 תקליטורים = D7 *
- 5 CLK = D13 *
- 6 SDA = D11 *
- 7 3V3 = 3V3
- 8 0V = Gnd
("*" פירושו שימוש במפריד פוטנציאלי כדי להפחית את המתח. אם הארדואינו פועל על 3V3 מאספקה עצמאית, לא תזדקק לנגדים.)
3.3V פלט על ידי ה- Nano ויכול לספק מספיק זרם ל- LCD. (התצוגה שואבת בסביבות 250uA.)
5V מופלט גם על ידי ה- Nano וניתן להשתמש בו כדי להפעיל את התאורה האחורית. הגבל את הזרם לתאורה האחורית עם נגד 100ohm.
אם חסרים לכם סיכות ב- Nano, תוכלו לחבר RST ל- 3V3 - אז תוכלו להשתמש ב- D6 למשהו אחר. ניתן לאפס את U1701 בתוכנה באמצעות פקודה ב- SPI. מעולם לא היו לי בעיות עם זה, אבל אם אתה משתמש במעגל שלך בסביבה רועשת, אולי עדיף להשתמש באיפוס חומרה.
שלב 3: תוכנה
בתיאוריה, אתה יכול להסיע את UC1701 מספריית U8g2 (או Ucglib או מהספריות האחרות הזמינות). נאבקתי במשך ימים כדי לגרום לזה לעבוד ולא הצלחתי. ספריית U8g2 היא מפלצת מכיוון שהיא יכולה להניע מגוון עצום של שבבים וקשה מאוד לעקוב אחר הקוד. אז ויתרתי וכתבתי ספרייה קטנה משלי. הוא תופס הרבה פחות מקום ב- Arduino (כ- 3400 בתים בתוספת גופנים).
אתה יכול להוריד את הספרייה שלי מכאן (כפתור ההורדה בדף זה). רישום לדוגמא ומדריך למשתמש כלולים. דף האינטרנט https://www.arduino.cc/en/Guide/Libraries מתאר כיצד לייבא ספרייה; עבור לסעיף "ייבוא ספריית.zip".
אתחל את ה- LCD עם
UC1701Begin ();
UC1701Begin יכול לקחת פרמטרים כדי לשנות את הסיכות או להתעלם מהסיכה RST. הספרייה משתמשת רק בחומרת SPI (תוכנת SPI לא ניתנת). ניתן להעיף את הצג בצירים x ו- y. זה שימושי אם אתה רוצה להרכיב את ה- LCD בכיוון אחר.
מספר נהלים הוכפלו מספריית U8g2:
- DrawLine
- DrawPixel
- DrawHLine
- DrawVLine
- DrawBox
- DrawFrame
- צייר מעגל
- DrawDisc
- DrawFilledEllipse
- DrawEllipse
- צייר משולש
- UC1701SetCursor
- UC1701ClearDisplay
חלק מהנהלים שונים במקצת:
- void DrawChar (uint8_t c, font font);
- void DrawString (char * s, word font);
- void DrawInt (int i, Font word);
הליכי ציור מחרוזות עוברים את האינדקס של פונט. גופנים מוכרזים בזיכרון הבזק של הארדואינו, כך שהם אינם תופסים SRAM יקר. מסופקים שלושה גופנים (קטנים, בינוניים וגדולים). הם מקושרים רק ותופסים זיכרון פלאש אם אתה משתמש בהם (כ- 500 עד 2000 בתים כל אחד).
"צבע" מטופל בצורה שונה מספריית U8g2. כאשר ה- LCD נמחק יש לו רקע כהה. אם MakeMark (משתנה גלובלי) נכון, הציור נעשה בלבן. אם MakeMark שקר, הציור נעשה בחושך.
כמה נהלים ייחודיים ל- UC1701:
SetInverted מצייר בשחור-על-לבן ולא בלבן-על-שחור.
void SetInverted (bool inv);
הבהירות והניגודיות של UC1701 נקבעים על ידי:
- void SetContrast (ערך uint8_t); // המוצע הוא 14
- SetResistor חלל (ערך uint8_t); // המוצע הוא 7
הם עובדים יחד בצורה די לא מספקת.
SetEnabled מכבה את ה- LCD:
void SetEnabled (bool en);
התצוגה לוקחת 4uA בזמן השינה. כדאי גם לכבות את התאורה האחורית - להניע אותה מסיכה של הננו. לאחר ההפעלה מחדש, UC1701 יאופס; התצוגה מתנקה והניגודיות וההתנגדות יאופסו לערכי ברירת המחדל שלהם.
אז לסיכום, תצוגות COG זולות ובגודל הגון. קל להתחבר לארדואינו.
מוּמלָץ:
LCD Invaders: משחק כמו פולשים בחלל בתצוגת תווים LCD בגודל 16x2: 7 שלבים
LCD Invaders: משחק כמו פולשים בחלל בתצוגת תווים LCD בגודל 16x2: אין צורך להציג משחק "פולש שטח" האגדי. המאפיין המעניין ביותר של פרויקט זה הוא שהוא משתמש בתצוגת טקסט עבור פלט גרפי. זה מושג על ידי יישום 8 תווים מותאמים אישית. אתה יכול להוריד את Arduino המלא
מדריך LCD 16x2 Arduino - תצוגת LCD 1602 ממשק עם Arduino Uno: 5 שלבים
מדריך LCD 16x2 Arduino | ממשק 1602 LCD עם Arduino Uno: היי חבר'ה מכיוון שפרויקטים רבים זקוקים למסך כדי להציג את הנתונים בין אם מדובר באיזה מד DIY או בתצוגת ספירת מנוי של YouTube או מחשבון או נעילת לוח מקשים עם תצוגה ואם כל סוגי הפרויקטים האלה נעשים עם arduino הם בהחלט יגדירו
תצוגת LCD I2C / IIC - השתמש ב- LCD SPI לתצוגת LCD I2C באמצעות מודול SPI ל- IIC עם Arduino: 5 שלבים
תצוגת LCD I2C / IIC | השתמש ב- LCD SPI לתצוגת LCD I2C באמצעות מודול SPI ל- IIC עם Arduino: היי חבר'ה מכיוון של- SPI LCD 1602 רגיל יש יותר מדי חוטים להתחבר כך שקשה מאוד לחבר אותו ל- arduino אבל יש מודול אחד זמין בשוק שיכול המר את תצוגת SPI לתצוגת IIC, אז עליך לחבר רק 4 חוטים
תצוגת LCD I2C / IIC - המרת LCD SPI לתצוגת LCD I2C: 5 שלבים
תצוגת LCD I2C / IIC | המרת LCD SPI לתצוגת LCD I2C: שימוש בתצוגת spi lcd צריך יותר מדי חיבורים לעשות וזה ממש קשה לעשות אז מצאתי מודול שיכול להמיר את ה- i2c lcd ל- spi lcd אז בואו נתחיל
SENSOR SUHU DENGAN LCD DAN LED (ביצוע חיישן טמפרטורה עם LCD ו- LED): 6 שלבים (עם תמונות)
SENSOR SUHU DENGAN LCD DAN LED (ביצוע חיישן טמפרטורה עם LCD ו- LED): היי, נגיד Devi Rivaldi mahasiswa UNIVERSITAS NUSA PUTRA dari Indonesia, di sini saya akan berbagi cara membuat suhu menggunakan Arduino en Output ke LCD dan LED. Ini adalah pembaca suhu dengan desain saya sendiri, dengan sensor ini anda