כיצד לחבר תצוגת OLED I2C ל- ARDUINO

Pin
Send
Share
Send

הקדמה: הצגת תצוגת OLED I2C 128 * 64/128 * 32.

הי בהיותי חובב - חובב אלקטרוניקה, אני בטוח שכל מה שאנחנו עושים זה צעצועים אלקטרוניים - מוצרים תוצרת בית, או פרויקטים גדולים, כולם מתוך סקרנות ועצלנות. הסקרנות מבקשת להבין ולהבין את העצום, הלא ידוע, להבין איך היא עובדת שם, מה היא עושה, איך היא נעה. ועצלנות ממציאה, על מנת לבוא עם זה, כדי לא לקום, לא בכושר, לא להרים, לא להתלכלך או משהו חשוב אחר.
מכיוון שרואה מידע טוב יותר מלהבין מה עומד לקרות במכשיר שלנו, או שכבר קרה או קורה, אנו בהחלט נרצה לקבל מידע שימושי מאוד זה מבקרי המיקרו שלנו, חיישנים או מכשירים אחרים. ואני, בכל מקרה, רוצה לקבל כל הודעה, כמו שאלות, אזהרות, תזכורות, סמיילים, כוכביות, לבבות וכדומה.
למי שיש לו גם רצון דומה, הנה מדריך מהיר לחיבור ובדיקת תצוגות OLED קטנות וזולות.
בשלב הבא, נדבר על אחד הדגמים הרבים הזמינים לדגמי רדיו של חזיר של תצוגות OLED הנשלטות על ידי שבב SSD1306, עם גודל מסך של 0.96 אינץ 'ורזולוציה של 128 * 64 או 128 * 32 פיקסלים. תצוגות אלה אידיאליות לעיצובים קטנים של רדיו חובבים ומוצרים תוצרת בית.

שלב 1: מושגי מפתח


נחבר אותו לארדואינו UNO / NANO, ובכן, ולתכנת, בהתאמה, נחבר אותו גם דרך ארדואינו.
  • OLED הוא דיודה פולטת אור אורגנית, כלומר מכשיר מוליכים למחצה העשוי מתרכובות אורגניות, שמתחיל לפלוט אור כאשר זרם חשמלי עובר דרכו.
  • ARDUINO היא פלטפורמה להדרכה ובניית מערכות אוטומציה ורובוטיקה.
  • ArduinoIDE היא סביבת פיתוח. זהו כלי תכנות Arduino בחינם.
  • I2C - מעגלים אינטגרטיביים, קו תקשורת בין-מעגל מעגלים.
  • מערכון, זה קוד, זו תוכנית - טרמינולוגיה של ארדואינו.

עקוב אחר ההוראות כדי להבין כיצד לחבר ולהגדיר כראוי תצוגת OLED לארduino וכיצד להציג הודעה משלך בתצוגה שלה.
אנחנו עושים הכל בצעדים.

שלב 2: אביזרים


נצטרך רק ארבעה דברים:
  • 1. תצוגת OLED עצמה היא 0.96 אינץ '(ניתן לקנות ב- Aliexpress או ב- eBay, - ארוך, אך זול!).
  • 2. ארדואינו UNO / Nano (באותו מקום בתצוגה).
  • 3. חיבור חוטים (שם).
  • 4. מחשב או מחשב נייד המותקנים בו ArduinoIDE.

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

שלב 3: חבר את הצג


התצוגה נשלטת על ידי שבב SSD1306, התומך בחמישה פרוטוקולי תקשורת ואחד מהם הוא I2C. נתונים על פרוטוקול זה מועברים בשני חוטים בלבד, וככל שפחות חוטים במקרה, כך ייטב, כך שהם מתאימים לנו היטב. אבל! ישנם מודולים עם פרוטוקול SPI ואפילו מיתוג פרוטוקול, לכן היזהר בקנייה של מודול זה.

מסקנות משומשות:
תצוגת OLED - SCL / SCK (שעון) ו- SDA (נתונים), כוח "פלוס" (VCC) וכוח "מינוס" (GND).

מסקנות משומשות:
ארדואינו UNO - SCL / SCK ב- A5 ו- SSD על A4, כוח "פלוס" (+ 5V) וכוח "מינוס" (GND).
חבר את התצוגה לארדואינו:
  • Vcc - 5V
  • GND - GND
  • SDA - A4
  • SCL - A5

שלב 4: סורק I2C


לכל מכשיר באוטובוס I2C יש כתובת הקסדצימאלית, אינך יכול לשנות אותו, הוא תפור בחוזקה, כל יצרן אחראי חייב לציין אותו איפשהו בתיק או בהוראות. ישנם מודולים עם מתגים וקופצים איתם ניתן לשנות את הכתובת, אבל ... אם המכשירים זולים, לכיעור, ייתכן שהיצרן לא יטרח להתמודד עם זוטא כזה, כך שתצטרך לקבוע זאת בעצמך.
בסך הכל ניתן להשתמש עד 127 כתובות באוטובוס - 119 למכשירים ו 8 כתובות שירות. התקשורת מתבצעת בכתובות אלה. יש אדון, הוא מאסטר, אבל יש עבד, הוא גם עבד - אדונים שואלים, העוקבים מגיבים, הכל פשוט.
מכיוון שתצוגת ה- OLED שלנו משתמשת בפרוטוקול התקשורת I2C, וייתכן שלא ניתן לציין את הכתובת, אנו ננסה לגלות את הכתובת הזו ממש.
ניתן לעשות זאת על ידי הורדת סקיצה קצרה ללוח Arduino שלך עם חיבור OLED. אבל!
קח את הזמן שלך להעלות את הסקיצה לארדוינו מייד! ראשית, הורד את "מנהל ההתקן", כלומר נחבר את הספריות, ובשביל זה נעבור ישר ל"שלב 5 "ואז נחזור ונמשיך.

