ספירת לחיצות על הכפתור
חלק מהיחידה קלטים במסלול ה-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 אותה ספירה הייתה מודפסת אלפי פעמים בשנייה.
אתגר
קלהכפתור מחובר לפין 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;
}
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה קלטים
1כפתורים
הצגת מצב הכפתורנגד משיכה למטההמשיכה הפנימית למעלההחלפת מצב בכל לחיצהספירת לחיצות על הכפתורמניעת ריטוט של כפתורשני כפתורים בו־זמניתתרגלו בעצמכם: Arduino אונליין