דימר LED זה הוא מעגל PWM מבוסס Arduino Uno (אפנון רוחב דופק) שפותח כדי לקבל מתח משתנה על פני מתח קבוע. שיטת ה- PWM מוסברת להלן. לפני שנתחיל לבנות מעגל דימר LED 1 ואט, שקול תחילה מעגל פשוט כפי שמוצג באיור להלן.
כעת אם המתג באיור נסגר ברציפות לאורך תקופה מסוימת אז הנורה תדליק ברציפות במהלך אותה תקופה. אם המתג סגור למשך 8ms ונפתח למשך 2ms לאורך מחזור של 10ms, הנורה תהיה דולקת רק בזמן 8ms. כעת המסוף הממוצע לאורך תקופה של 10ms = זמן הפעלה / (זמן הפעלה + זמן כיבוי), זה נקרא מחזור חובה והוא 80% (8 / (8 + 2)), כך הממוצע מתח המוצא יהיה 80% ממתח הסוללה.
במקרה השני, המתג סגור למשך 5ms ונפתח למשך 5ms לאורך 10ms, כך שמתח המסוף הממוצע ביציאה יהיה 50% ממתח הסוללה. נניח אם מתח הסוללה הוא 5 וולט ומחזור החובה הוא 50% וכך מתח המסוף הממוצע יהיה 2.5 וולט.
במקרה השלישי מחזור העבודה הוא 20% ומתח המסוף הממוצע הוא 20% ממתח הסוללה.
עכשיו איך משתמשים בטכניקה זו בדימר LED זה ? זה מוסבר בחלק הבא של הדרכה זו.
כפי שמוצג באיור, ל- Arduino UNO יש ערוצי 6PWM, כך שנוכל לקבל PWM (מתח משתנה) בכל אחד מששת הפינים הללו. בפרק זה אנו נשתמש ב- PIN3 כפלט PWM.
רכיבים נדרשים
חומרה: ARDUINO UNO, ספק כוח (5v), קבל 100uF, נורית, לחצנים (שני חלקים), נגד 10KΩ (שני חלקים).
תוכנה: arduino IDE
תרשים מעגל והסבר
המעגל מחובר על לוח לחם בהתאם לתרשים המעגל. עם זאת יש לשים לב במהלך חיבור מסופי ה- LED. למרות שהכפתורים מראים אפקט מקפץ במקרה זה זה לא גורם לשגיאות ניכרות ולכן אנחנו לא צריכים לדאוג הפעם.
ה- PWM של UNO הוא די קל. אמנם הגדרת בקר ATMEGA לאות PWM אינה קלה, אך עלינו להגדיר הרבה רושמים והגדרות לאות מדויק, אולם ב- ARDUINO איננו צריכים להתמודד עם כל הדברים האלה.
כברירת מחדל כל קבצי הכותרת והרשמים מוגדרים מראש על ידי ARDUINO IDE, אנחנו פשוט צריכים להתקשר אליהם וזהו שיהיה לנו פלט PWM בסיכה המתאימה.
עכשיו כדי לקבל פלט PWM בסיכה מתאימה, עלינו לעבוד על שני דברים,
|
ראשית עלינו לבחור את סיכת הפלט של PWM מתוך שישה פינים, לאחר מכן עלינו להגדיר את הסיכה כפלט.
בשלב הבא עלינו לאפשר את תכונת ה- PWM של UNO על ידי קריאת הפונקציה "analogWrite (pin, value)". כאן 'סיכה' מייצגת את מספר הסיכה במקום בו אנו זקוקים לפלט PWM אנו מכניסים אותו כ- '3'. אז ב- PIN3 אנו מקבלים פלט PWM. הערך הוא מחזור החובה להפעיל, בין 0 (תמיד כבוי) ל- 255 (תמיד פועל). אנו הולכים להגדיל ולהקטין מספר זה בלחיצת כפתור.
השימוש בסיכות PWM ב- Arduino Uno מוסבר בקוד C המופיע להלן.