פינים דיגיטליים
יכולים לעבוד כ־INPUT לקליטת מידע או כ־OUTPUT לשליחת מידע. במצב רגיל יש שתי רמות: HIGH או LOW.
פינים, LED, אות PWM וחיישן אור אנלוגי
יכולים לעבוד כ־INPUT לקליטת מידע או כ־OUTPUT לשליחת מידע. במצב רגיל יש שתי רמות: HIGH או LOW.
באמצעות analogRead() קוראים ערך משתנה מחיישן. ב־Arduino Uno מתקבל מספר בין 0 ל־1023.
הפקודה analogWrite() שולחת פולסים מהירים וכך מאפשרת לשלוט בעוצמת LED. הערך נע בין 0 ל־255.
analogWrite() לשינוי העוצמה.const int ledPin = 9;
void setup() {
pinMode(ledPin, OUTPUT);
}
void loop() {
analogWrite(ledPin, 50); // אור חלש
delay(1000);
analogWrite(ledPin, 255); // אור חזק
delay(1000);
}
הרכבנו על ה־Arduino את לוח ההרחבה Sensor Shield V4. הלוח מסדר ליד כל פין שלוש נקודות חיבור — אות, מתח ואדמה — וכך קל יותר לחבר חיישנים ורכיבים.
const int lightPin = A0;
const int ledPin = 9;
void setup() {
pinMode(ledPin, OUTPUT);
}
void loop() {
int lightValue = analogRead(lightPin);
int ledValue = map(lightValue, 0, 1023, 0, 255);
ledValue = constrain(ledValue, 0, 255);
analogWrite(ledPin, ledValue);
delay(10);
}
כתבו מחדש, בלי להעתיק, תוכנית שמדליקה LED לחצי שנייה ומכבה אותו לשנייה.
חברו שני LEDים. בכל רגע רק אחד מהם יהיה דולק. נסו לשנות את מהירות ההחלפה.
הפעילו LED בעוצמה חלשה, בינונית וחזקה — כל עוצמה למשך שנייה. השתמשו ב־analogWrite().
קראו את חיישן האור ב־A0 ושנו את עוצמת ה־LED בהתאם. בדקו מה קורה כשמכסים את החיישן ביד.
שנו את הקוד כך שככל שהחדר נעשה חשוך יותר, ה־LED יאיר חזק יותר. כשהחדר מואר, ה־LED צריך להיחלש או להיכבות. רמז: הפכו את כיוון ה־map().