תוכן עניינים:

חיישן אור (פוטוריסטור) עם ארדואינו בטנקרד: 5 שלבים (עם תמונות)
חיישן אור (פוטוריסטור) עם ארדואינו בטנקרד: 5 שלבים (עם תמונות)

וִידֵאוֹ: חיישן אור (פוטוריסטור) עם ארדואינו בטנקרד: 5 שלבים (עם תמונות)

וִידֵאוֹ: חיישן אור (פוטוריסטור) עם ארדואינו בטנקרד: 5 שלבים (עם תמונות)
וִידֵאוֹ: חיישן אור בקצרה 2024, נוֹבֶמבֶּר
Anonim
חיישן אור (פוטוזיסטור) עם Arduino ב- Tinkercad
חיישן אור (פוטוזיסטור) עם Arduino ב- Tinkercad

פרויקטים של טינקרד »

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

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

תמונה
תמונה

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

בשיעור זה, תוכל לבנות את המעגל המדומה הזה בעצמך לצד המדגם. כדי לבנות אופציונלי את המעגל הפיזי, אסוף את לוח ה- Arduino Uno שלך, כבל USB, לוח לחם ללא הלחמה, LED, נגדים (220 אוהם ו -4.7 אלף אוהם), פוטורסיסטור וחוטי לוח.

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

שלב 1: בנה את המעגל

בנה את המעגל
בנה את המעגל
בנה את המעגל
בנה את המעגל

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

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

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

גרור Uno ולוח לוח Arduino מלוח הרכיבים למטוס העבודה, ליד המעגל הקיים.

חבר את מסילות החשמל (+) ואת מסילות הקרקע (-) ל- Arduino 5V ולקרקע (GND), בהתאמה, על ידי לחיצה על מנת ליצור חוטים.

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

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

חבר את רגל הנגד האחרת לקרקע.

חברו את אנודת ה- LED (רגל חיובית וארוכה יותר) לסיכת Arduino 9.

גרור פוטורסיסטור מלוח הרכיבים ללוח הלחם שלך, כך שרגליו יתחברו לשתי שורות שונות.

לחץ כדי ליצור חוט המחבר רגל פוטורסיסטור אחת לשלטון.

חבר את הרגל השנייה לסיכה אנלוגית Arduino A0.

גרור נגד לוח מלוח הרכיבים כדי לחבר את רגל הפוטורזיסטור המחוברת ל- A0 עם הקרקע, והתאם את ערכו ל- 4.7k אוהם.

שלב 2: קוד עם בלוקים

קוד עם בלוקים
קוד עם בלוקים

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

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

לחץ על קטגוריית המשתנים בעורך הקוד.

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

גרור בלוק "סט" החוצה. נשמור את מצב הפוטורסיסטור שלנו במשתנה

חיישן ערך

לחץ על קטגוריית הקלט וגרור בלוק "סיכת קריאה אנלוגית" והנח אותו בלוק ה"סט "אחרי המילה" ל-"

מכיוון שהפוטנציומטר שלנו מחובר ל- Arduino על סיכה A0, שנה את התפריט הנפתח ל- A0.

לחץ על קטגוריית הפלט וגרור בלוק "הדפס לצג טורי".

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

מכיוון שאנו רוצים לכתוב לנורית עם מספר בין 0 (כבוי) ל -255 (בהירות מלאה), נשתמש בבלוק "המפה" בכדי לבצע ריבוי צולב עבורנו. נווט לקטגוריית המתמטיקה וגרור בלוק "מפה".

בחריץ הראשון, גרור בלוק משתנה sensorValue ולאחר מכן הגדר את הטווח בין 0 ל -255.

בחזרה לקטגוריית הפלט, גרור בלוק "סיכת סט" אנלוגית, אשר כברירת מחדל אומרת "הגדר סיכה 3 ל- 0." כוונן אותו לקביעת סיכה 9.

גרור את בלוק המפה שביצעת קודם לכן לתוך השדה "אל" של בלוק "סיכת ההגדרה" כדי לכתוב את המספר המותאם לסיכת ה- LED באמצעות PWM.

לחץ על קטגוריית הבקרה וגרור בלוק המתנה והתאם אותו לעיכוב התוכנית למשך.1 שניות.

שלב 3: קוד Arduino פוטורססיסטור מוסבר