שלב 4: המשך:


הורד CODE Finder_I2C_Hex_Address.ino, העלה ל- Arduino.
פתח את "צג ​​היציאה", קבע את המהירות על 9600 ואם הכל מחובר כראוי התוכנית תציג את כתובת המכשיר, במקרה שלי OLED עם הכתובת 0x3F.

שלב 5: הורד וחבר ספריות


בכדי שהכל יעבוד נכון, ולא היית צריך להמציא מחדש את הגלגל, אתה צריך לחבר כמה ספריות לסביבת ArduinoIDE, כלומר: ADAFRUIT GFX ו- ADAFRUIT SSD1306, הם נחוצים כדי שארדינו יוכל לתקשר באופן עצמאי עם התצוגה של OLED.
באפשרותך לחבר ספריות אלה על ידי ביצוע השלבים הבאים.
  • 1. ב- ArduinoIDE, עבור לתפריט Sketch.
  • 2. בחר "כלול ספריות" / כלול ספריות.
  • 3. בחר "נהל ספריות" / ספריות מנוהלות.
  • 4. מצא את ADAFRUIT GFX והתקן אותם.
  • 5. מצא את ADAFRUIT SSD1306 והתקן אותם.

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

דרך נוספת להתקין ספריות היא למצוא, להוריד ולהתקין ספריות אלה בעצמך.
לדוגמה לגיתוב:
//github.com/adafruit/Adafruit-GFX-Library
//github.com/adafruit/Adafruit_SSD1306

אלה אותן ספריות Adafruit, אך ניתן לחפש בקלות בספריות במנועי חיפוש, לבקשת OLED I2C. חובבים רבים כותבים ספריות "לעצמם", ואז מעלים אותם לרשת. באיזו ספרייה להשתמש תלוי בך.
על מנת שהתצוגה תציג אותיות רוסיות, יש צורך גם בספריות מיוחדות, אך זהו נושא נפרד למאמר נפרד.
לאחר התקנת הספריות תוכלו לחזור לשלב 4 ולבסוף לגלות את הכתובת ההקסדצימלית של התצוגה שלכם.

שלב 6: בדיקת התצוגה


כדי לבדוק אם הכל עובד כצפוי, הרץ את דוגמת המבחן מ- ArduinoIDE.
לשם כך:
עבור לתיקייה> דוגמאות> SSD 1306> בחר 128x64 i2c
אם מופיעה שגיאה, נסה לבחור את SSD 1306> 128x32 i2c.
אם שוב שגיאה, נסה לשנות את כתובת I2C בשורה 61 של קוד ההדגמה והחלף אותה בכתובת התצוגה שלך, שקבעת בשלב 4.
אם השגיאה מתרחשת שוב, אתה יכול לנסות לערוך את הקובץ Adafruit_SSD1306.h, הוא ממוקם בתיקיה עם ספריות Arduino.

פתח את קובץ Adafruit_SSD1306.h בעורך טקסטים ומצא את השורות:
// # הגדירו SSD1306_128_64 # הגדר SSD1306_128_32 // # הגדר SSD1306_96_16

בטל את הפרק של הקו:
# הגדר SSD1306_128_64.

זה צריך להיות כך:
# הגדר SSD1306_128_64 // # הגדיר SSD1306_128_32 // # הגדר SSD1306_96_16

אם השגיאה שוב, יש לבדוק את נכונות החיבורים.
לאחר סיום ההורדה, תראה אנימציית מבחן על המסך, כלומר הגדרת בהצלחה את תצוגת ה- OLED שלך.

כשתיהנו מהאנימציה הזו תוכלו להמשיך לשלב הבא.

שלב 7: כתיבת הודעה משלך


כדי לכתוב הודעה משלך, צור תחילה סקיצה חדשה בסביבת התכנות ArduinoIDE.
בכותרת, אנו מחברים בין 4 ספריות:
# כלול # כלול # כלול # כלול 

ואז אנו כותבים את פרוטוקול האיפוס:
# הגדר OLED_RESET 4 תצוגת Adafruit_SSD1306 (OLED_RESET);

בהגדרת VOID, ציין את הכתובת ההקסדצימאלית של תצוגה 0x3C שלנו, שגילינו ב"שלב מס '4 ".
לאחר מכן, אתחל את התצוגה ונקה אותו:
display.begin (SSD1306_SWITCHCAPVCC, 0x3C); display.clearDisplay ();

בשלב הבא, ב- VOID LOOP, אנו כותבים את הקוד הראשי, כלומר את המסר שלנו, אותו אנו רוצים להציג בתצוגה.
לשם כך, אנו מתארים את גודל הטקסט, צבע הטקסט, מיקום הסמן ולבסוף, מציגים הודעה באמצעות הפקודה println:
display.setTextSize (2); display.setTextColor (לבן); display.setCursor (0,0); display.println ("כל הכבוד!"); display.display ();

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

להלן קוד ההתחלה_עם_ארדינו_OLED.ino של התוכנית שלנו:
code.zip 946 b (הורדות: 1366)

Pin
Send
Share
Send