חיישני אור וחיישנים אופטיים
האור הוא מידע שימושי מאוד למערכת בקרה: פנס הרחוב נדלק מעצמו בשקיעה, הרובוט עוקב אחרי קו שחור על הרצפה, והמכונה סופרת את הפריטים שקוטעים קרן אור. בפרק הזה נכיר את הנגד התלוי-אור, נחבר אותו לבקר בעזרת מחלק מתח, ונבנה ממנו מנורת לילה אוטומטית עם שני ספים. בסוף נכיר בקצרה חיישנים אופטיים נוספים ונשווה ביניהם.
- שהתנגדות הנגד התלוי-אור קטנה כשהאור מתחזק, בקשר לא לינארי, ושהוא איטי.
- לחבר נגד תלוי-אור במחלק מתח, ולחשב את המתח ואת הערך הגולמי באור ובחושך.
- שהיסטרזיס עם שני ספים מונע ריצוד של המפעיל סביב הסף.
- שהפוטודיודה, הפוטוטרנזיסטור, החיישן האופטי המחזיר וחיישן החריץ מהירים מהנגד התלוי-אור, ושלכל אחד מהם שימוש אופייני.
נגד תלוי-אור (LDR) (Light Dependent Resistor)
את עוצמת האור הפוגע במשטח נמדוד ביחידות לוקס [lx]; הגודל הזה נקרא עוצמת הארה. הטבלה נותנת ערכים אופייניים של נגד תלוי-אור נפוץ מדגם GL5528. עוצמת ההארה בעמודה השנייה משוערת, להמחשה בלבד.
| E [lx] | דוגמה (משוערת) | RLDR |
|---|---|---|
| 0 | חושך מוחלט (אחרי 10 s) | ≥ 1 MΩ |
| 1 | לילה, חדר כמעט חשוך | 59.72 kΩ |
| 10 | דמדומים, תאורת רחוב חלשה | 15 kΩ |
| 100 | חדר מואר בתאורה חלשה | 3.77 kΩ |
| 1000 | ליד החלון ביום | 0.95 kΩ |
העקומה מראה שהקשר אינו לינארי: באור חלש ההתנגדות יורדת מהר, ובאור חזק היא כמעט אינה משתנה. כל הגדלה של האור פי עשרה מחלקת את ההתנגדות בערך ב-4 בלבד. לכן הנגד התלוי-אור טוב לשאלה "אור או חושך?" ולסף שנקבע בניסוי, אבל הוא אינו מכשיר מדויק למדידת עוצמת הארה.
זמן תגובה: הנגד התלוי-אור איטי. ב-GL5528 זמן העלייה כ-20 ms וזמן הירידה כ-30 ms (ערך אופייני לפי גיליון הנתונים), ואחרי חושך ממושך הוא זקוק לזמן ארוך יותר. זה מספיק למנורת לילה, אבל לא מספיק לספירת פולסים מהירים.
נגד תלוי-אור במחלק מתח (LDR in a Voltage Divider)
הבקר קורא מתח, לא התנגדות. לכן נחבר את הנגד התלוי-אור בטור עם נגד קבוע RF, וניקח את המתח מנקודת האמצע אל המבוא התקבילי A0. כשהנגד התלוי-אור למעלה, Vout עולה עם האור.
| סימן | משמעות | יחידת מידה |
|---|---|---|
| Vout | המתח במבוא התקבילי | [V] |
| VCC | מתח ההזנה (5 V ב-Uno) | [V] |
| RF | הנגד הקבוע (אל האדמה) | [Ω] |
| RLDR | התנגדות הנגד התלוי-אור (אל ההזנה) | [Ω] |
בדרך כלל נבחר RF = 10 kΩ, ערך קרוב להתנגדות של GL5528 באור חלש של חדר, וכך המתח משתנה בתחום רחב בין חושך לאור. הטבלה מראה את השרשרת כולה עם RF = 10 kΩ: האור מתחזק ← ההתנגדות קטנה ← המתח עולה ← הערך הגולמי גדל:
| E | 1 lx | 10 lx | 100 lx | 1000 lx |
|---|---|---|---|---|
| RLDR | 59.72 kΩ | 15 kΩ | 3.77 kΩ | 0.95 kΩ |
| Vout | 0.72 V | 2 V | 3.63 V | 4.57 V |
| N | 147 | 409 | 743 | 935 |
א. מהו Vout ב-100 lx?
ב. האם המתח עולה עכשיו עם האור או יורד?
מנורת לילה אוטומטית עם היסטרזיס (Automatic Night Lamp with Hysteresis)
הרעיון הפשוט: "אם N קטן מהסף, הדלק את המנורה; אחרת כבה אותה". אבל בשקיעה האור משתנה לאט, וענן או צל חולף מזיזים את הקריאה מעט סביב הסף, והמנורה נדלקת ונכבית פעמים רבות. הפתרון הוא היסטרזיס.
נבחר שהמנורה תידלק מתחת ל-10 lx ותיכבה מעל 20 lx. נחשב את הערך הגולמי של כל סף ממחלק המתח:
המנורה כאן היא נורית חיווי LED. המתח הקדמי שלה כ-2 V (ערך אופייני לפי גיליון הנתונים עבור LED אדום), ולכן הזרם I = 5 − 2330 ≈ 9.1 mA, פחות מ-20 mA המותרים להדק של Uno.
const int LDR_PIN = A0; // LDR to 5V, 10k to GND
const int LAMP_PIN = 8; // LED + 330 ohm to GND
const int N_ON = 409; // darker than this -> lamp ON (~10 lx)
const int N_OFF = 514; // brighter than this -> lamp OFF (~20 lx)
bool lampOn = false;
void setup() {
Serial.begin(9600);
pinMode(LAMP_PIN, OUTPUT);
}
void loop() {
int n = analogRead(LDR_PIN);
float v = n * 5.0 / 1023.0;
if (!lampOn && n < N_ON) lampOn = true;
if (lampOn && n > N_OFF) lampOn = false;
digitalWrite(LAMP_PIN, lampOn ? HIGH : LOW);
Serial.print("N = "); Serial.print(n);
Serial.print(" V = "); Serial.print(v, 2);
Serial.print(" lamp = "); Serial.println(lampOn ? "ON" : "OFF");
delay(1000);
}נריץ את הסקיצה בדמדומי הערב ואחר כך עם שחר. עוצמת ההארה בכל שנייה (ביחידות lx) היא: 60, 25, 14, 11, 9, 12, 13, 8, 12, 17, 23, 40. הצג הטורי מציג:
N = 677 V = 3.31 lamp = OFF N = 548 V = 2.68 lamp = OFF N = 460 V = 2.25 lamp = OFF N = 423 V = 2.07 lamp = OFF N = 394 V = 1.93 lamp = ON N = 436 V = 2.13 lamp = ON N = 448 V = 2.19 lamp = ON N = 377 V = 1.84 lamp = ON N = 436 V = 2.13 lamp = ON N = 489 V = 2.39 lamp = ON N = 536 V = 2.62 lamp = OFF N = 619 V = 3.03 lamp = OFF
השוואה: אילו השתמשנו בסף אחד NON = 409, מספר השינויים במצב המנורה ברצף הזה היה 4. עם שני ספים היא נדלקת פעם אחת כש-N יורד מתחת ל-409, ונכבית רק אחרי שהוא עולה מעל 514; כך מספר השינויים הוא 2 בלבד.
חיישנים אופטיים נוספים (Other Optical Sensors)
הנגד התלוי-אור איטי. כשדרושה תגובה מהירה — ספירת פריטים על מסוע, מעקב אחרי קו, ספירת סיבובים של מנוע — משתמשים בחיישנים המבוססים על פוטודיודה או על פוטוטרנזיסטור. רבים מהם עובדים בקרינה אינפרא-אדומה, שאינה נראית לעין, עם משדר ומקלט באותו מארז.
| החיישן | מה הוא מודד או מגלה? | תחום אופייני | סוג המוצא | שימוש אופייני |
|---|---|---|---|---|
| נגד תלוי-אור (להשוואה) | עוצמת אור, לאט (עשרות ms) | מחושך ועד אור יום | התנגדות ← תקבילי במחלק מתח | מנורת לילה, תאורת רחוב |
| פוטודיודה | עוצמת אור, מהר מאוד | מאור חלש ועד אור שמש | זרם קטן ← תקבילי בעזרת נגד | מד אור, מקלט של שלט רחוק |
| פוטוטרנזיסטור | נוכחות אור ועוצמתו, מהר (מיקרו-שניות) | מאור חלש ועד אור שמש | תקבילי, או ספרתי ברוויה | בתוך חיישן מחזיר ובתוך חיישן חריץ |
| חיישן אופטי מחזיר (TCRT5000) | משטח בהיר או שחור קרוב | כ-0.2 עד 15 mm | תקבילי, או ספרתי במודול מוכן | רובוט עוקב קו, גילוי גוף קרוב |
| חיישן חריץ | גוף שקוטע את הקרן בתוך החריץ | גוף בתוך חריץ ברוחב מילימטרים אחדים | ספרתי: פולס לכל קטיעה | ספירת פריטים, ספירת סיבובים של דיסקה מחורצת |
המספרים אופייניים לפי גיליונות הנתונים. בחיישן אופטי מחזיר יש משדר ופוטוטרנזיסטור זה לצד זה: האור מוחזר מן המשטח הבהיר וחוזר, והמשטח השחור בולע אותו. בחיישן חריץ יש משדר ופוטוטרנזיסטור זה מול זה משני צדי חריץ: גוף שנכנס לחריץ קוטע את הקרן. המודולים המוכנים של שני החיישנים האלה נותנים בדרך כלל מוצא ספרתי DO, שקוראים בפונקציה digitalRead().
(א) רובוט שעוקב אחרי קו שחור על רצפה לבנה.
(ב) ספירת בקבוקים שעוברים על מסוע בין משדר למקלט.
(ג) הדלקת תאורת הגינה בשקיעה.
סיכום נוסחאות הפרק:
| החוק | הנוסחה |
|---|---|
| מחלק מתח עם נגד תלוי-אור | Vout = VCC·RFRF + RLDR |
| הערך הגולמי ב-Uno | N = Vout·10235 |
מילון מונחים:
| עברית | English | العربية |
|---|---|---|
| נגד תלוי-אור (LDR) | Light dependent resistor | المقاومة الضوئية (الخلية الضوئية) |
| עוצמת הארה | Illuminance (lux) | شدّة الإضاءة |
| חיישן סביל | Passive sensor | حسّاس سلبي |
| זמן תגובה | Response time | زمن الاستجابة |
| מחלק מתח | Voltage divider | مُجزِّء الجهد |
| היסטרזיס | Hysteresis | التخلّف (الهستيريسيس) |
| סף | Threshold | العتبة |
| פוטודיודה | Photodiode | الديود الضوئي |
| פוטוטרנזיסטור | Phototransistor | الترانزستور الضوئي |
| אינפרא-אדום | Infrared (IR) | الأشعة تحت الحمراء |
| חיישן אופטי מחזיר | Reflective optical sensor | حسّاس الانعكاس |
| חיישן חריץ (מזלג) | Slot opto-interrupter | الحسّاس الضوئي ذو الشقّ (القاطع الضوئي) |
שאלות לתרגול:
א. חשבו את Vout.
ב. האם האור חזק או חלש מ-10 lx? (ב-10 lx הערך הוא N = 409.)