תוכן עניינים:
- שלב 1: חומרים בשימוש
- שלב 2: הסקריפט MakeCode/JavaScript
- שלב 3: ביצוע מדידות RGB: מצב אור משודר
- שלב 4: RGB משתקף ומדידות בהירות
- שלב 5: מדידות אור משתקפות: פרחים
וִידֵאוֹ: מדידות אור וצבע בעזרת Pimoroni Enviro: bit for Micro: bit: 5 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:16
עבדתי על כמה מכשירים שמאפשרים מדידות אור וצבע בעבר ואולי תמצא הרבה על התיאוריה שמאחורי מדידות כאלה המונחים כאן וכאן.
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 מוצגים לאחר מכן בשורות 3 עד 5 של מטריצת ה- LED: 5x5 LED של מיקרו: ביט, כאשר הנורות העליונות מייצגות נמוכות, הנורות הנמוכות את הערכים הגבוהים.
עבור הניסויים המוצגים כאן במדידות אור מועבר השתמשתי באור יום והנחתי מסננים צבעוניים מחבילת דגימה של רוסקו מול החיישן. אתה יכול לראות את האפקטים על הצג, במיוחד בערוץ האדום. תסתכל על התמונות והשווה את הדפוסים.
כדי לקרוא את הערכים בפועל, פשוט לחץ על כפתור A.
שלב 4: 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]
מה שמתאים לציפיות, לפחות לשלושת הצמחים הראשונים. כדי להציג את הצבעים מהערכים, אתה יכול להשתמש במחשבון צבעים, כמו זה כאן.
מוּמלָץ:
שימוש ב- Pimoroni Enviro+ FeatherWing With the Adafruit Feather NRF52840 Express: 8 שלבים
שימוש ב- Pimoroni Enviro+ FeatherWing עם Adafruit Feather NRF52840 Express: ה- Pimoroni Enviro+ FeatherWing הוא לוח עמוס בחיישנים המיועדים לעבוד עם סדרת הלוחות של Adafruit Feather. זהו מקום שימושי להתחיל עבור כל מי שמעוניין בניטור סביבתי, זיהום אטמוספרה ושטיפת נתונים. אני
מדידות חיישן זרם ACS724 עם Arduino: 4 שלבים
מדידות חיישן זרם ACS724 עם Arduino: במדריך זה נתנסה בחיבור חיישן זרם ACS724 ל- Arduino לביצוע מדידות זרם. במקרה זה החיישן הנוכחי הוא מגוון +/- 5A שמפיק 400 mv/A. ל- Arduino Uno יש ADC של 10 סיביות, שאלות טובות כל כך
ספר אור אור כחול LED נטען: 17 שלבים (עם תמונות)
ספר כחול LED SAD נטען כחול: ניתן להשתמש בטיפול באור כחול לשיפור מצב הרוח, שיפור השינה, טיפול בג'ט לג, התאמת שעות השינה והגברת האנרגיה. טיפול באור מועיל לתלמידים שמתחילים ללמוד מוקדם כשעדיין חשוך. זה יכול להתאים לתיק הגב שלך, ניתן לעיכול, בעל תוספת
שלוט במתג אור בעזרת כפפת האינסוף שלך מקרטון: 10 שלבים
שלוט במתג אור עם כפפת האינסוף שלך מקרטון: קיבלתי השראה מסרט הנוקמים, התחלתי להכין את Thanos Infinity Gauntlet מקרטון. בפרויקט זה השתמשתי במודולי משדר RF אלחוטי MPU6050 ו- NRF24L01+ 2.4GHz כדי לתקשר בין שני לוחות Arduino באופן אלחוטי. The Infinity Gauntl
IoT Hydroponics - שימוש ב- Watson של IBM לצורך מדידות PH ו- EC: 7 שלבים (עם תמונות)
IoT Hydroponics - שימוש ב- Watson של IBM לצורך מדידות PH ו- EC: מדריך זה יראה כיצד לעקוב אחר EC, pH וטמפרטורה של מערך הידרופוניקה ולהעלות את הנתונים לשירות ווטסון של IBM. ווטסון חופשי להתחיל איתו. יש תוכניות בתשלום, אבל התוכנית החינמית מספיקה לפרויקט הזה