תוכן עניינים:
וִידֵאוֹ: כיול בהירות LED: 5 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:15
בזמן שעשיתי אור פיות, הבנתי שערך ה- PWM אינו פרופורציונלי לבהירות הנורית. בפשטות, אם ערך ה- PWM כפול הבהירות אינה כפולה; במיוחד כאשר PWM קרוב למקסימום, כל שינוי אינו ניתן לזיהוי בעיניי. חשבתי שזו צריכה להיות בעיה של כיול פשוט! וכך עשיתי את הפרויקט הזה! הרעיון הוא למדוד את הבהירות של נורית עם מכשיר כלשהו (חיישן זוהר או פוטורססיסטור) ולמצוא מתאם בין ערך PWM לבין הבהירות. אחר כך אם אני מגדיר את הבהירות ל -50%, Arduino יחשב את ה- PWM המתאים ויעמעם את הנורית בהתאם.
לכן, אני צריך חיישן בהירות ונורית למדידת הבהירות. באמצעות כרטיס SD, אשמור את הנתונים להליך התאמה מאוחר יותר. ההתאמה תתבצע באקסל (או כל תוכנית אחרת). ה- out out ישמש בקוד Arduino, וזהו! צריך לעשות את זה פעם אחת. אז אתה יכול להשתמש בפרמטר הכיול לנצח!
שלב 1: חלקים
1- WEMOS מיני D1: Aliexpress 3 €
2- TSL 2561 (חיישן בהירות): Aliexpress 3 €
מודול כרטיס SD: Aliexpress 1 €
4- LED
5- התנגדות 220 אוהם
6- חוטים
עלות כוללת: 8-10 €
שלב 2: חיווט
אין לשנות מודולי כרטיס SD וחוטי חיישן בהירות (רובם). לד צריך להיות מחובר לסיכת PWM.
שלב 3: קוד
שילבתי שלושה חלקים של קודים:
כרטיס SD: דוגמה משומשת> SD> ReadWrite ב- Arduino IDE
TSL 2561: דוגמה משומשת של ספריית Adafruit TSL2561 (sensorapi); תמצא אותו בדוגמאות, אם תתקין את הספרייה (אני מניח שאתה יודע כיצד להתקין ספרייה ב- Arduino IDE).
דהיית LED: דוגמאות משומשות> אנלוגי> דהייה
הקוד, לאחר אתחול המודולים, יעמעם את הלד ויקרא את הבהירות וישמור אותו בכרטיס SD. בדרך זו אאסוף כמה נתונים לכיול.
שיניתי כל אחד מהקודים בהתאם לצרכים שלי. הקוד הסופי מצורף.
האות צריך להיראות כמו התמונה המצורפת. לרוע המזל שכחתי לצלם אז אני עורך אותה מחדש באקסל כדי להראות לך איך זה צריך להיות.
הערה: אני משתמש ב- wemo mini D1 במקום ב- Arduino. מסיבה כלשהי שאני לא יודע, ה- PWM הוא בין 0 ל- 1023. בארדואינו זה צריך להיות בין 0-255. אם אתה רוצה להשתמש בקוד עבור arduino, עליך לטפל בו (שורה 90).
שלב 4: התאמה ושימוש
לאחר איסוף נתונים, פתחתי את הקובץ באקסל ומשרטט את הנתונים (תסתכל על התמונה). העמודה הראשונה היא ערך PWM והשנייה היא לוקס (קריאת החיישן, היחידה לא משנה הרבה). לכן, עלילת לוקס (ציר y) לעומת PWM (ציר x). כפי שאתה יכול לראות הבהירות היא ביחס לינארי לערך PWM. צירפתי לו קו.
כדי להתאים קו, בצע כדלקמן:
1- העלילת הנתונים (הכנס> פיזור עלילה) אני מניח שאתה יודע כיצד.
2 לחץ לחיצה ימנית על הנתונים המתוכננים
3- הקלק על קו המגמה.
4- (באקסל 2013) בצד ימין לוח צץ. בחר ליניארי. בתחתית בחר "משוואת תצוגה בתרשים".
הקשר הלינארי שונה מהתפיסה שלי. לכן אני חושב שצריך להיות קשר לוגריתמי בין התפיסה שלי לבין הבהירות (זו הדרך הפשוטה ביותר שעלה לי לראש!). אז לקחתי את שיפוע ההתאמה. היירוט אינו חשוב, מכיוון שהוא תלוי בזיהום האור שמסביב! במקום זאת הוספתי 1. מכיוון ש- Log10 (0) הוא אינסופי. אז אני צריך יירוט כדי לפתור את הבעיה. במקרה שלי המשוואה נראית כך:
y = Log10 (0.08 x +1), y הוא הבהירות ו- x הוא ערך PWM (0-1023)
נירמלתי את המשוואה לערך המרבי. ואז הפלט צלצל תמיד בין 0-100. בדרך זו אוכל לבקש מארדואינו בהירות יחסית מסוימת, מבלי להתייחס לבהירות המוחלטת המרבית.
y = Log10 (0.08 x +1)*100/1.914
מכיוון שבארדואינו הקלט שלי הוא הבהירות היחסית, אני צריך לסדר מחדש את המשוואה עבור x (PWM):
x = (10^(y*1.914 / 100) - 1) / 0.08
באמצעות משוואה זו בקוד אנו יכולים לקבל שינוי בהירות לינארית. אז אתה מבקש מארדואינו בהירות (y) בין 0-100, וארדואינו מחשב את ערך ה- PWM המתאים. בדרך זו, אם הכפילה את הבהירות, גם התפיסה שלך זהה.
אם אתה רוצה להשתמש בו בקוד שלך עדיף להוסיף שורות אלה:
בהירות = 50; // באחוזים
PWM = pow (10, בהירות*1.914/100) -1) /0.0793;
analogWrite (ledpin, PWM);
הערה: הנורמליזציה מתבצעת עבור PWM מרבי של 1023 (עבור Wemos mini D1). עבור Arduino PWM הוא בין 0-255. אתה צריך לחשב את זה בהתאם.
NOTE2: הוספתי עלילה ליניארית כדי להראות כיצד תפיסתנו וערך ה- PWM שלנו קשורים. אתה לא צריך להשתמש בו להתאמה!
שלב 5: מסקנה
הכיול עובד בשבילי מצוין. כאשר ערכי ה- PWM גדולים, אני יכול לראות את ההבדל. בעבר כערכים הגדולים לא יכולתי לראות את ההשפעה של עמעום. בעיקרון רוב השינויים בוצעו בטווח קטן של PWM. עכשיו הוא מכויל!
כל LED, בצבעים שונים במיוחד, צריך שיהיו לו פרמטרי כיול משלו. עם זאת כיליתי LED כחול והשתמשתי בפרמטר עבור LED לבן והתוצאה הייתה מקובלת. אז אולי תוכל להשתמש בפרמטר הכיול שלי מבלי להפריע לעצמך !!
מוּמלָץ:
כיול חיישן ARDUINO PH: 7 שלבים
כיול חיישן ARDUINO PH: במדריך זה נבצע כיול של חיישן ה- EZO pH של Atlas Scientific באמצעות Arduino Uno. תיאוריית הכיול החלק החשוב ביותר בכיול הוא צפייה בקריאות במהלך תהליך הכיול. הכי קל לכייל את המכשיר ב
4 עד 20 MA כיול תהליך תעשייתי DIY - מכשור אלקטרוניקה: 8 שלבים (עם תמונות)
4 עד 20 MA כיול תהליך תעשייתי DIY | מכשור אלקטרוניקה: מכשור תעשייתי ואלקטרוניקה הוא תחום יקר מאוד ולא קל ללמוד עליו אם אנחנו רק בעלי השכלה עצמית או חובבנים. בגלל זה כיתת המכשור האלקטרוניקה שלי ועיצבתי את התקציב הנמוך הזה של 4 עד 20 mA
כיול חיישן לחות הקרקע: 5 שלבים
כיול חיישן לחות הקרקע: קיימים בשוק מדי מדי לחות קרקע רבים המסייעים לגנן להחליט מתי להשקות את הצמחים שלהם. למרבה הצער, לתפוס חופן אדמה ולבדוק את הצבע והמרקם אמין כמו רבים מהגאדג'טים האלה! כמה בדיקות אפילו רושמות
כיול חיישן ARDUINO ORP: 3 שלבים
כיול חיישן ARDUINO ORP: במדריך זה נבצע כיול של חיישן EZO ORP (פוטנציאל הפחתת חמצון) של Atlas Scientific באמצעות Arduino Uno. תיאוריית הכיול החלק החשוב ביותר בכיול הוא צפייה בקריאות במהלך תהליך הכיול. זה קל
כיול חיישן חמצן ARDUINO מומס: 4 שלבים
כיול חיישן חמצן ARDUINO מומס: במדריך זה נבצע כיול של חיישן החמצן (D.O) של אטלס סיינטיפיק מ- EZO באמצעות תיאוריית Arduino Uno. החלק החשוב ביותר בכיול הוא צפייה בקריאות במהלך תהליך הכיול. הכי קל לכייל