המרה לאחוזים
חלק מהיחידה קלטים במסלול ה-Arduino של Coddy. שיעור 10 מתוך 22.
קריאות בטווח שבין 0 ל־1023 אינן אומרות הרבה לאדם. אחוזים בין 0 ל־100 קלים יותר להבנה. map() ממירה מספר מטווח אחד לטווח אחר:
int percent = map(reading, 0, 1023, 0, 100);היא מקבלת חמישה מספרים: הערך, הקצוות התחתון והעליון של הטווח שלו, והקצוות התחתון והעליון של הטווח החדש. 0 הופך ל־0, 1023 הופך ל־100, וערך שנמצא ברבע הדרך לאורך הטווח יגיע לרבע הדרך לאורך הטווח החדש: 256 הופך ל־25.
map() עובדת עם מספרים שלמים ומשמיטה כל חלק שברי, וזה מתאים לאחוזים.
אתגר
קלהכפתור מחובר ל-A0. הדפס את מידת הסיבוב שלו באחוזים:
- קרא את A0
- המר את הקריאה לטווח שבין 0 ל-100 באמצעות
map() - הדפס את האחוז, ואז המתן 100 ms
לחץ על Run, סובב את הכפתור, ואז לחץ על Check.
נסו בעצמכם
void setup() {
Serial.begin(9600);
}
void loop() {
int reading = analogRead(A0);
// המר את הקריאה לאחוזים באמצעות map(), הדפס אותה, המתן 100 ms
}
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה קלטים
תרגלו בעצמכם: Arduino אונליין