digitalWrite – הסבר ופרטים

- עמוד זה הוא חלק מהמדריך לפונקציות ארדואינו -

פונקציית ארדואינו digitalWrite(pin, val) קובעת את המתח החשמלי בפין שמוגדר כפין פלט, או מפעילה/משביתה את נגד ה-pull-up הפנימי בפין שמוגדר כפין קלט.

פרמטרים

pin הוא מספר/שם הפין הרלוונטי, כפי שהוא רשום על לוח הארדואינו. פרמטר זה הוא מטיפוס uint8_t. שמות פינים כגון A0 הינם למעשה קבועים שמוגדרים מראש בספריות הליבה של ארדואינו, כך שניתן להשתמש גם בהם.

val הוא המתח הרצוי, גם כן מטיפוס uint8_t, אך הפונקציה מכירה למעשה רק שני ערכים אפשריים: אפס (שמוגדר בקבוע LOW), או לא-אפס (שמוגדר כ-1 בקבוע HIGH).

  • כשהפין מוגדר כפין פלט, ערך LOW יגרום למתח בו להיות שווה בקירוב ל-GND, ואילו ערך HIGH יגרום לו להיות שווה בקירוב למתח הפעולה של לוח הארדואינו (שהוא בדרך כלל 5V – לא המתח של סוללה או של ספק כוח חיצוניים!)
  • כשהפין מוגדר כפין קלט, ערך LOW ישבית את נגד ה-Pull-up הפנימי, ואילו ערך HIGH יפעיל אותו.

ערך חוזר

אין

דוגמאות

digitalWrite(13, HIGH);
digitalWrite(A4, LOW);

הערות

  • ברוב המכריע של המקרים, משתמשים ב-digitalWrite עבור פינים שמוגדרים כפיני פלט, אף על פי שהשימוש עבור פיני קלט אפשרי.
  • אם נשלחים לפונקציה ערכי pin לא חוקיים, לא קורה דבר.
  • אם הפין הוגדר קודם לכן לפלט "אנלוגי" (באמצעות הפקודה analogWrite), השימוש ב-digitalWrite יגרום להפסקת הפלט הזה.
  • זמן התגובה של digitalWrite מספיק לרוב השימושים השגרתיים, אך כדי להשיג קצבי שינוי גבוהים מאד במתחי הפינים יש לכתוב ישירות לרגיסטרים של המיקרו-בקר.
  • בלוחות ארדואינו שיש להם פינים A6 ו-A7 (ולא מעבר לזה), שני הפינים האלה לא יכולים לשמש לקלט או פלט דיגיטליים.

קישורים רלוונטיים

בלוג אישי בנושאי מייקינג, תכנות, מיקרו-בקרים ואלקטרוניקה