ממשיכים להגיע אליכם עד הבית!
משלוח חינם

יציאה "אנלוגית" - PWM

מה זה PWM?

הפינים של הארדואינו מוצייאם מתח של 5V או 0 (גבוה או נמוך), אך לעיתים אנו רוצים להוציא מתח ביניים. למשל כשאנו רוצים לעבוד עם LED RGB ורוצים לייצר צבע המורכב ממספר צבעי יסוד.

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

PWM אלה ראשי תיבות של Pulse Width Modulation כלומר אפנון רוחב פולס. במצב זה המתח יהיה או 5 או 0 אבל משך השהייה על 5 ישתנה לפי המתח האפקטיבי שנרצה לקבל

ניתן לראות זאת בדיאגרמה הבאה:

 

 

הפינים שיכולים להוציא מתח PWM

בארדואינו נאנו, אלה פינים:

d3, d5, d6, d9, d10, d11

(כלומר 6 פינים סה"כ)

איך מוציאים מתח PWM

הערך של מתח זה יכול להשתנות בין 0 אל 255, כאשר 255 מקביל ל-5V קבוע

אם

int pwmVal=170;

ואז נעשה

analogWrite(9,pwmVal);

נקבל במוצא של פין 9 מתח השקול ל-

5*170/255=3.33v

מה בעצם זה עושה

הקוד של הפונקציה מקביל אל


long map(long x, long in_min, long in_max, long out_min, long out_max)
{
  return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
}

 

 

 


תגובות גולשים