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

דוהה LED פנימה והחוצה: 3 שלבים
דוהה LED פנימה והחוצה: 3 שלבים

וִידֵאוֹ: דוהה LED פנימה והחוצה: 3 שלבים

וִידֵאוֹ: דוהה LED פנימה והחוצה: 3 שלבים
וִידֵאוֹ: Йога для начинающих дома с Алиной Anandee #3. Здоровое гибкое тело за 40 минут. Продвинутый уровень. 2024, יולי
Anonim
דוהה LED פנימה והחוצה
דוהה LED פנימה והחוצה

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

אתה תצטרך:

  • ארדואינו (השתמשתי בצמד)
  • לוח לחם
  • LED אדום 5 מ"מ
  • נגד 330 Ω (לא קריטי 330-560 Ω יעבוד.)
  • 22 חוט חיבור מוצק

החלקים הדרושים לניסויים אלה כלולים בכל ערכות ההפעלה של Arduino.

שלב 1: הסבר אפנון הדופק

אפנון דופק מוסבר
אפנון דופק מוסבר
אפנון דופק מוסבר
אפנון דופק מוסבר
אפנון דופק מוסבר
אפנון דופק מוסבר

נוריות LED פועלות תמיד באותו מתח ללא קשר לבהירות. הבהירות נקבעת על ידי מתנד גל מרובע ומשך הזמן שהמתח גבוה קובע את הבהירות. זה נקרא אפנון רוחב הדופק (PWM). זה נשלט על ידי הפונקציה Arduino analogWrite (pin, n) שבה n יש ערך מ -0 עד 255. analogWrite () פלט PWM, לא אנלוגי אמיתי. אם n = 2 הנורית תהיה בהירה פי שניים מ- n = 1. הבהירות תמיד מכפילה כאשר n מכפילה. אז n = 255 יהיה בהיר פי שניים מ- n = 128.

הערך של n מתבטא לעתים קרובות באחוזים הנקראים מחזור העבודה. התמונות מראות עקבות אוסצילוסקופ במשך 25, 50 ו -75% מחזורי עבודה.

שלב 2: עמעום לא אחיד

עמעום לא אחיד
עמעום לא אחיד
עמעום לא אחיד
עמעום לא אחיד

בנה את המעגל כמו בתרשים. זה בדיוק כמו המעגל להבהב LED. הוא משתמש בסיכה 9 מכיוון שעליך להשתמש בסיכה המאפשרת PWM.

העתק/הדבק את הסקיצה למטה לתוך Arduino IDE והפעל אותה.

תוכלו להבחין שככל שה- LED הוא בהיר יותר כך הוא עמעום איטי יותר. ככל שהוא מתקרב לעומפל, הוא יעמום מהר מאוד.

הגדרת חלל ()

{pinMode (9, OUTPUT); } לולאת חלל () {int pin = 9; for (int i = 255; i> -1; i--) {analogWrite (סיכה, i); עיכוב (10); } עבור (int i = 0; i <256; i ++) {analogWrite (pin, i); עיכוב (10); }}

}

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

שלב 3: למעלה ולמטה באחד לפורום ()

כדי שה- LED יעמעם בקצב קבוע העיכוב () חייב לעלות בקצב מעריכי מכיוון שמחצית ממחזור ההפעלה תמיד תייצר חצי מהבהירות. המחשבה הראשונה שלי הייתה לנסות להשתמש בפונקציית המפה () אך היא לינארית.

השורה:

int d = (16-i/16)^2;

מחשב את הריבוע ההפוך של הבהירות כדי לקבוע את אורך העיכוב.

העתק/הדבק את הסקיצה למטה לתוך Arduino IDE ותראה כי ה- LED ידהה פנימה והחוצה בקצב קבוע.

הגדרת חלל ()

{pinMode (9, OUTPUT); } לולאת חלל () {int x = 1; int pin = 9; עבור (int i = 0; i> -1; i = i + x) {int d = (16 -i/16)^2; analogWrite (סיכה, i); עיכוב (ד); אם (i == 255) x = -1; // החלף כיוון בשיא}}

מוּמלָץ: