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

מד גובה Arduino באמצעות BMP ו- SPI או I2C OLED: 5 שלבים
מד גובה Arduino באמצעות BMP ו- SPI או I2C OLED: 5 שלבים

וִידֵאוֹ: מד גובה Arduino באמצעות BMP ו- SPI או I2C OLED: 5 שלבים

וִידֵאוֹ: מד גובה Arduino באמצעות BMP ו- SPI או I2C OLED: 5 שלבים
וִידֵאוֹ: Как использовать SSD1306 128x32 OLED-дисплей I2C с кодом Arduino 2024, יולי
Anonim
מד גובה Arduino באמצעות BMP ו- SPI או I2C OLED
מד גובה Arduino באמצעות BMP ו- SPI או I2C OLED

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

שלב 1: דבר ראשון

לפני ביצוע הפרויקט הזה, אני ממליץ לך בחום להשלים הדרכה SSD1306/OLED עבור I2C או SPI (לפי מה שתרצה להשתמש). זה יבטיח שאתה יודע כיצד לחבר/לחבר את המסך שלך, כמו גם שהתצוגה פועלת. בצע את הדרכת adafruit ו/או מדריך u8glib דוגמאות. אנו נשתמש ב- u8glib כאן כך שמומלץ למשתמש מתקדם.

שלב 2: תוכנות חומרה נחוצות

תוכנות חובה
תוכנות חובה

1. Arduino UNO או ננו או דומה.

2. חיישן לחץ ברומטרי BMP085 או BMP180.

3. SSD1306 I2C או אוטובוס SPI (ניתן להגדרה בסקיצה).

4. חוטי מגשר ולוח או קרש וורו לחיבורים.

שלב 3: ספריות Arduino IDE לעריכה

1. Wire.h

2. Adafruit_BMP085.h (יעבוד גם עבור BMP180)

3. U8glib.h

שלב 4: חיבורים

החיבורים כולם זהים הן לתצוגות I2C והן ל- SPI OLED. רק החיבור לתצוגה יהיה שונה.

1. BMP לארדואינו:

VCC> 3.3V

GND> קרקע

SCL> A5/SCL

SDA> A4/SDA

SCK = 12, MOSI = 11, CS = 10, A0 = 9, איפוס = 13

2. SPI OLED לארדואינו

VDD> 5V

GND> קרקע

SCK/D0> D12 (דיגיטלי 12)

SDA/D1/מוסי> D11

CS/שבב בחר> D10

A0/DC> D9

RES/Reset> D13

(אם ל- SPI OLED שלך אין סיכת איפוס, פשוט הסר איפוס ואיפס סיכה מתצוגת הסקיצות לפרמטרים)

3. I2C OLED

אותו דבר כמו חיווט BMP, הם משתמשים באותם יציאות וסוג אוטובוס.

שלב 5: העלאת סקיצה

די ישיר. פשוט הורד את קובץ ה- zip ופתח ב- Arduino IDE. הכל מוגדר בסקיצה. משתמשי SPI OLED יכולים פשוט להעלות את הסקיצה ללא כל עריכה וזה יעבוד. עבור משתמשי I2C OLED, פשוט בטל את התגובה של שם התצוגה/האפשרות שלך מהתצוגה של בחירת תצוגה של הסקיצה, והערה וסגרו את מודל/הפרמטר של תצוגת SPI כדי להשבית את SPI OLED.

פרמטר תצוגת SPI:

// U8GLIB_SSD1306_128X64 u8g (12, 11, 10, 9, 13); // SW SPI Com: SCK = 12, MOSI = 11, CS = 10, A0 = 9, איפוס = 13

פרמטר תצוגה I2C:

// U8GLIB_SSD1306_128X64 u8g (U8G_I2C_OPT_NO_ACK); // תצוגה שאינה שולחת AC

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

רמזים:

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

2. BMP משתמש בדרך כלל 3.3V אלא אם היצרן שלך אומר אחרת. OLED עשוי לעבוד מ 3.3v-5.5V (מומלץ 4-5V)

3. מומלץ להגדיר הכל על קרש הלחם תחילה.

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

מוּמלָץ: