חיישן LDR מתממש עם Arduino Nano

Hyysn Ldr Mtmms M Arduino Nano



לנגד תלוי אור יש יישום עצום בפרויקטים תלויי אור. בעזרת מיקרו-בקר כמו Arduino Nano, ניתן להשתמש ב-LDR לשליטה במכשירים שונים על בסיס רמת עוצמת האור. מדריך זה מכסה את היסודות של LDR והיישומים שלו עם Arduino Nano.

תוכן מאמר זה כולל:







1: מבוא לחיישן LDR



2: יישומים של LDR עם Arduino Nano



3: ממשק LDR עם Arduino Nano





סיכום

1: מבוא לחיישן LDR

א ל נכון ד תלוי ר אסיסטור (LDR) הוא סוג של נגד שמשנה את ההתנגדות שלו על סמך עוצמת האור שאליו הוא נחשף. בחושך ההתנגדות שלו גבוהה מאוד, בעוד שבאור בהיר ההתנגדות שלו נמוכה מאוד. שינוי זה בהתנגדות הופך אותו לטוב ביותר עבור פרויקטים של חישת אור.




LDR נותן פלט מתח אנלוגי אשר ייקרא על ידי Arduino ADC בפינים אנלוגיים. פין הקלט האנלוגי ב-Arduino משתמש ב-ADC כדי להמיר את המתח האנלוגי מה-LDR לערך דיגיטלי. ל-ADC יש טווח של 0 עד 1023, כאשר 0 מייצגים 0V ו-1023 מייצגים את מתח הכניסה המקסימלי (בדרך כלל 5V עבור הארדואינו).

Arduino יקרא את הערכים האנלוגיים באמצעות ה analogRead() פונקציה בקוד שלך. הפונקציה analogRead() לוקחת את מספר פין הקלט האנלוגי כארגומנט ומחזירה את הערך הדיגיטלי.


פוטונים או חלקיקי אור ממלאים תפקיד מכריע בפעולת LDRs. כאשר אור נופל על פני השטח של LDR, פוטונים נספגים בחומר, אשר לאחר מכן משחרר אלקטרונים בחומר. מספר האלקטרונים החופשיים עומד ביחס ישר לעוצמת האור, וככל שישוחררו יותר אלקטרונים, כך ההתנגדות של ה-LDR יורדת.

2: יישומים של LDR עם Arduino Nano

להלן רשימה של כמה יישומים נפוצים של LDR עם Arduino:

    • בקרת תאורה אוטומטית
    • מתג מופעל אור
    • מחוון רמת האור
    • מצב לילה במכשירים
    • מערכות אבטחה מבוססות אור

3: ממשק LDR עם Arduino Nano

כדי להשתמש ב-LDR עם Arduino Nano, צריך ליצור מעגל פשוט. המעגל מורכב מה-LDR, נגד וה-Arduino Nano. ה-LDR והנגד מחוברים בסדרה, כאשר ה-LDR מחובר לפין הקלט האנלוגי של ה-Arduino Nano. למעגל תתווסף נורית שיכולה לבדוק את עבודת ה-LDR.

3.1: סכמטי

התמונה הבאה היא הסכימה של Arduino Nano עם חיישן LDR.

3.2: קוד

לאחר הגדרת המעגל, השלב הבא הוא כתיבת הקוד עבור Arduino Nano. הקוד יקרא את הקלט האנלוגי מה-LDR וישתמש בו כדי לשלוט על LED או מכשיר אחר על סמך רמות אור שונות.

int LDR_Val = 0 ; /* משתנה לאחסון ערך photoresistor */
חיישן int =A0; /* סיכה אנלוגית ל photoresistor */
int לד = 12 ; /* פין פלט LED */
הגדרה בטלה ( ) {
Serial.begin ( 9600 ) ; /* קצב שידור ל תקשורת טורית */
    pinMode ( led, פלט ) ; /* פין LED מַעֲרֶכֶת כפי ש תְפוּקָה */
}
לולאה ריקה ( ) {
LDR_Val = analogRead ( חיישן ) ; /* אנלוגי לקרוא ערך LDR */
Serial.print ( 'ערך פלט LDR: ' ) ;
Serial.println ( LDR_Val ) ; /* הצג ערך פלט LDR על צג טורי */
אם ( LDR_Val > 100 ) { /* אם עוצמת האור גבוהה */
Serial.println ( ' עוצמה גבוהה ' ) ;
digitalWrite ( led, LOW ) ; /* LED נשאר כבוי */
}
אַחֵר {
/* אַחֵר אם עוצמת האור היא נמוכה LED תישאר דולקת */
Serial.println ( 'עצימות נמוכה' ) ;
digitalWrite ( led, גבוה ) ; /* LED Turn ON ערך LDR הוא פָּחוֹת מאשר 100 */
}
לְעַכֵּב ( 1000 ) ; /* קורא ערך אחרי כל 1 שניות */
}


בקוד לעיל אנו משתמשים ב-LDR עם Arduino Nano שישלוט ב-LED באמצעות הקלט האנלוגי המגיע מ-LDR.

שלוש שורות הקוד הראשונות מכריזות על משתנים לאחסון ערך photoresistor , ה סיכה אנלוגית עבור הנגד הפוטו, וה- לד סיכת פלט.

בתוך ה להכין() פונקציה, התקשורת הטורית מופעלת עם קצב העברת העברת נתונים של 9600 ופין LED D12 מוגדר כפלט.

בתוך ה לוּלָאָה() פונקציה, ערך photoresistor נקרא באמצעות הפונקציה analogRead() אשר מאוחסנת ב- LDR_Val מִשְׁתַנֶה. ערך הנגד הפוטו מוצג לאחר מכן על הצג הטורי באמצעות הפונקציה Serial.println()‎.

א אחרת הצהרה משמשת לשליטה ב-LED בהתבסס על עוצמת האור שזוהתה על ידי הפוטו-נגד. אם ערך הנגד הפוטו גדול מ-100, זה אומר שעוצמת האור גבוהה, וה-LED נשאר כבוי. עם זאת, אם ערך הנגד הפוטו קטן או שווה ל-100, זה אומר שעוצמת האור נמוכה, והנורית נדלקת.

לבסוף, התוכנית ממתינה שנייה אחת באמצעות הפונקציה delay() לפני שקוראת שוב את הערך של photoresistor. מחזור זה חוזר על עצמו ללא הגבלת זמן, מה שגורם ל-LED להידלק ולכבות בהתבסס על עוצמת האור שזוהתה על ידי הפוטו-נגד.

3.3: פלט תחת אור עמום

עוצמת האור היא פחות מ-100 כך שה-LED יישאר דולק.

3.4: פלט תחת אור בהיר

ככל שעוצמת האור תגדל, ערך ה-LDR יגדל והתנגדות ה-LDR תפחת כך שה-LED יכבה.

סיכום

ניתן לממשק את ה-LDR עם Arduino Nano באמצעות סיכה אנלוגית. פלט LDR יכול לשלוט על חישת האור ביישומים שונים. בין אם הוא משמש לבקרת תאורה אוטומטית, מערכות אבטחה מבוססות אור, או סתם מחוון רמת אור, ניתן לממשק את ה-LDR וה-Arduino Nano ליצירת פרויקטים המגיבים לשינויים בעוצמת האור.