מד אור עם סרוו
חלק מהיחידה פלטים במסלול ה-Arduino של Coddy. שיעור 24 מתוך 24.
עם מחט על הזרוע שלו, סרוו הופך למד, כמו מד המהירות במכונית. כאן הוא מראה עד כמה בהיר.
כמו בתאורת הלילה, ה-AO של המודול קורא ערך נמוך יותר ככל שהתאורה בהירה יותר: בערך 1023 בחושך וקרוב ל-0 באור מלא. מד צריך להצביע גבוה יותר ככל שיותר בהיר, ולכן ההמרה פועלת בכיוון ההפוך. כמו במד האור, נותנים ל-map() את הטווח החדש בסדר הפוך:
int angle = map(reading, 0, 1023, 180, 0);קריאה של 0, אור מלא, הופכת ל-180 מעלות, ו-1023, חושך, הופכת ל-0. כל הערכים שביניהם נמצאים בין לבין, בכיוון ההפוך.
אתגר
בינוניה־AO של חיישן האור מחובר ל־A0, והסרוו מחובר לפין 9. הפוך את הזרוע למד אור:
- בחושך הזרוע מצביעה על 0 מעלות, ובאור מלא על 180
- השתמש ב־
map()עם הטווח החדש בכיוון ההפוך - הדפס את הזווית והמתן 50 ms בכל פעם
לחץ על Run והזז את מחוון האור בחיישן, ואז לחץ על Check.
נסו בעצמכם
#include <Servo.h>
const int lightPin = A0;
Servo arm;
void setup() {
arm.attach(9);
Serial.begin(9600);
}
void loop() {
// קרא את עוצמת האור, מפה אותה בסדר הפוך לטווח 180..0, הזז את הזרוע, הדפס את הזווית
}
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה פלטים
תרגלו בעצמכם: Arduino אונליין