"תהיה ניצוץ בהיר, נדלק עד שיהיה חשוך!" לפעמים אנו שוכחים לכבות את האורות ולבזבז חשמל ובטח ראיתם גם אור רחוב נדלק ביום. בנינו מעט מעגלים בגלאי כהה, בו האורות נכבים באופן אוטומטי אם הוא בוהק בחוץ ונדלק אם הוא חשוך בחוץ. אך הפעם, במעגל זה אנו לא רק מדליקים ונכבים אורות על בסיס תנאי האור אלא גם משתנים את עוצמת האור בהתאם לתנאי האור החיצוניים. כאן השתמשנו במושג LDR ו- PWM עם Arduino להפחתה או הגדלת הבהירות של נורית החשמל 1 וואט באופן אוטומטי.
בעיקרון, PWM מתייחס לאפנון רוחב הדופק, אות הפלט באמצעות סיכת PWM יהיה אות אנלוגי ונרכש כאות דיגיטלי מהארדואינו. הוא משתמש במחזור החובה של הגל הדיגיטלי כדי ליצור את הערך האנלוגי ברצף עבור האות. בנוסף, האות הזה משמש גם לשליטה על בהירות נורית החשמל.
חומר נדרש
- ארדואינו UNO
- LDR
- נגד (510, 100k אוהם)
- קבלים (0.1 uF)
- טרנזיסטור 2N2222
- נורית חשמל 1 וואט
- חוטי חיבור
- קרש לחם
תרשים מעגל
קוד והסבר
קוד Arduino השלם עבור דימר LED אוטומטי ניתן בסוף.
בקוד שלהלן אנו מגדירים את סיכת ה- PWM ואת המשתנים שישמשו בקוד.
int pwmPin = 2; // מקצה סיכה 12 למשתנה pwm int LDR = A0; // מקצה קלט אנלוגי A0 לפוט משתנה int c1 = 0; // מצהיר על משתנה c1 int c2 = 0; // מצהיר על משתנה c2
כעת, בלולאה, אנו קוראים תחילה את הערך באמצעות הפקודה "analogRead (LDR)" ואז שומרים את הקלט האנלוגי למשתנה בשם "value" . על ידי ביצוע חישוב מתמטי אנו מייצרים את אות ה- PWM. כאן אנו שולטים על עוצמת האור באמצעות PWM רק אם הערך האנלוגי נמוך מ -500, ואם הוא עולה על 500 אנו מכבים לחלוטין את האורות.
ערך int = analogRead (LDR); Serial.println (ערך); c1 = ערך; c2 = 500-c1; // מחסר c2 מ 1000 ans שומר את התוצאה ב- c1 אם (ערך <500) { digitalWrite (pwmPin, HIGH); עיכוב מיקרו-שניות (c2); digitalWrite (pwmPin, LOW); עיכוב מיקרו-שניות (c1); } אם (ערך> 500) { digitalWrite (2, LOW); } }
תוכל ללמוד עוד על PWM בארדואינו מכאן.
איך זה שולט בעוצמת האור באופן אוטומטי:
בהתאם לתרשים המעגל, יצרנו מעגל מחלק מתח באמצעות נגן LDR ו- 100k. יציאת מחיצת המתח מוזנת לסיכה האנלוגית של הארדואינו. הפין האנלוגי חש את המתח ונותן ערך אנלוגי כלשהו לארדואינו. הערך האנלוגי משתנה בהתאם להתנגדות LDR. לכן, אם הוא חשוך מעל ה- LDR, ההתנגדות שלו הולכת וגוברת ומכאן שער המתח (ערך אנלוגי) פוחת. לפיכך, הערך האנלוגי משתנה ביציאת ה- PWM או במחזור החובה, ומחזור החובה הוא פרופורציונאלי עוד יותר לעוצמת האור של נורית החשמל. כך שהאור מעל ה- LDR ישלוט אוטומטית בעוצמת נורית החשמל. להלן תרשים הזרימה כיצד זה יעבוד, סימן החץ הפוך מציין "גדל" וסימן החץ החיסוני מציין "פוחת".
עוצמת האור (ב- LDR) ↓ - התנגדות ↑ - מתח בסיכה אנלוגית ↓ - מחזור עבודה (PWM) ↑ - בהירות נורית החשמל ↑
אם החיצוני הבהיר שלו מלא (כאשר הערך האנלוגי עולה יותר מ -500) נורית החשמל נכבית.
כך תוכלו לשלוט בעוצמת האור באופן אוטומטי באמצעות LDR.
בדוק עוד את כל המעגלים הקשורים ל- LDR כאן.