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

מדידות אור וצבע בעזרת Pimoroni Enviro: bit for Micro: bit: 5 שלבים
מדידות אור וצבע בעזרת Pimoroni Enviro: bit for Micro: bit: 5 שלבים

וִידֵאוֹ: מדידות אור וצבע בעזרת Pimoroni Enviro: bit for Micro: bit: 5 שלבים

וִידֵאוֹ: מדידות אור וצבע בעזרת Pimoroni Enviro: bit for Micro: bit: 5 שלבים
וִידֵאוֹ: מדריך צילום - מצבי מדידת אור במצלמה 2024, נוֹבֶמבֶּר
Anonim
מדידות אור וצבע בעזרת Pimoroni Enviro: bit for Micro: bit
מדידות אור וצבע בעזרת Pimoroni Enviro: bit for Micro: bit
מדידות אור וצבע בעזרת Pimoroni Enviro: bit for Micro: bit
מדידות אור וצבע בעזרת Pimoroni Enviro: bit for Micro: bit
מדידות אור וצבע בעזרת Pimoroni Enviro: bit for Micro: bit
מדידות אור וצבע בעזרת Pimoroni Enviro: bit for Micro: bit

עבדתי על כמה מכשירים שמאפשרים מדידות אור וצבע בעבר ואולי תמצא הרבה על התיאוריה שמאחורי מדידות כאלה המונחים כאן וכאן.

Pimoroni הוציאה לאחרונה את enviro: bit, תוספת למיקרו: bit, המגיעה עם מיקרופון MEMS למדידות רמת קול, חיישן טמפרטורה/לחות/לחץ אוויר BME280 וחיישן אור וצבע TCS3475 (RGBC). בנוסף ישנם שני נוריות LED הממוקמות בצידי חיישן הצבע, המאפשרות למדוד את צבע האובייקטים על ידי אור מוחזר. מעולם לא היה קל יותר לבנות כלי לביצוע מדידות אלה.

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

הוראה זו היא חלק מתחרות "קשת". אם אתה אוהב את זה, בבקשה תן לזה את ההצבעה שלך. תודה ח

שלב 1: חומרים בשימוש

מיקרו: ביט, 13 ליש ט ב- Pimoroni.

Pimoroni Enviro: bit, 20 GBP ב- Pimoroni.

כוח פימורוני: ביט, 6 ליש ט בפיומורוני. תוכל גם להשתמש בחבילות סוללה או LiPo עבור המיקרו: ביט

בלוק דוגמת מסנן צבעים של רוסקו סינגל. את שלי קיבלתי ממודולור, ברלין.

כוסות פלסטיק בצבע איקאה. איקאה, ברלין.

פרחי בר. אחו בפוטסדם-גולם.

שלב 2: הסקריפט MakeCode/JavaScript

פימורוני פיתחה ספרייה עבור Enviro: bit, הן עבור סביבת הקידוד MakeCode/JavaScript והן עבור MicroPython. אני כאן השתמשתי ב- MakeCode, מכיוון שניתן להעלות את הסקריפטים ישירות ל- micro: bit ומאפשר קידוד בלוקים.

התסריט קורא את הערכים של הערוצים האדומים, הירוקים והכחולים (RGB) והערוצים הברורים (C). הראשונים ניתנים בערכים מ -0 עד 255, השני בכל הטווח מ -0 עד כ- 61000.

טווח הערוץ הצלול רחב מאוד ומאפשר מדידות מאור יום בהיר לחדר חשוך.

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

בהתחלה, הערכים של כל ארבעת הערוצים נלקחים. כדי להציג את התוצאות על מטריצת LED 5x5, משתמשים בערכים נמדדים כדי למקם את התוצאות ב -5 (RGB) או 10 (C) פחים, המיוצגים על ידי LED אחד באחד (R, G, B) או שתי שורות (C).

במקרה של RGB, קנה המידה הוא ליניארי וגודל המרווח של כל סל הוא 51 יחידות ברוחב. במקרה של C, קנה המידה הוא לוגריתמי על פני 10 שלבים (log3, כך שכל שלב הוא פי 3 מהקודם). זה מאפשר להציג תנאים עמומים מאוד ובהירים כאחד.

לחיצה על כפתור A מציגה את ערכי R, G ו- B במספרים, לחיצה על B על ערך C. A+B מפעיל את הנורות ו- B יכבה אותן.

