המרת אנלוגי לדיגיטלי (אנלוגי לקרוא סדרתי) - יסודות ארדואינו

נסה את הכלי שלנו לביטול בעיות





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

אנלוגי לקרוא סדרתי

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



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

כאן נראה כיצד האמור לעיל נאכף לאחר יצירת תקשורת טורית ברחבי הארדואינו והמחשב המקושר.



נדרשת חומרה

מועצת ארדואינו

פוטנציומטר 10 קילוגרם

מבצע מעגל

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

חוט מאחד המוליכים החיצוניים של הסיר מוקצה לקרקע או לקו השלילי של הלוח.

המוליך החופשי הקיצוני החופשי הנוסף מתחבר ל- + 5V של הלוח.

מה שנשאר הוא העופרת המרכזית של הסיר, שמסתיים לקלט האנלוגי של לוח הארדואינו.

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

לדוגמא כאשר זרוע המחוון מסובבת לעבר ההובלה + 5V, ההובלה המרכזית מתקרבת ל 5V ונוטה לרכוש את כל הערך כשהיא נוגעת בעופרת שהוקצה 5V. באופן דומה כאשר מוט המחוון מועבר לעבר העופרת האדמה, המוליכה המרכזית נוטה להשיג פוטנציאל אפס.

מתח האספקה ​​המשתנה באופן ליניארי לעיל מעל העופרת המרכזית של הסיר נקרא על ידי הקלט האנלוגי של הארדואינו כדי לפרש אותו להתנגדות משתנה בהתאם של הסיר.

הארדואינו מצרף מעגל ממיר אנלוגי לדיגיטלי פנימי המפרש למעשה את תנועת הסיר הנ'ל וממיר אותה למספרים שבין 0 ל -1023.

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

בתוכנית המופנית יש להפעיל את פונקציית ההתקנה אך ורק להפעלת תקשורת טורית, כאשר הקצב הוא 9600 סיביות נתונים בשנייה, על פני לוח Arduino והמחשב.

הפקודה הצפויה היא בצורה:

Serial.begin (9600)

לאחר מכן, בלולאה הראשית של הקוד שלך, אנו אוכפים משתנה על מנת לתקן את ערך ההתנגדות (אשר יהיה כפי שנדון בין 0 ל 1023, המתאים בדיוק לסוג נתונים int) המתקבל ממובילי הסיר:

int sensorValue = analogRead (A0)

לסיום, הדפס מידע זה לחלון הטורי שלך כערך עשרוני (DEC). אתה יכול להשתמש בפקודה Serial.println () ליישום זה בשורת הקוד האחרונה:

Serial.println (sensorValue, DEC)

לאחר מכן, בכל פעם שיזם Serial Monitor מתחיל בתחום הפיתוח של Arduino (זה נעשה על ידי לחיצה על הכפתור שנמצא מיד בצד ימין של כפתור 'העלאה' בכותרת התוכנית).

נראה שרשרת ספרות עקבית הנעה בין 0-1023, המתאימה למצב הסיבוב המשתנה של פיר הסיר.

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

הקוד

/ *
AnalogReadSerial
קורא קלט אנלוגי על סיכה 0, מדפיס את התוצאה לצג הטורי.
חבר את הסיכה המרכזית של פוטנציומטר לסיכה A0, והסיכות החיצוניות ל- + 5V ואדמה.

קוד לדוגמא זה נמצא ברשות הרבים.
* /

// שגרת ההתקנה פועלת פעם אחת כשלוחצים על reset:
הגדרת חלל () {
// אתחל תקשורת טורית ב 9600 ביט לשנייה:
Serial.begin (9600)
}

// שגרת הלולאה עוברת שוב ושוב לנצח:
לולאה בטלה () {
// קרא את הקלט על סיכה אנלוגית 0:
int sensorValue = analogRead (A0)
// הדפיס את הערך שקראת:
Serial.println (sensorValue)
עיכוב (1) // עיכוב בין קריאות ליציבות
}




קודם: מצב ניטור של מתג (סדרת קריאה דיגיטלית) - יסודות ארדואינו הבא: מעגל רגולטור מתח מתכוונן 1.25V עד 120V