הכרזה/הגדרת משתנים
לפני שמשתמשים בהם, כל המשתנים חייבים להיות מוכרזים/מוגדרים. הכרזה על משתנה פירושה הגדרה של הסוג שלו, ואופציונלי גם השמה של ערך ההתחלתי (אתחול משתנה). לא חייבים לאתחל את המשתנים בהכרזה שלהם, אבל לרוב זה די שימושי.- קוד: בחר הכל
int inputVariable1;
int inputVariable2 = 0; // both are correct
מתכנתים צריכים לחשוב על גודל המספרים שהם רוצים לשמור במשתנה ולהחליט על הסוג שלו בהתאם. המשתנים "יגלשו" אם שומרים בהם ערכים גדולים יותר מהמקום שמוקצה להם. ראו דוגמאות בהמשך.
מרחב הגדרת משתנים
החלטה נוספת וחשובה שהמתכנתים צריכים לחשוב עליה היא איפה להגדיר את המשתנים. המקומות המסוימים בהם המשתנים מוגדרים משפיעים על איך חלקים שונים של התוכנית "יראו" את המשתנה. קוראים לזה מרחב הגדרת משתנים.אתחול משתנים
משתנים יכולים להיות מאותחלים בערכים התחלתיים כשהם מוכרזים, אבל זו לא חובה. מומלץ מאוד לבדוק היטב האם המשתנה מכיל ערך חוקי לפני שמשתמשים בו לצרכים כלשהם.דוגמה של אתחול המשתנה:
- קוד: בחר הכל
int calibrationVal = 17; // declare calibrationVal and set initial value
גלישת משתנים
כשגורמים למשתנה לחרוג מהערך המקסימלי שהוא יכול לשמור, הוא "גולש" לערך המינימלי שלו. שימו לה שהתופעה פועלת לשני הכיוונים.- קוד: בחר הכל
int x;
x = -32,768;
x = x - 1; // x now contains 32,767 - rolls over in neg. direction
x = 32,767;
x = x + 1; // x now contains -32,768 - rolls over
שימוש במשתנים
אחרי שהמשתנה מוכרז ומוגדר, משתמשים בו לשמירת הערכים בעזרת אופרטור השמה (סימן שווה אחד). אופרטור השמה אומר לתוכנית לשים את מה שנמצא בצד הימני של סימן השווה (=) למשתנה שרשום מצד שמאל.- קוד: בחר הכל
inputVariable1 = 7; // sets the variable named inputVariable1 to 7
inputVariable2 = analogRead(2); // sets the variable named inputVariable2 to the
// (digitized) input voltage read from analog pin #2
דוגמאות
- קוד: בחר הכל
int lightSensVal;
char currentLetter;
unsigned long speedOfLight = 186000UL;
char errorMessage = {"choose another option"}; // see string
אחרי ששמרתם משהו (ביצעתם השמה) במשתנה, תוכלו לבדוק האם הערך שלו עונה על הגדרות מסוימות או שתוכלו להשתמש בערך שלו ישירות. לדוגמה, הקוד הבא בודק האם ערך של המשתנה
inputVariable2
קטן מ-100 ואז מתחיל השעיה (delay) לפי ערך של המשתנה inputVariable2
, כאשר ההשעיה המינימלית תהיה 100 מילי-שניות:- קוד: בחר הכל
if(inputVariable2 < 100)
{
inputVariable2 = 100;
}
delay(inputVariable2);
דוגמה זו מראה כל שלושת הפעולות השימושיות עם משתנים. היא בודקת את ערך המשתנה:
- קוד: בחר הכל
if (inputVariable2 < 100)
היא משנה את ערך המשתנה אם הבדיקה עוברת בהצלחה:
- קוד: בחר הכל
inputVariable2 = 100
והיא עושה שימוש בערך של המשתנה שמועבר כפרמטר לפונקציית
()delay
.- קוד: בחר הכל
delay(inputVariable2)
הערה על סגנון הכתיבה:
אתם צריכים לתת למשתנים שמות משמעותיים כדי שהתוכנית שלכם תהיה קריאה יותר. שמות כמו
tiltSensor
או pushButton
יעזרו לך (או למישהו אחר שקורא את התוכנית) להבין מה המשתנים האלה מייצגים. לעומת זאת, שמות כמו var
או value
לא תורמים הרבה להבנה של הקוד.אתם יכולים לתת למשתנה כל שם/מילה שלא תפוסה עדיין בשפת התכנות של Arduino.
הימנעו מלהתחיל את שם המשתמש בספרה.
ראו גם:
charbyte
int
unsigned int
long
unsigned long
float
double
מרחב הגדרת משתנים
פירוט שפת תכנות לסביבת Arduino
עמוד זה הוא תרגום של Variables לפי רישיון Creative Commons Attribution-ShareAlike 3.0.