Menu
CoddyTech

ספירת לחיצות על הכפתור

חלק מהיחידה קלטים במסלול ה-Arduino של Coddy. שיעור 5 מתוך 22.

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

int presses = 0;

void loop() {
  int reading = digitalRead(2);
  if (reading == LOW && lastReading == HIGH) {
    presses++;
    Serial.println(presses);
  }
  lastReading = reading;
}

presses נמצא מעל setup(), כמו lastReading, ולכן הערך שלו נשמר בין הרצות של loop().

ההדפסה נמצאת בתוך if, ולכן מספר מופיע רק כשהספירה משתנה: 1, 2, 3. מחוץ ל-if אותה ספירה הייתה מודפסת אלפי פעמים בשנייה.

challenge icon

אתגר

קל

הכפתור מחובר לפין 2 (INPUT_PULLUP). ספרו את הלחיצות עליו:

  • שמרו את הספירה ב-presses, שמוגדר מעל setup()
  • כשהכפתור נלחץ, הוסיפו אחד והדפיסו את הספירה

לחצו על Run, לחצו על הכפתור כמה פעמים וצפו בצג Serial, ואז לחצו על Check.

נסו בעצמכם

const int buttonPin = 2;

int lastReading = HIGH;

void setup() {
  pinMode(buttonPin, INPUT_PULLUP);
  Serial.begin(9600);
}

void loop() {
  int reading = digitalRead(buttonPin);
  // כשהכפתור נלחץ, ספור את הלחיצה והדפס את מספר הלחיצות
  lastReading = reading;
}
quiz iconבחנו את עצמכם

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

כל השיעורים ביחידה קלטים

תרגלו בעצמכם: Arduino אונליין