- רכיבים נדרשים
- מודול חיישן לחץ BMP280:
- תרשים מעגלים לממשק BMP280 עם Arduino:
- תוכנית Arduino לממשק BMP280 עם Arduino:
- עבודה של פרויקט ממשק חיישן לחץ BMP280 Arduino
אם אתה רוצה לבנות מערכת ניטור טמפרטורה משלך או למדוד את גובה המזל"ט שלך או פשוט רוצה למדוד את הלחץ האטמוספרי באזורך, אז אחד המודולים הטובים ביותר לשימוש בפרויקט שלך הוא מודול חיישן הלחץ BMP280. BMP280 הוא חיישן ניטור לחץ וטמפרטורה מוחלט המהווה את הגרסה המשודרגת של חיישני BMP085, BMP180, BMP183. מדוע קוראים לזה גרסה משודרגת? נדון בסעיפים הבאים. כבר השתמשנו בגרסה הישנה יותר BMP180 עם Arduino באחת ההדרכות הקודמות שלנו.
ניתן להשתמש במודול חיישן BMP280 יחד עם מיקרו-בקרים כמו Arduino, PIC, AVR וכו '. לפרויקט זה אנו נשתמש ב- Arduino Uno עם BMP280 יחד עם מודול תצוגה LCD 16x2, כדי להציג ערכי טמפרטורה ולחץ. לפני שמתממשקים ל- BMP280 עם Arduino, עלינו להוריד את ספריית BMP280 Arduino, שפותחה על ידי Adafruit. לחץ על קישור ספריית Adafruit BMP280 זה כדי לפתוח את דף Github בהתאמה ולהוסיף את קובץ הכותרת ל- ID של Arduino שלך.
רכיבים נדרשים
- ארדואינו
- BMP280
- חוטי חיבור
- לוח לחם
- LCD- 16x2
מודול חיישן לחץ BMP280:
מודול החיישן BMP280 עובד עם המתח המינימלי (VDD) של 1.71V, ואילו מודולי החיישנים בגרסה הקודמת עובדים על 1.8V (VDD). כשמדובר בצריכה שוטפת BMP280 צורכת 2.7uA, ואילו BMP180 צורכת 12uA, ו- BMP183 ו- BMP085 צורכות 5uA כל אחת. ה- BMP280 תומך גם במצבי סינון חדשים. מודול החיישן BMP280 תומך בפרוטוקולי I2c ו- SPI, ואילו החיישן הנותר תומך ב- I2c או SPI. מודול החיישן BMP280 יש דיוק של ± 0.12 hPa, שווה ערך להפרש בגובה ± 1 מ '. בשל תכונות מפתח אלה, הוא משמש בעיקר ביישומים שונים. חיישן ה- BMP מורכב מאלמנט חישת לחץ, אלמנט חישת לחות ואלמנט חישת טמפרטורה המחוברים עוד יותר לחזית הקצה, לחזית הלחות ולחזית הטמפרטורה. מכשירי IC חזיתיים אלה הם מגברים אנלוגיים לרגישות המשמשים להגברה של אותות קטנים. הפלט של מכשירי IC קדמיים אנלוגיים אלה מועבר ל- ADC כאות קלט. בכך הערכים האנלוגיים מומרים למתח דיגיטלי ומתח זה מוזרם למעגלי ההיגיון לממשק נוסף עם העולם החיצון.
מודול החיישן BMP280 מורכב משלושה מצבי חשמל במצב שינה, במצב מאולץ ומצב רגיל. במצב שינה לא מבוצעות מדידות וצריכת החשמל היא מינימלית. במצב מאולץ, מבוצעת מדידה אחת על פי אפשרויות המדידה והסינון שנבחרו. מצב רגיל עובר ברציפות בין מדידה לתקופת המתנה, ותקופת זמן המחזורים תוגדר על ידי Tstandby. הזרם במצב המתנה מעט גבוה יותר ממצב השינה.
תרשים מעגלים לממשק BMP280 עם Arduino:
תרשים המעגל לחיבור הארדואינו עם חיישן BMP280 ו- LCD מוצג להלן. אם אתה חדש לחלוטין ב- Arduino ו- LCD, אתה יכול לבדוק את המדריך הזה ל- Arduino LCD כדי להבין כיצד להשתמש ב- Arduino עם צגי LCD.
סיכות VCC ו- GND של החיישן מחוברות לסיכות 3v3 ו- GND של הארדואינו. סיכות SCL ו- SDA של החיישן מחוברות ל- A5 ו- A4 של לוח הארדואינו. חיבורי ה- LCD הם כדלקמן
שם פין LCD |
פין ארדואינו |
VSS ו- RW |
GND |
RS |
D9 |
ה |
D8 |
D4, D5, D6, D7 |
D5, D4, D3, D2 |
תוכנית Arduino לממשק BMP280 עם Arduino:
את קוד ה- BMP280 Arduino המלא תוכלו למצוא בתחתית דף זה, אותו ניתן להעלות ישירות ללוח ה- Arduino שלכם. ההסבר לכך ניתן להלן
ספריות אלה כלולות להפעלת הפונקציות המיוחדות. בקבצי כותרת הכלול # אנו יכולים לקרוא ישירות את הערכים המגיעים מהחיישן. ה- # כלול
#לִכלוֹל
יצירת אובייקט BMP עבור Adafruit_BMP280. קובץ אובייקט נוצר כדי לגשת לפונקציות מיוחדות.
Adafruit_BMP280 bmp; // I2C
הגדרת הפינים של ה- Arduino לתקשר עם ה- LCD. באמצעות סיכות אלה יועברו נתונים.
LCD LiquidCrystal (9, 8, 5, 4, 3, 2);
אתחול ה- LCD והתקשורת הסדרתית.
הגדרת חלל () {lcd.begin (16,2); Serial.begin (9600); Serial.println (F ("מבחן BMP280")); lcd.print ("ברוך הבא"); lcd.setCursor (0,1); lcd.print ("מעגל מעגל"); עיכוב (1000); lcd.clear (); אם (! bmp.begin ()) {Serial.println (F ("לא הצלחנו למצוא חיישן BMP280 חוקי, בדוק את החיווט!"); ואילו (1); }
פונקציה זו פועלת כאשר האתחול של אובייקט bmp נכשל.
/ * הגדרות ברירת מחדל מגליון הנתונים. * / bmp.setSampling (Adafruit_BMP280:: MODE_NORMAL, / * מצב הפעלה * * / Adafruit_BMP280:: STANDBY_MS_500); /* זמן המתנה. * /}
חלק זה של הקוד מדפיס את הטמפרטורה בצג הטורי והוא נועד למטרות ניפוי באגים.
לולאה בטלה () {Serial.print (F ("Temperature =")); Serial.print (bmp.readTemperature ()); Serial.println ("* C");
הפונקציה bmp.readPressure ו- bmp.readTemprature משמשים להפעלת פונקציות מיוחדות והחזרת ערכי הטמפרטורה והלחץ.
lcd.print (bmp.readTemperature ()); lcd.print (bmp.readPressure ());
עבודה של פרויקט ממשק חיישן לחץ BMP280 Arduino
הפונקציות bmp.readTemprature () ו- bmp.readPressure () משמשות להחזרת ערכי הטמפרטורה והלחץ. פונקציות אלה הן קבוצה של הצהרות המבצעות משימה מיוחדת, במקרה שלנו להחזיר קבצי טמפרטורה ולחץ. פונקציות אלה מופעלות באמצעות פונקציות bmp.readTemprature () ו- bmp.readPressure () . ה- lcd.setCursor מכוון את סמן ה- LCD למיקום הנדרש על המסך. lcd.print הפקודה מדפיסה את הנתונים מהמיקום שהגדיר המתכנת. אם לא מוגדר מיקום עבור ה- LCD כברירת מחדל, הוא לוקח (0,0) כמיקום ההתחלתי, והדפסה רציפה של הנתונים. הנתונים הבאים תופסים את עמדת העמודה הבאה, וההליך ממשיך עד שהוא מגיע לסוף השורה ועובר לשורה הבאה.
ניתן להשתמש ב- BMP280 בצעצועים מעופפים, טלפונים ניידים, טאבלטים, מחשבים אישיים, מכשירי GPS, מכשירי בריאות ניידים, תחנות מזג אוויר ביתיות וכו '. על ידי ביצוע הליך זה ושימוש בקבצי כותרת וכמה פונקציות מיוחדות, אנו יכולים ממשק BMP280 בקלות עם הארדואינו. העבודה המלאה ניתן למצוא גם בסרטון המופיע להלן, מקווה שנהניתם מהמדריך הזה של BMP280 Arduino ולמדתם משהו שימושי. אם יש לך שאלה כלשהי השאיר אותן בסעיף ההערות למטה או השתמש בפורומים לשאלות טכניות אחרות.