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

בקרת בהירות, Arduino (עם אנימציות): 7 שלבים
בקרת בהירות, Arduino (עם אנימציות): 7 שלבים

וִידֵאוֹ: בקרת בהירות, Arduino (עם אנימציות): 7 שלבים

וִידֵאוֹ: בקרת בהירות, Arduino (עם אנימציות): 7 שלבים
וִידֵאוֹ: Gledopto GL-C-103P - Zigbee контроллер для адресных LED светильников, первое знакомство 2024, יולי
Anonim
Image
Image

במהלך השנים האחרונות בניתי שתי מכונות פינבול (pinballdesign.com) ושני ראשי רובוט (grahamasker.com) הנשלטים כל אחד על ידי Arduinos. לאחר שהייתה לי קריירה כמהנדס מכונות אני בסדר עם עיצוב המנגנונים, אולם אני נאבק בתכנות. החלטתי ליצור אנימציות להמחשת כמה מושגי היסוד של הארדואינו. חשבתי שזה יעזור לי ולאחרים להבין אותם. תמונה שווה אלף מילים ואנימציה יכולה להיות אלף תמונות!

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

אם אתה מכיר נוריות ופוטנציומטרים, תוכל לדלג על סעיפים 1 ו -2.

שלב 1: אודות נוריות

אודות נוריות
אודות נוריות

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

מתח וזרם

המתח הנדרש על ידי LED נע בין כ -2.2 וולט ל -3.2 וולט בהתאם לצבעו. הדירוג הנוכחי שלהם הוא בדרך כלל 20mA. על מנת להגביל את הזרם ולמנוע את התחממות יתר של ה- LED, יש צורך להשתמש בנגד בסדרה עם כל LED. אני ממליץ על 300 אוהם.

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

שלב 2: פוטנציומטר

פוטנציאל
פוטנציאל

במונחים של ארדואינו פוטנציומטר הוא חיישן. "חיישן" מתייחס לכל מכשיר חיצוני שניתן לחוש אותו על ידי הארדואינו כאשר הוא מחובר לסיכות קלט. אנו הולכים להשתמש בפוטנציומטר המחובר ל- Arduino, כדי לשלוט על בהירותו של LED. לפעמים פוטנציומטר נקרא מחלק מתח, שלדעתי הוא תיאור טוב יותר. התרשים בצד שמאל למעלה מציין את עיקרו של מחלק מתח. בדוגמה זו, נגד מחובר לקרקע בקצה אחד ומוחזק, על ידי מקור כוח כלשהו ל- 5v בקצה השני. אם מחוון מועבר לאורך הנגד הוא יהיה במתח של 0v בקצה השמאלי, 5v בקצה הימני. בכל מיקום אחר הוא יהיה בערך בין 0v ל 5v. בחצי הדרך, למשל, הוא יהיה 2.5V. אם אנו מעצבים מחדש את הסידור כפי שמוצג מימין למעלה, אז זה מייצג את הפעולה של פוטנציומטר מסתובב.

שלב 3: המעגל

המעגל
המעגל

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

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

ל- Arduino יש רק סיכות פלט דיגיטליות. עם זאת אותם סיכות עם tilde (~) לצידן מדמות פלט אנלוגי המתאים לשלוט על בהירותו של לד. תהליך זה נקרא Pulse Width Modulation (PWM) והוא מוסבר באמצעות האנימציה הבאה, שלב 4.

שלב 4: PWM

PWM, אפנון רוחב הדופק

כפי שצוין לעיל, הסיכות עם טילדה, "~" לצידן סיכות PWM. מכיוון שהסיכות הן דיגיטליות הן יכולות להיות רק ב 0v או 5v, אולם עם PWM ניתן להשתמש בהן כדי לעמעם נורית LED או לשלוט במהירות המנוע. הם עושים זאת על ידי אספקת 5V למנורת LED אך פעימתה בין 0v ל -5v ב -500 הרץ (500 פעמים בשנייה) ומתיחה או כיווץ משך כל אלמנט 0v ו- 5v של הדופק. כאשר הנורית רואה דופק 5V ארוך יותר מדופק 0v אז הוא הופך להיות בהיר יותר. בתוכנית שלנו, אנו משתמשים בפונקציה analogueWrite () כדי להוציא "גל מרובע" PWM. יש לו 256 תוספות, אפס נותן מחזור עבודה של 0% ו -255 נותן 100% "מחזור עבודה" כלומר 5 וולט רציף. לפיכך 127 ייתן מחזור עבודה של 50%, חצי מהזמן ב- 0v וחצי מהזמן ב- 5v. האנימציה למעלה מראה כיצד כאשר מחזור חובה זה נמתח לכיוון 100% ואז הלד הופך להיות בהיר יותר.

שלב 5: התוכנית (ARDUINO SKETCH)

Image
Image

הסרטון לעיל עובר בתוכנית (סקיצה) שניתן להשתמש בה כדי לשלוט על בהירותו של LED באמצעות פוטנציומטר. המעגל זהה לזה שמוצג בשלב 3.

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

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

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

שלב 6: מפה

יש לנו את הפוטנציומטר מחובר לסיכה אנלוגית. מתח הפוטנציומטר משתנה בין 0 ל -5 וולט. טווח זה רשום במעבד במרווחים של 1024. כאשר קלט הערך משמש ליצירת פלט באמצעות סיכה דיגיטלית המאפשרת PWM יש למפות טווח זה לטווח הפלט של סיכה דיגיטלית. יש לזה 255 תוספות. פונקציית המפה משמשת למטרה זו ומספקת פלט ביחס לקלט.

הסרטון למעלה ממחיש זאת.

שלב 7: ארדואינו מונפש

התמונות במדריך זה נלקחו מהספר האלקטרוני שלי אנימציה Arduino הזמינה באתר www.animatedarduino.com בו אני שואף לספק הבנה טובה יותר של כמה מהמושגים בהם נתקלתי תוך כדי לימוד תכנות הארדואינו.

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

מוּמלָץ: