השתמשנו בעבר כבר ב PWM של הארדואינו אבל הפעם הגיע הזמן להסביר קצת יותר מה זה אומר אבל לפני כן, שתי דוגמאות קטנות לתזכורת:
נר LED עם שימוש ב PWM
טנק נשלט על ידי בלוטוס
אז מה זה בעצם אומר?
כאשר אנחנו מדליקים נורת לד באופן רגיל, אנו משתמשים בפקודה digitalWrite שדואגת שהיציאה הדיגיטלית תוציא מתח - HIGH - או לא תוציא מתח - LOW.
פקודת ה HIGH אמורה להוציא מתח של 5V, פקודת ה LOW אמורה להוציא מתח של 0V. ואם אני רוצה להוציא 3V? 2.5V? באופן עקרוני אני יכול להשתמש בנגד שיתן לי את המתח הרצוי אולם אין פקודה שגורמת לארדואינו להוציא מתח נמוך יותר.
אם אני רוצה לעמעם את נורת ה LED או לגרום לטנק לנסוע לאט יותר אני יכול, בעזרת פקודת analogWrite, לתת חלק מהזמן 5V וחלק מהזמן 0V. התוצאה עשויה להראות כאילו הארדואינו מספק פחות מ 5V.
שימו לב שרק היציאות בארדואינו שמסומנות בסימון ~ מסוגלות לספק כתיבה אנלוגית - analogWrite, כלומר, יציאות מספר 3,5,6,9,10,11.
בואו נראה איך זה נראה:
כתיבה של analogWrite 0 - תתן לנו קו ישר של 0V, דומה מאד לפקודת ה digitalWrite LOW:
נוכל לצמצם את הזמן של ה 5V על ידי הפקודה analogWrite 50 (או כל מספר אחר באזור..):
או להרחיב את הזמן של ה 5V על ידי הפקודה analogWrite 200 (או כל מספר אחר באזור..):
מקווה שזה היה מספיק ברור ובכל מקרה, מצרף סרטון שאולי ימחיש טוב יותר את הדברים:
אם אינכם מצליחים לצפות בסרטון - לחצו כאן >>>
נר LED עם שימוש ב PWM
טנק נשלט על ידי בלוטוס
אז מה זה בעצם אומר?
כאשר אנחנו מדליקים נורת לד באופן רגיל, אנו משתמשים בפקודה digitalWrite שדואגת שהיציאה הדיגיטלית תוציא מתח - HIGH - או לא תוציא מתח - LOW.
פקודת ה HIGH אמורה להוציא מתח של 5V, פקודת ה LOW אמורה להוציא מתח של 0V. ואם אני רוצה להוציא 3V? 2.5V? באופן עקרוני אני יכול להשתמש בנגד שיתן לי את המתח הרצוי אולם אין פקודה שגורמת לארדואינו להוציא מתח נמוך יותר.
אם אני רוצה לעמעם את נורת ה LED או לגרום לטנק לנסוע לאט יותר אני יכול, בעזרת פקודת analogWrite, לתת חלק מהזמן 5V וחלק מהזמן 0V. התוצאה עשויה להראות כאילו הארדואינו מספק פחות מ 5V.
שימו לב שרק היציאות בארדואינו שמסומנות בסימון ~ מסוגלות לספק כתיבה אנלוגית - analogWrite, כלומר, יציאות מספר 3,5,6,9,10,11.
בואו נראה איך זה נראה:
כתיבה של analogWrite 0 - תתן לנו קו ישר של 0V, דומה מאד לפקודת ה digitalWrite LOW:
פקודת ה analogWrite 255 תתן לנו קו ישר של 5V, דומה מאד לפקודת ה digitalWrite HIGH:
פקודת ה analogWrite 150 תתן לנו רוב הזמן 5V אולם חלק מהזמן 0V:
נוכל לצמצם את הזמן של ה 5V על ידי הפקודה analogWrite 50 (או כל מספר אחר באזור..):
או להרחיב את הזמן של ה 5V על ידי הפקודה analogWrite 200 (או כל מספר אחר באזור..):
מקווה שזה היה מספיק ברור ובכל מקרה, מצרף סרטון שאולי ימחיש טוב יותר את הדברים:
אם אינכם מצליחים לצפות בסרטון - לחצו כאן >>>
אין תגובות:
הוסף רשומת תגובה
הערות? הארות? יש לך משהו חשוב לספר לכולם? שאלות?
נשמח לשמוע!
(התגובה תפורסם בהקדם בכפוף לאישור מערכת מייקינג)