תן bR = 0 // פחים

תן bG = 0 תן bB = 0 תן bS = 0 תן bC = 0 תן bCx = 0 תן S = 0 // ערכים נמדדים תן C = 0 תן B = 0 תן G = 0 תן R = 0 basic.forever (() => {if (input.buttonIsPressed (Button. AB)) {envirobit.setLEDs (envirobit. OnOff. On)} אחר אם (input.buttonIsPressed (Button. A)) {basic.showString ("R:" + R + "G:" + G + "B:" + B)} אחר אם (input.buttonIsPressed (Button. B)) {basic.showString ("C:" + C) envirobit.setLEDs (envirobit. OnOff. Off)} אחרת {basic.pause (100) R = envirobit.getRed () G = envirobit.getGreen () B = envirobit.getBlue () C = envirobit.getLight () bC = 5 bCx = 5 אם (R> = 204) { // binning, מקסימום 255 bR = 4} אחר אם (R> = 153) {bR = 3} אחר אם (R> = 102) {bR = 2} אחר אם (R> = 51) {bR = 1} אחר {bR = 0} if (G> = 204) {bG = 4} אחר אם (G> = 153) {bG = 3} אחר אם (G> = 102) {bG = 2} אחר אם (G> = 51) {bG = 1} אחר {bG = 0} אם (B> = 204) {bB = 4} אחר אם (B> = 153) {bB = 3} אחר אם (B> = 102) {bB = 2} אחרת אם (B> = 51) {bB = 1} אחר {bB = 0} אם (C> = 60000) {// רוויה bCx = 4} אחר אם (C> = 20000) {bCx = 3} אחר אם (C> = 6600) {bCx = 2} אחר אם (C> = 2200) {bCx = 1} אחר אם (C> = 729) {bCx = 0} אחר אם (C> = 243) {bC = 4} אחר אם (C> = 81) {bC = 3} אחר אם (C> = 27) {bC = 2} אחרת אם (C> = 9) {bC = 1} אחר {bC = 0} // כתוב ל- led basic.clearScreen () אם (bCx <5) {led.plot (1, bCx)} אחר {led.plot (0, bC)} led.plot (2, bR) led.plot (3, bG) led.plot (4, bB)}})

שלב 3: ביצוע מדידות RGB: מצב אור משודר

מדידת RGB: מצב אור משודר
מדידת RGB: מצב אור משודר
מדידת RGB: מצב אור משודר
מדידת RGB: מצב אור משודר
מדידת RGB: מצב אור משודר
מדידת RGB: מצב אור משודר
מדידת RGB: מצב אור משודר
מדידת RGB: מצב אור משודר

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

ערכי ה- RGB מוצגים לאחר מכן בשורות 3 עד 5 של מטריצת ה- LED: 5x5 LED של מיקרו: ביט, כאשר הנורות העליונות מייצגות נמוכות, הנורות הנמוכות את הערכים הגבוהים.

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

כדי לקרוא את הערכים בפועל, פשוט לחץ על כפתור A.

שלב 4: RGB משתקף ומדידות בהירות

RGB אור ומדידות בהירות
RGB אור ומדידות בהירות
RGB משתקף ומדידות בהירות
RGB משתקף ומדידות בהירות
RGB משתקף ומדידות בהירות
RGB משתקף ומדידות בהירות

למדידות אור מוחזר הדלקתי את הלדים (כפתור [A+B]) והנחתי לפני החיישן כמה חתיכות של כוסות ילדים של איקאה. כפי שניתן לראות מהתמונות, ערכי ה- RGB משתנים כצפוי.

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

שלב 5: מדידות אור משתקפות: פרחים

מדידות אור משתקפות: פרחים
מדידות אור משתקפות: פרחים
מדידות אור משתקפות: פרחים
מדידות אור משתקפות: פרחים
מדידות אור משתקפות: פרחים
מדידות אור משתקפות: פרחים
מדידות אור משתקפות: פרחים
מדידות אור משתקפות: פרחים

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

  • אף אחד [92, 100, 105]
  • פרג (אדום) [208, 98, 99]
  • קורנפלור (כחול) [93, 96, 138]
  • חבטת חום (לילך) [122, 97, 133]
  • צמח קיר (צהוב) [144, 109, 63]
  • עלה שן הארי (ירוק) [164, 144, 124]

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

מוּמלָץ: