תוכן עניינים:
- אספקה
- שלב 1: חיבור התצוגה שלך
- שלב 2: הורד את התוכנה המסופקת
- שלב 3: הפעלת ההדגמה
- שלב 4: שימוש בספרייה המשופרת
- שלב 5: תכנות בעצמך
- שלב 6: כתיבת טקסט
- שלב 7: ציור קווים ומלבנים
- שלב 8: ציור מעגלים
- שלב 9: לא צבוע על מגרש צבעוני
- שלב 10: סיבוב
- שלב 11: ציור מפות סיביות
- שלב 12: הצגת מפת הסיביות שלך
וִידֵאוֹ: כיצד להוסיף תצוגת דיו אלקטרוני לפרויקט שלך: 12 שלבים (עם תמונות)
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:12
הרבה פרויקטים כוללים ניטור של נתונים כלשהם, כגון נתונים סביבתיים, לעתים קרובות באמצעות Arduino לשליטה. במקרה שלי, רציתי לעקוב אחר רמת המלח במרכך המים שלי. ייתכן שתרצה לגשת לנתונים ברשת הביתית שלך, אך באותה מידה ייתכן שתרצה להציג אותם היכן שהם נמדדים. או שתוכל לקבל תצוגה מחוברת מרחוק תמיד במיקום נוח יותר.
כיום ישנם מספר סוגים של תצוגות שניתן להשתמש בהן, כולן די זולות, אך בעלות יתרונות וחסרונות שונים:
- צג LCD אלפאנומרי הוא הזול ביותר אך גם המוגבל ביותר.
- צג OLED יכול להציג גרפיקה אך הזולים קטנים מאוד. בתמונה השנייה מוצג תצוגת OLED בגודל 128x64 פיקסלים לצד תצוגה של E-Ink.
- צג E-Ink (או E-Paper) הוא קצת יותר גדול ולכן קל יותר לקריאה, ויש לו יתרון שהתצוגה נשמרת גם כשהיא כבויה! אבל זה לוקח כמה שניות לצייר מחדש את התצוגה.
תצוגת E-Ink נראתה אידיאלית ליישום שלי מכיוון שיכולתי לתכנת את הארדואינו להתעורר רק כל כמה שעות, לקרוא קריאה ולהציג אותה לפני השינה. אין שום סיבה שלוקח מספר שניות לצייר מחדש את התצוגה.
ביישום כזה, ניתן לסדר את צריכת הזרם הממוצעת להיות כל כך נמוכה, שניתן לגרום לסוללת גלאי עשן ליתיום 9V להחזיק מעמד למשך 10 שנים! יתר על כן, חלק מהתצוגות הללו יציגו שלושה צבעים: לבן, שחור ואדום (או צהוב). אידיאלי אם ברצונך להציג אזהרה או התראה באדום.
אספקה
מסכי E-Ink הזולים ביותר שמצאתי נמכרים על ידי BuyDisplay, הזמינים גם ממפיצי eBay רבים. לרוע המזל התיעוד משאיר לא מעט לרצות ולכן לקחתי על עצמי לכתוב הדרכה - המשך לקרוא!
בהתאם לדרישותיך ולתקציב שלך, תוכל לבחור בין גדלים שונים:
- 1.54 אינץ '(152x152 = 23, 104 פיקסלים)
- 2.13 אינץ '(212x104 = 22, 048 פיקסלים)
- 2.6 אינץ '(296x152 = 44, 992 פיקסלים)
- 2.7 אינץ '(176x264 = 46, 464 פיקסלים)
- 2.9 אינץ '(296x128 = 37, 888 פיקסלים)
- 4.2 אינץ '(400x300 = 120, 000 פיקסלים)
- 5.83 אינץ '(640x480 = 307, 200 פיקסלים)
- 7.5 אינץ '(880x528 = 464, 640 פיקסלים)
(הטווח התרחב מאז שהפעם האחרונה שראיתי אז יכול להיות שהתרחב עוד יותר בפעם שתקרא את זה.)
הם זמינים בשני צבעים (שחור/לבן) או 3 צבעים (שחור/אדום/לבן או שחור/צהוב/לבן). הוראה זו מניחה שאתה משתמש באדום, אך אם בחרת בגרסה הצהובה, פשוט קרא "צהוב" עבור "אדום" לאורך כל הדרך.
בחר בגרסת SPI (4 חוטים). השתמשתי בדגם 1.54 אינץ ', שהוא בגודל נחמד מאוד.
שלב 1: חיבור התצוגה שלך
תצוגות אלה מגיעות עם כותרת 2x4 פינים. מספרי הסיכות מסומנים בבירור, סיכות 7, 5, 3 ו -1 (משמאל לימין) לאורך השורה העליונה ו -8, 6, 4, 2 לאורך החלק התחתון.
הצג שלך עשוי להגיע עם כבל תיקון בעל 8 כיוונים, מה שהופך את החיבור לקל. (לכבל התיקון שלי יש 2 חוטים אדומים ו -2 חומים. הם אינם ניתנים להחלפה!
הטבלה הבאה מציגה את החיבורים החלים על רוב סוגי Arduino (כולל Uno, Pro Mini, Pro Micro ו- Nano).
מודול דיו אלקטרוני | ארדואינו | ||
פִּין | שֵׁם | פִּין | שֵׁם |
1 | VDD | Vcc | 3.3/5V |
2 | VSS | Gnd | Gnd |
3 | נתונים סידוריים ב | 11 | MOSI |
4 | שעון סידורי | 13 | SCK |
5 | /שבב בחר | 10 | |
6 | Data/Instr | 9 | |
7 | אִתחוּל | 8 | |
8 | מכשיר עסוק | 7 |
שלב 2: הורד את התוכנה המסופקת
אתה יכול להשתמש בתוכנה שסופקה כמתואר בשלב זה, או שתוכל להשתמש בספרייה המשופרת שלי בשלב הבא, באחד.
מצא את המכשיר שלך ב- BuyDisplay.com. בתחתית הדף תמצא קובץ ZIP להורדה "ספריית ארדואינו ודוגמא ל- SPI בעל 4 חוטים". לחץ על זה כדי להוריד ולפתוח בסייר Windows.
סייר Windows יראה זאת כמכילה תיקיה אחת ברמה העליונה "Libraries-דוגמאות_ ER-EPM0154-1R". (השם יהיה מעט שונה אם שלך אינו הדגם בגודל 1.54 אינץ ').
העתק את התיקיה ברמה העליונה לתיקיית ספריות ה- Arduino שלך. לחץ לחיצה ימנית כדי לשנות את שם התיקיה ולמחוק את "ספריות-דוגמאות_" מהשם.
(כדי למצוא את תיקיית ספריות Arduino שלך, ב- IDE של Arduino, לחץ על קובץ … העדפות, וציין את מיקום Sketchbook. נווט אל זה ותמצא את תיקיית "הספריות" של Arduino בין תיקיות הסקיצות שלך.)
פתח את התיקיה הזו ופתח את התיקייה "ספריות" שבתוכה. גרור ושחרר את כל הקבצים בתיקייה זו לתיקיית האב ברמה אחת למעלה ("ER-EPM0154-1R"). מחק את התיקייה (כעת ריקה) "ספריות".
התקנת כעת את הקבצים וסקיצת בחינה כספריית Arduino. שים לב שאם התצוגה שלך אינה בגודל 1.54 אינץ ', נראה כי ההבדל היחיד הוא שתי שורות ב- ER-ERM*-1.h המגדירות את הרוחב והגובה.
ב- IDE של Arduino, לחץ על קובץ … Exampes וגלול מטה אל ER-EPM0154-1R עבור שרטוט ההדגמה, אותו אתה אמור להיות מסוגל לאסוף ולהריץ ברגע שחיברת את המסך ל- Arduino שלך.
שלב 3: הפעלת ההדגמה
במזהה Arduino, לחץ על קובץ … דוגמאות … ER-EPM0154-1R.
חבר את ה- Arduino למחשב באמצעות כבל USB, או כפי שאתה עושה בדרך כלל.
תחת כלים, הגדר את הלוח, המעבד והיציאה.
תחת סקיצה, לחץ על העלה.
יהיה עיכוב קל לאחר השלמת ההעלאה, ועשר העיכוב יהבהב מספר פעמים כשהוא מצייר את התמונה הראשונה. צפה בזמן שהוא עובר דרך ההדגמה.
שלב 4: שימוש בספרייה המשופרת
אתה יכול להוריד את הספרייה המשופרת שלי מ- github בכתובת
N. B. יש לי רמה גבוהה של ביטחון שהספרייה שלי תעבוד עם כל תצוגה תואמת גודל, אך למעשה בדקתי אותה רק עם דגם 1.54 . אם אתה משתמש בספרייה אחרת, אנא הודע לי על כך בתגובות בסוף מהמדריך הזה, כדי לאשר שזה עובד.אבל אם זה לא יעשה, אעשה כמיטב יכולתי לגרום לך ללכת.
הורד ושמור את קובץ ה- zip. במזהה Arduino, לחץ על סקיצה … כלול ספרייה … הוסף ספריית ZIP ובחר את קובץ ה- zip השמור.
הספרייה שלי מכילה מספר שיפורים קטנים:
- הוא מאפשר להשתמש במספרי סיכות Arduino שונים (למעט MOSI).
- ניתן להשתמש באותה ספרייה לכל מכשיר בגודל.
- מסופק מילוי חדש המוצל ב -50% ומילוי מנומר (נקבע פיקסלים אקראיים).
הספרייה מגיעה כקובץ רגיל דחוס מסוג Arduino (zip). הורד אותו לתיקיית ההורדות שלך (או היכן שאתה מעדיף) וב- Arduino IDE לחץ על סקיצה … כלול ספרייה … הוסף ספריית ZIP.
תחת דוגמאות, כעת תמצא E-ink_ER-EPM. יש 3 רישומים לדוגמא:
- מבחן ER_EPM154-1R: ההדגמה המקורית שסופקה על ידי הספק
- E-ink_demo: המערכון התפתח בשלבים הבאים
- E-ink_rotate: הדגמה של סיבוב תמונות.
שלב 5: תכנות בעצמך
למרבה הצער אין תיעוד עם הקוד שסופק על ידי הספק, וגם קוד הדוגמה אינו מובהק כראוי. זה מקשה על השימוש בו, והמטרה העיקרית של מדריך זה היא לשים את זה נכון.
מושגי יסוד
מכיוון שארדואינו מוגבל בכמות הזיכרון הזמינה, הספרייה מאפשרת לך לצייר או לכתוב בחלקים קטנים של המסך בכל פעם, ולהעלות אותם בנפרד לזיכרון הביניים של המכשיר. רק לאחר שהעלית את כל המנות שאתה צריך אתה אומר לו להציג את מה שיש לו בזיכרון.
חלקים אלה של המסך ידועים בשם אובייקטים "צייר". אתה צריך רק אחד, ובכל קטע של המסך אתה מגדיר את הגובה, הרוחב והסיבוב שלו. בסיום, אתה מעלה אותו, מגדיר את המיקום על המסך שאליו יש לטעון אותו ואם הוא צריך להיות שחור ולבן או אדום ולבן.
בפינה השמאלית העליונה של המסך יש קואורדינטות אופקיות (x) ואנכיות (y) (0, 0), השמאלית התחתונה היא (0, 151) והפינה הימנית העליונה היא (151, 0).
אתחול
פתח את הסקיצה E-ink_demo ב- IDE של Arduino ועקוב אחריה כשאני מתאר כיצד להשתמש בספרייה.
בראש הסקיצה תראה את השורות הבאות, שתמיד יש צורך בהן:
#include <SPI.h #include "ER-ERM0154-1.h" #include "imagedata.h" #include "epdpaint.h" #define COLORED 0 #define UNCOLORED 1 Epd epd;
שורות #כלול מושכות את הספריות הנדרשות. SPI.h היא ספריית ארדואינו סטנדרטית אך האחרים מהווים חלק מספריית הדיו האלקטרוני.
אנו מגדירים שמות לפיקסלים לא צבעוניים (לבנים) ו- COLORED (שחורים או אדומים). (הערה לחברי האירופאים: נעשה שימוש בכתיב האמריקאי של COLOR).
Epd epd; קו יוצר את אובייקט מכשיר הנייר האלקטרוני, עליו נציג. זה חייב להיות כאן בתחילת המערכון כדי להפוך אותו לזמין עם פונקציות ההתקנה () והלולאה ().
אם יש לך תצוגה בגודל אחר תוכל להחליף את שורת EPD ב:
Epd epd (רוחב, גובה);
(לאחר שהגדירו בעבר WIDTH ו- HEIGHT בהצהרות #define.)
באותו אופן תוכל לציין מספרי סיכה שאינם ברירת מחדל באמצעות:
Epd epd (WIDTH, HEIGHT, BUSY_PIN, RESET_PIN, DC_PIN, CS_PIN);
בתוך ההתקנה () עלינו לאתחל את המכשיר באופן הבא:
Serial.begin (9600)
if (epd. Init ()! = 0) {Serial.print ("e-Paper init נכשל"); לַחֲזוֹר; }
(למעשה, epd. Init () לעולם אינו מחזיר שגיאה, אך שיפור עתידי עשוי לזהות היעדר תצוגה או תצוגה שאינה מתפקדת.)
שלב 6: כתיבת טקסט
ב- E-ink_demo, הפנה את תשומת הלב שלך ללולאה (). ראשית, נבהיר את התצוגה:
epd. ClearFrame ()
(זה לא ממש נחוץ אם אתה עומד להציג תמונה משלך.)
לפני שנוכל לצייר משהו (בין אם טקסט או גרפיקה) עלינו ליצור אובייקט של צייר לצייר עליו:
תמונת צ'אר לא חתומה [1024]
צבע צבע (תמונה, 152, 18); // רוחב צריך להיות הכפולה של 8
זה שומר קצת מקום (1024 בתים) ומקצה אותו לאובייקט הצבע, שסופג את השורה השנייה. זה מוגדר באופן זמני כרוחב של 152 פיקסלים ועמוק של 18 פיקסלים. אנו יכולים להגדיר אותו מחדש מאוחר יותר לשימוש חוזר לפי הצורך, אך שים לב: הרוחב חייב להיות מספר רב של 8 מאחר ושמונה פיקסלים מאוחסנים לבייט ולא ניתן לפצל בתים. (זה למעשה יעגל את זה במידת הצורך, אבל זה יכול להיות תמוה כאשר הצג שלך לא נראה איך זה צריך.
כעת עלינו לנקות את אובייקט הצבע ל- UNCOLORED (לבן), ואז במיקום (x, y) = (22, 2) אנו כותבים "הדגמה של דיו אלקטרוני" באמצעות גופן בגודל 16 פיקסלים, ו- COLORED (להראות כנגד רקע ללא צבע.
צבע. נקה (לא צבעוני)
paint. DrawStringAt (12, 2, "הדגמת נייר אלקטרוני" ו- Font16, COLORED);
שים לב שהקואורדינטות (22, 2) הן הפינה השמאלית העליונה של התו הראשון של המחרוזת, והן 22 פיקסלים פנימה ו -2 פיקסלים למטה ביחס לפינה השמאלית העליונה של אובייקט הצבע, לא כל התצוגה. הטקסט נראה הכי טוב לפחות פיקסל אחד כלפי מטה מהחלק העליון של אובייקט הצבע.
הפונטים הבאים זמינים:
Font8 - 5x8 פיקסלים Font12 - 7x12 פיקסלים Font16 - 11x16 פיקסלים Font20 - 14x20 פיקסלים Font24 - 17x24 פיקסלים
כעת עלינו לשלוח את אובייקט הצבע ("צבע") למכשיר ("epd"):
epd. SetPartialWindowBlack (paint. GetImage (), 0, 3, paint. GetWidth (), paint. GetHeight ());
SetPartialWindowBlack היא שיטה שאנו מיישמים על האובייקט epd, תוך שימוש בתמונה ובמאפייני הרוחב והעומק שלה של אובייקט הצבע. אנו אומרים לו לכתוב את התמונה הזו למכשיר ב (x, y) = (0, 3). ואנחנו אומרים שהפיקסלים הצבעוניים יהיו שחורים.
זה לא היה קשה מדי, נכון? ננסה עוד אחד.
paint. Clear (COLORED);
paint. DrawStringAt (20, 2, "(לבן על צבע)", & Font12, ללא צבע); epd. SetPartialWindowRed (paint. GetImage (), 0, 24, paint. GetWidth (), paint. GetHeight ());
אנו משתמשים מחדש באותו אובייקט צבע, ובאותו רוחב וגובה, אך הפעם, בואו ננקה אותו ל- COLORED ונכתוב לו מחרוזת ללא צבע. ולשם שינוי, נהפוך את הפיקסלים COLORED לאדומים ונכתוב אותו למכשיר ב (0, 24), ממש מתחת לראשון.
כתבנו את שני אובייקטים הצבעיים לזיכרון המכשיר אך עדיין לא אמרנו לו להציג אותם. אנו עושים זאת בהצהרה הבאה:
epd. DisplayFrame ();
(במערכון E-ink_demo אנו למעשה משאירים את זה עד הסוף, לאחר שציירנו עוד דברים, אבל תוכל להכניס אותו לכאן אם תרצה, אך לאחר מכן עיכוב (10000); כדי לתת לך זמן להתפעל מעבודת היד שלך.
שלב 7: ציור קווים ומלבנים
בואו נראה איך לצייר קווים ומלבנים. אנו הולכים להשתמש באותו אובייקט צבע, אך עלינו להגדיר אותו מחדש ברוחב 40 פיקסלים ובגובה 36 פיקסלים. ננקה את זה ל- UNCOLORED.
paint. SetWidth (40);
paint. SetHeight (36); paint. Clear (לא צבעוני);
אנו הולכים לצייר מלבן (COLORED) עם הפינה השמאלית העליונה (5, 3) והימנית התחתונה (35, 33), יחסית לאובייקט הצבע, כרגיל. נצייר גם את האלכסונים שלה כקווים מ (5, 3) עד (35, 33) ומ- (35, 3) עד (5, 33). לבסוף, נכתוב את כל אובייקט הצבע (אדום) למסך ב (32, 42).
//שורה עליונה:
// צבע מלבן. צלול (לא צבעוני); paint. DrawRectangle (5, 3, 35, 33, COLORED;) paint. DrawLine (5, 3, 35, 33, COLORED); paint. DrawLine (35, 3, 5, 33, COLORED); epd. SetPartialWindowRed (paint. GetImage (), 32, 42, paint. GetWidth (), paint. GetHeight ());
הספרייה, כפי שהיא באה, סיפקה גם מלבן מלא, אבל היי, רציתי ספרייה מוצלת, אז הוספתי שיטה חדשה. נעשה עוד שני מלבנים, אחד מוצל ואחד מלא, ונניח אותם מימין לראשון, לסירוגין אותם בשחור ואדום.
// צבע מלבני מוצל. צלול (לא צבעוני); paint. DrawShadedRectangle (5, 3, 35, 33); epd. SetPartialWindowBlack (paint. GetImage (), 72, 42, paint. GetWidth (), paint. GetHeight ()); // צבע מלבן מלא. ברור (לא צבעוני); paint. DrawFilledRectangle (5, 3, 35, 33, COLORED); epd. SetPartialWindowRed (paint. GetImage (), 112, 42, paint. GetWidth (), paint. GetHeight ());
שלב 8: ציור מעגלים
מעגלים לא פחות פשוטים לצייר. במקום הקואורדינטות של שתי פינות, עלינו להציג את קואורדינטות המרכז והרדיוס. ננקה את אובייקט הצבע ואז נציב עיגול ב (20, 15) (ביחס לאובייקט הצבע) ורדיוס 15. וחזור על עיגול מוצל ומלא.
// שורה שניה
// צבע עיגול. ברור (לא צבעוני); paint. DrawCircle (20, 18, 15, COLORED); epd. SetPartialWindowBlack (paint. GetImage (), 32, 78, paint. GetWidth (), paint. GetHeight ()); // צבע מעגל מוצל. ברור (לא צבעוני); paint. DrawShadedCircle (20, 18, 15); epd. SetPartialWindowRed (paint. GetImage (), 72, 78, paint. GetWidth (), paint. GetHeight ()); // צבע עיגול מלא. ברור (לא צבעוני); paint. DrawFilledCircle (20, 18, 15, COLORED); epd. SetPartialWindowBlack (paint. GetImage (), 112, 78, paint. GetWidth (), paint. GetHeight ());
שלב 9: לא צבוע על מגרש צבעוני
אנחנו מסתדרים כאן מפורסם! אז בזמן שאנחנו על גליל, בואו נעשה עוד 3 עיגולים בשורה למטה, הפעם ללא צבע על אובייקט צבע COLORED, כמו שעשינו עם שורת הטקסט השנייה.
//שורה שלישית
// צבע עיגול.צלול (COLORED); paint. DrawCircle (20, 18, 15, ללא צבע); epd. SetPartialWindowRed (paint. GetImage (), 32, 114, paint. GetWidth (), paint. GetHeight ()); // צבע מעגל מוצל. צבע ברור (צבעוני). צייר צללים (20, 18, 15); epd. SetPartialWindowBlack (paint. GetImage (), 72, 114, paint. GetWidth (), paint. GetHeight ()); // צבע עיגול מלא. צלול (COLORED); paint. DrawFilledCircle (20, 18, 15, ללא צבע); epd. SetPartialWindowRed (paint. GetImage (), 112, 114, paint. GetWidth (), paint. GetHeight ());
בנוסף למילוי המוצל, יש גם מילוי מנומר, הצבוע פיקסלים אקראיים. אז במקום העיגול המוצל למעלה היינו יכולים לשים
paint. DrawSpeckledCircle (20, 18, 15, 25);
הפרמטר הסופי (25) הוא הצפיפות, כלומר אחוז הפיקסלים שצריך לצבוע. אם השמיטו, ההנחה היא 50%.
יש גם DrawSpeckledRectangle, עם פרמטר נוסף אופציונלי המציין את הצפיפות.
שלב 10: סיבוב
כל דבר שאנו יכולים לצייר, אנו יכולים לסובב לאורך 90, 180 או 270 מעלות. (אנו סופרים סיבובים בכיוון השעון.)
אנו יכולים להחיל נכס ROTATE על אובייקט צבע, אך חשוב להבין שלא אובייקט הצבע מסתובב אלא כל מה שאתה כותב לו. אז אם אתה רוצה טקסט אנכי אתה צריך להגדיר את אובייקט הצבע שלך ארוך ודק בכיוון אנכי במקום אופקי.
אז אם אתה רוצה שהטקסט שלך יסובב בכיוון השעון ב 90 מעלות כך שהוא יקרא מלמעלה למטה (במקום משמאל לימין), הפינה הימנית העליונה של אובייקט הצבע תהיה (0, 0) לכל דבר שאתה כותב או צייר בו, כאשר x מופרד מהפינה הזו כלפי מטה, ו- y מהפינה הזו שמאלה.
בטח שמתם לב שהשארנו מקום בצד שמאל של התצוגה. אז בואו נכתוב שם טקסט מסובב 270 מעלות, כלומר קריאה מלמטה למעלה. זה יציב (0, 0) בפינה השמאלית התחתונה.
שים לב שאך שאתה מסובב אובייקט צבע הסיבוב חל רק כאשר אתה מצייר עליו פיקסלים. כשאתה בא לכתוב את זה למכשיר זה עדיין הקואורדינטות של הפינה השמאלית העליונה שאתה צריך לתת ל- SetPartialWindow.
אז לסיכום, בואו להגדיר את אובייקט הצבע שלנו שיהיה ברוחב 32 וגובה 110, וניתן לו נכס ROTATE_270. לא שאנחנו צריכים לעשות את כל זה לפני שכותבים או מציירים לזה משהו.
paint. SetWidth (32);
paint. SetHeight (110); paint. SetRotate (ROTATE_270);
ננקה אותו ל- COLORED ונכתוב לו מחרוזת ללא צבע, ואז נציב אותו ב (0, 42). (זו הפינה השמאלית העליונה, זכור. שכח מכל סיבוב של הפיקסלים שבה.)
paint. Clear (COLORED); paint. DrawStringAt (8, 8, "הצידה!", וגופן 16, ללא צבע); epd. SetPartialWindowBlack (paint. GetImage (), 0, 42, paint. GetWidth (), paint. GetHeight ());
לבסוף, עלינו לומר למכשיר להציג את כל הפיקסלים שנתנו לו. ואם לא נרצה לשנות אותו לזמן מה ולרצות לחסוך בחשמל הסוללה נוכל להרדים אותו, ולמה לא להרדים את הארדואינו גם כן, להתעורר כשהגיע הזמן לקחת ולהציג אחר מדידה.
epd. DisplayFrame ();
epd. Sleep ();
שרטוט דוגמא שני מראה סיבוב דרך 90, 180 ו -270 מעלות. עכשיו אתה אמור להיות מסוגל לעקוב אחריו בעצמך.
שלב 11: ציור מפות סיביות
הדגמת הספק כוללת הצגת כמה תמונות מפת סיביות. אלה קלים ליצור בעזרת כלי שניתן להוריד ממנו
www.buydisplay.com/image2lcd
הוא מגיע כקובץ zip המכיל קובץ.exe להתקנה וקובץ טקסט המכיל מפתח רישיון. הרחב אותו ולאחר מכן לחץ פעמיים על קובץ.exe כדי להתקין אותו.
ברור שישנן הגבלות חמורות למדי על מה שאתה יכול להציג מכיוון שפיקסלים של דיו אלקטרוני יכולים להיות מופעלים או כבים בלבד ולכן אינם יכולים לייצג רמות אפור. אבל אפשר לכסות אובייקט צבע מלבני על תמונה. ייתכן שתרצה להציג לוגו, סמלים או טקסט קבוע בגופן מפואר, שעליו תוכל להוסיף טקסט או גרפיקה משתנים כגון עמודות או תרשים עוגה, אולי כדי להצביע על משהו כמו מפלס נוזלי.
אתה יכול ליצור את התמונה שלך עם כל תוכנת ציור שאתה מכיר, או שאתה יכול לסרוק סקיצה או ציור, אבל בכל מקרה אתה צריך להיות מסוגל לצמצם אותה לשתי רמות בלבד. שמור אותו כ-.gif,-j.webp
הפעל את Image2Lcd. בחלק התחתון תראה כרטיסייה הרשמה. לחץ על זה והזן את קוד הרישום שהגיע בקובץ טקסט בקובץ ה- zip שהורדת. פעולה זו תסיר כיסוי על התמונה.
ב- Image2Lcd, פתח את קובץ התמונה שלך. בחלונית השמאלית, ודא שיש לך
- סוג קובץ פלט: מערך C
- מצב סריקה: סריקה אופקית
- BitsPixel: מונוכרום
- רוחב וגובה מרביים: גודל התצוגה שלך
- יש לכלול את נתוני ראש הכלול.
לחץ על הלחצן שליד רוחב וגובה מרבי לעיבוד. תוצג תוצאות העיבוד. ייתכן שיהיה עליך להתאים את המחוונים בהירות וניגודיות כדי לקבל את התוצאות הטובות ביותר.
לחץ על תיבת הסימון צבע הפוך מעל למחוון הבהירות, מה שהופך אותה לתמונה שלילית, אשר מסיבה כלשהי הכרחית, ולאחר מכן לחץ על שמור כדי לשמור אותה כ- imagedata.cpp בתיקייה המכילה את הסקיצה שלך של Arduino. בפעם הבאה שאתה פותח את הסקיצה עם ה- Arduino IDE אתה אמור לראות בו כרטיסייה חדשה.
שלב 12: הצגת מפת הסיביות שלך
בקובץ הראשי של שרטוט ה- Arduino שלך, מיד לאחר השורות #כלול למעלה, הכנס:
#כלול "imagedata.h"
צור כרטיסייה חדשה (לחץ על החץ למטה בסוף שורת הכרטיסיות) וקרא לה imagedata.h. הכנס בו את 2 השורות הבאות:
חיצוני const unsigned char IMAGE_BLACK ;
חיצוני const unsigned char IMAGE_RED ;
בקובץ imagedata.cpp שלך, השורה הראשונה תתחיל עם
const unsigned char gImage_image [2888] = {
(המספר בסוגריים מרובעים יהיה שונה אם אינך משתמש בתצוגת 1.54 אינץ '.) החלף זאת ב
const unsigned char IMAGE_BLACK PROGMEM = {
זה מיועד לתמונה בשחור לבן. אם אתה רוצה שזה אדום ולבן, שנה את זה ל
const unsigned char IMAGE_RED PROGMEM = {
רגע לפני השורה הזו, הוסף
#לִכלוֹל
#כלול "imagedata.h"
כעת אתה מוכן להציג את התמונה שלך. ב- loop () בקובץ הראשי שלך, הוסף
epd. ClearFrame ();
epd. DisplayFrame (IMAGE_BLACK, NULL);
או, אם זו הייתה תמונה אדומה שיצרת, השורה השנייה צריכה להיות
epd. DisplayFrame (NULL, IMAGE_RED);
למעשה ניתן ליצור תמונה משולבת באדום ושחור על ידי המרת החלקים האדומים והשחורים בנפרד עם Image2Lcd, והצגת שניהם עם
epd. DisplayFrame (IMAGE_BLACK, IMAGE_RED);
עם זאת, כל הפיקסלים המצוינים בשחור בתמונה בשחור -לבן, ואדומים באדום ולבן, ייצאו אדומים.
לבסוף, תוכל לכסות את התמונה שלך בכל אחת מהפונקציות של הטקסט או הגרפיקה שלמדנו עליה קודם לכן. רציתי להוסיף את ידית הטוויטר שלי, אז הוספתי
צבע צבע (תמונה, 20, 152); // רוחב צריך להיות הכפולה של 8
paint. SetRotate (ROTATE_270); paint. Clear (לא צבעוני); paint. DrawStringAt (20, 2, "@pleriche" ו- Font16, COLORED); epd. SetPartialWindowRed (paint. GetImage (), 0, 0, paint. GetWidth (), paint. GetHeight ()); epd. SetPartialWindowRed (paint. GetImage (), 0, 0, paint. GetWidth (), paint. GetHeight ()); epd. DisplayFrame ();
מוּמלָץ:
תצוגת דיו אלקטרוני Waveshare מד מד מדויק (0-90v DC) עם Arduino Nano: 3 שלבים
תצוגת דיו אלקטרוני של Waveshare מד מתח מדויק (0-90v DC) עם Arduino Nano: במדריך זה אני משתמש בתצוגת נייר Waveshare בגודל 2.9 אינץ 'עם Arduino Nano, מחלק מתח ו- ADS1115 להצגת מתח מדויק עד 90 וולט DC בתצוגת נייר אלקטרוני. הוראה זו משלבת את שני הפרויקטים הקודמים האלה:- Ardui
GPS לחיסכון בחשמל עם תצוגת דיו אלקטרוני: 4 שלבים
GPS לחיסכון בחשמל עם תצוגת דיו אלקטרוני: בכל קיץ אני יוצא לטיולים במקומות מרוחקים. לפעמים, כשהשביל קלוש או אפילו נעלם, עלי להשתמש ב- GPS של הטלפון כדי לקבל את הקואורדינטות שלי ולאחר מכן לבדוק את מיקומי על מפת נייר (לרוב אין לי אות ולכן מפות נייר הן חובה
מבוכים ודרקונים מעקב אחר נקודות פגיעה עם תצוגת דיו אלקטרוני: 3 שלבים
מבוכים ודרקונים מעקב אחר נקודות מגע עם תצוגת דיו אלקטרוני: רציתי ליצור מעקב אחר נקודות פגיעה שמציג את כל נקודות הפגיעה של השחקנים בסולם מנורמל, כך שתוכל לראות בדיוק מי צריך הכי הרבה ריפוי ועד כמה המסיבה כולה גרועה. מַעֲשֶׂה. הוא מתחבר באמצעות בלוטות 'לטלפון אנדרואיד אשר
ספל תצוגת דיו אלקטרוני: 8 שלבים (עם תמונות)
ספל תצוגת דיו אלקטרוני: זהו אחד מאותם רעיונות מטורפים שפשוט שוכנים במוחי באופן ספונטני. חשבתי, האם זה לא יהיה מדהים אם יש ספל קפה שתוכל להתאים אישית תוך כדי תנועה? כזו שנראתה פחות או יותר כמו כוס קפה רגילה. עשיתי חיפוש ו
כיצד להוסיף תצוגת VFD MatrixOrbital לתיבת Linux שלך: 11 שלבים (עם תמונות)
כיצד להוסיף תצוגת VFD של MatrixOrbital לתיבת Linux שלך: מדריך זה מכסה הוספת MatrixOrbital VFD לתיבת הלינוקס שלך. כמו כל חנונים טובים יש לי תיבת לינוקס נטולת ראש ברשת הביתית שלי. על ידי הוספת צג פלואורסצנטי ואקום והפעלת LCDProc תוכל להציג נתונים סטטיסטיים על הבריאות ולפקוח עין על