יום שבת, 12 במאי 2012

מונה חד- ספרתי

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

החומרה:


מסך חד- ספרתי
כפתור קטן
נגד 10 קילואום

                                     
                                                                      תיאור החלקים

דרישות התוכנה:

בתחילת התוכנה המסך יראה 0. כאשר הכפתור ילחץ יתווסף 1 למשתנה שייצג את המספר המוצג.
כאשר המספר יעבור את 9 הוא יתאפס עוד לפני שנציג את התוצאה. לפני כל הצגת מספר המסך יתרוקן לגמרי.

פונקציות


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

מהי פונקציה?


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

מבנה הפונקציה

void שם הפונקציה() {
      רשימת תהליכים
}

זימון פונקציה

שם הפונקציה() ;

דוגמה לפונקציה מחיי היום יום

void קפיצה() {
  קיפול ברכים ;
  תפיסת תעוצה ;
  הרמה מהירה ;
  שהיה באוויר ;
}

 

שימוש בפונקציות בתכנית שלנו

בתכנית שלנו אנו נשתמש בהמון פונקציות. מאחר ונעשה שימוש בעשרה מספרים (0-9) נזדקק לעשרה פונקציות
של מספרים. בנוסף, נרצה להגדיר פונקציה שתאפס את המסך. והפונקציה החשובה והמשמעותית ביותר, הינה הפונקציה
המקבלת כפרמטר את המונה שלנו ומפעילה באופן מתאים את פונקציית המספר הרצויה. בסך הכל אנו זקוקים ליצור 12 פונקציות, אם לא נחשיב את loop או את setup המוכרחות להימצא בכל תוכנה.



                                                                  מס' היציאה בכל נורה במסך

פונקציה המאפסת את המספרים

void black() {
  digitalWrite(5, LOW);
  digitalWrite(7, LOW);
  digitalWrite(8, LOW);
  digitalWrite(9, LOW);
  digitalWrite(10, LOW);
  digitalWrite(12, LOW);
  digitalWrite(6, LOW);
}

 


פונקציה המפעילה את המספר 8

 void eight() {
  black() ;
  digitalWrite(5, HIGH);
  digitalWrite(7, HIGH);
  digitalWrite(8, HIGH);
  digitalWrite(9, HIGH);
  digitalWrite(10, HIGH);
  digitalWrite(12, HIGH);
  digitalWrite(6, HIGH);
}

 פונקצית ההפעלה

void do_it() {
  switch (x) {
  case 0:
  zireo() ;
  break;
  case 1:
  one() ;
  break;
  case 2:
  two() ;
  break;
  case 3:
  three() ;
  break;
  case 4:
  four() ;
  break;
  case 5:
  five() ;
  break;
  case 6:
  six() ;
  break;
  case 7:
  seven() ;
  break;
  case 8:
  eight();
  break;
  case 9:
  nine() ;
  break;
  }
}

הקוד המלא 

את הקוד המלא אפשר להוריד מכאן.

סרטון

 

סרטוט מלא
















פוסט ראשון

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

שיהיה לנו בהצלחה,

תומר