כאשר עורך הקוד פתוח, תוכל ללחוץ על התפריט הנפתח בצד שמאל ולבחור "בלוקים + טקסט" כדי לחשוף את קוד הארדואינו שנוצר על ידי בלוקי הקוד. עקוב אחרינו כשאנחנו חוקרים את הקוד בפירוט רב יותר.

int sensorValue = 0;

לפני ה

להכין()

אנו יוצרים משתנה לאחסון הערך הנוכחי הנקרא מהפוטנציומטר. זה נקרא

int

כי זה מספר שלם, או כל מספר שלם.

הגדרת חלל ()

{pinMode (A0, INPUT); pinMode (9, OUTPUT); Serial.begin (9600); }

בתוך ההתקנה, סיכות מוגדרות באמצעות

pinMode ()

פוּנקצִיָה. סיכה A0 מוגדרת ככניסה, כך שנוכל "להקשיב" למצב החשמלי של הפוטנציומטר. סיכה 9 מוגדרת כפלט לשליטה ב- LED. כדי להיות מסוגל לשלוח הודעות, ה- Arduino פותח ערוץ תקשורת סדרתי חדש עם

Serial.begin ()

שלוקח טיעון קצב שידור (איזו מהירות לתקשר), במקרה זה 9600 סיביות לשנייה.

לולאת חלל ()

{// קרא את הערך מהחיישן sensorValue = analogRead (A0); // הדפס את קריאת החיישן כדי שתדע את הטווח שלה Serial.println (sensorValue);

הכל אחרי סדרת חתכים

//

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

analogRead ();

בודק את מצב סיכה A0 (שיהיה מספר שלם מ- 0-1023), ומאחסן ערך זה במשתנה

חיישן ערך

// למפות את קריאת החיישן לטווח של הנורית

analogWrite (9, מפה (sensorValue, 0, 1023, 0, 255)); עיכוב (100); // המתן ל- 100 אלפיות השנייה}

השורה בעקבות ההערה הבאה עושה הרבה בבת אחת. זכור

analogWrite ()

לוקח שני ארגומנטים, מספר הסיכה (9 במקרה שלנו) והערך לכתיבה, שאמור להיות בין 0 ל -255. הפונקציה מוטבעת

מַפָּה()

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

מַפָּה()

הפונקציה במקרה שלנו היא הערכת החיישן הנכנס, ועושה ריבוי צולב כדי להקטין את הפלט מ- 0-1023 ל- 0-255. התוצאה מוחזרת לטענה השנייה של

analogWrite ();

הגדרת בהירות הנורית המחוברת לסיכה 9.

שלב 4: בנה מעגל ארדואינו פיזי (אופציונלי)

בנה מעגל ארדואינו פיזי (אופציונלי)
בנה מעגל ארדואינו פיזי (אופציונלי)

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

חבר את מעגל Arduino Uno על ידי חיבור רכיבים וחוטים כך שיתאימו לחיבורים המוצגים כאן במעגלי Tinkercad. להדרכה מעמיקה יותר על העבודה עם הלוח הפיזי של Arduino Uno, עיין בשיעור Arduino בחינם של Instructables.

העתק את הקוד מחלון הקוד של מעגלי טינקרד והדבק אותו בסקיצה ריקה בתוכנת ה- Arduino שלך, או לחץ על כפתור ההורדה (חץ כלפי מטה) ופתח

את הקובץ שהתקבל באמצעות Arduino. תוכל למצוא דוגמה זו גם בתוכנת Arduino על ידי ניווט לקובץ -> דוגמאות -> 03. אנאלוג -> AnalogInOutSerial.

חבר את כבל ה- USB שלך ובחר את הלוח והיציאה בתפריט הכלים של התוכנה.

העלה את הקוד והשתמש ביד שלך כדי לכסות את החיישן מקבלת אור, ו/או להדליק אור על החיישן שלך!

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

שלב 5: לאחר מכן נסה…

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

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

נסה להחליף את הפוטורזיסטור שלך לכניסות אנלוגיות אחרות כגון חיישן מרחק קולי או פוטנציומטר.

למד עוד על אופן הניטור של הכניסות הדיגיטליות והאנלוגיות של Arduino באמצעות המחשב באמצעות הצג הסידורי.

מוּמלָץ: