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

מדידת עוצמת אור באמצעות BH1715 ו- Raspberry Pi: 5 שלבים
מדידת עוצמת אור באמצעות BH1715 ו- Raspberry Pi: 5 שלבים

וִידֵאוֹ: מדידת עוצמת אור באמצעות BH1715 ו- Raspberry Pi: 5 שלבים

וִידֵאוֹ: מדידת עוצמת אור באמצעות BH1715 ו- Raspberry Pi: 5 שלבים
וִידֵאוֹ: Часть 5 - Аудиокнига Уолдена Генри Дэвида Торо (глы 12–15) 2024, נוֹבֶמבֶּר
Anonim
Image
Image

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

במדריך זה אנו הולכים להדגים את פעולתו של BH1715 עם פטל פאי, תוך שימוש ב- Java כשפת התכנות.

חומרה שתזדקק לה למטרה זו היא כדלקמן:

1. BH1715 - חיישן אור סביבה

2. פטל פטל

3. כבל I2C

4. מגן I2C עבור פטל פטל

5. כבל אתרנט

שלב 1: סקירה כללית של BH1715:

מה אתה צריך..!!
מה אתה צריך..!!

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

BH1715 הוא חיישן אור סביבה דיגיטלי עם ממשק אוטובוס I²C. BH1715 משמש בדרך כלל להשגת נתוני אור הסביבה להתאמת עוצמת התאורה האחורית של LCD ומקלדת למכשירים ניידים. מכשיר זה מציע רזולוציה של 16 סיביות וטווח מדידה מתכוונן, המאפשר זיהוי בין.23 ל- 100, 000 לוקס.

פרוטוקול התקשורת שעליו החיישן עובד הוא I2C. I2C מייצג את המעגל הבין-משולב. זהו פרוטוקול תקשורת שבו התקשורת מתבצעת באמצעות קווי SDA (נתונים סדרתיים) ו- SCL (שעון טורי). הוא מאפשר חיבור של מספר מכשירים בו זמנית. זהו אחד מפרוטוקול התקשורת הפשוט והיעיל ביותר.

שלב 2: מה שאתה צריך..

מה אתה צריך..!!
מה אתה צריך..!!
מה אתה צריך..!!
מה אתה צריך..!!
מה אתה צריך..!!
מה אתה צריך..!!

החומרים הדרושים לנו להגשמת מטרתנו כוללים את רכיבי החומרה הבאים:

1. BH1715 - חיישן אור סביבה

2. פטל פטל

3. כבל I2C

4. מגן I2C עבור פטל פטל

5. כבל אתרנט

שלב 3: חיבור חומרה:

חיבור חומרה
חיבור חומרה
חיבור חומרה
חיבור חומרה

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

ה- BH1715 יעבוד על I2C. להלן תרשים החיווט לדוגמה, המדגים כיצד לחבר כל ממשק של החיישן.

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

רק ארבעה חיבורים נדרשים סיכות Vcc, Gnd, SCL ו- SDA ואלו מחוברים בעזרת כבל I2C.

קשרים אלה מודגמים בתמונות למעלה.

שלב 4: מדידת עוצמת אור באמצעות קוד ג'אווה:

מדידת עוצמת אור באמצעות קוד ג'אווה
מדידת עוצמת אור באמצעות קוד ג'אווה
מדידת עוצמת אור באמצעות קוד ג'אווה
מדידת עוצמת אור באמצעות קוד ג'אווה

היתרון בשימוש בפטל פאי הוא בכך שהוא מספק לך את הגמישות של שפת התכנות בה ברצונך לתכנת את הלוח על מנת לחבר אליו את החיישן. תוך ניצול היתרון הזה של הלוח הזה, אנו מדגימים כאן את התכנות שלו ב- Java. ניתן להוריד את קוד ה- Java ל- BH1715 מקהילת GitHub שלנו, שהיא חנות Dcube.

בנוסף לנוחות המשתמשים, אנו מסבירים את הקוד גם כאן:

כשלב הראשון של קידוד, עליך להוריד את ספריית pi4j במקרה של java, מכיוון שספרייה זו תומכת בפונקציות המשמשות את הקוד. אז, כדי להוריד את הספרייה אתה יכול לבקר בקישור הבא:

pi4j.com/install.html

תוכל להעתיק מכאן גם את קוד ה- Java שעובד עבור חיישן זה:

// מופץ ברישיון רצון חופשי.

// השתמש בו בכל דרך שתרצה, ברווח או בחינם, בתנאי שהוא מתאים לרישיונות של העבודות הקשורות בו.

// BH1715

// קוד זה נועד לעבוד עם מודול BH1715_I2CS I2C הזמין מ- ControlEverything.com.

//

ייבא com.pi4j.io.i2c. I2CBus;

ייבא com.pi4j.io.i2c. I2CDevice;

יבוא com.pi4j.io.i2c. I2CFactory;

יבוא java.io. IOException;

מעמד ציבורי BH1715

{

פוסט סטטי ציבורי ריק (String args ) זורק חריגה

{

// צור אוטובוס I2C

אוטובוס I2CBus = I2CFactory.getInstance (I2CBus. BUS_1);

// קבל מכשיר I2C, כתובת IH BH1715 היא 0x23 (35)

מכשיר I2CDevice = bus.getDevice (0x23);

// שלח כוח על הפקודה

device.write ((בייט) 0x01);

// שלח פקודת מדידה רציפה

device.write ((בייט) 0x10);

Thread.sleep (500);

// קרא 2 בתים של נתונים

// זוהר msb, זוהר lsb

בייט נתונים = בייט חדש [2];

device.read (נתונים, 0, 2);

// המרת נתונים

זוהר כפול = ((נתונים [0] & 0xFF) * 256 + (נתונים [1] & 0xFF)) / 1.20;

// נתוני פלט למסך

System.out.printf ("זוהר אור הסביבה: %.2f lux %n", זוהר);

}

}

הספרייה המאפשרת תקשורת i2c בין החיישן ללוח היא pi4j, החבילות השונות שלה I2CBus, I2CDevice ו- I2CFactory עוזרות ביצירת החיבור.

יבוא com.pi4j.io.i2c. I2CBus; יבוא com.pi4j.io.i2c. I2CDevice; יבוא com.pi4j.io.i2c. I2CFactory; יבוא java.io. IOException;

חלק זה של הקוד גורם לחיישן לפעול למדידת עוצמת האור על ידי כתיבת הפקודות המתאימות באמצעות הפונקציה write () ולאחר מכן הנתונים נקראים באמצעות הפונקציה read ().

device.write ((בייט) 0x01); // כוח על הפקודה

device.write ((בייט) 0x10); // פקודת מדידה רציפה

בייט נתונים = בייט חדש [2]; // קרא 2 בתים של נתונים

device.read (נתונים, 0, 2);

הנתונים המתקבלים מהחיישן מומרים לפורמט המתאים באמצעות הדברים הבאים:

זוהר כפול = ((נתונים [0] & 0xFF) * 256 + (נתונים [1] & 0xFF)) / 1.20;

הפלט מודפס באמצעות הפונקציה System.out.println (), בפורמט הבא.

System.out.printf ("זוהר אור הסביבה: %.2f lux %n", זוהר);

פלט החיישן מוצג בתמונה למעלה.

שלב 5: יישומים:

יישומים
יישומים

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

מוּמלָץ: