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

מעקב אחר מקור אור אוטומטי: 5 שלבים
מעקב אחר מקור אור אוטומטי: 5 שלבים

וִידֵאוֹ: מעקב אחר מקור אור אוטומטי: 5 שלבים

וִידֵאוֹ: מעקב אחר מקור אור אוטומטי: 5 שלבים
וִידֵאוֹ: אל תיגע לבחורה באיפור בחייםםם !!!! don't do that !!! 2024, נוֹבֶמבֶּר
Anonim
מעקב אחר מקור אור אוטומטי
מעקב אחר מקור אור אוטומטי

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

שלב 1: רכיבים:

- לוח Arduino Uno * 1

- כבל USB * 1

- מנוע סרוו * 1

- פוטורסיסטור * 1

- התנגדות (10k) * 1

- לוח לחם * 1

- חוטי מגשר

שלב 2: עקרון

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

שלב 3: נהלים:

נהלים
נהלים
נהלים
נהלים
נהלים
נהלים

שלב 1:

בנה את המעגל.

שלב 2:

הורד את הקוד מ-

שלב 3:

העלה את הסקיצה ללוח ה- Arduino Uno

לחץ על סמל ההעלאה כדי להעלות את הקוד ללוח הבקרה.

אם "סיום ההעלאה" מופיע בתחתית החלון, פירוש הדבר שהסקיצה הועלתה בהצלחה.

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

שלב 4: תרשים סכמטי

תרשים סכמטי
תרשים סכמטי

שלב 5: קוד

קוד
קוד
קוד
קוד
קוד
קוד

/********************************************************************

* שם:

מעקב אוטומטי אחר מקור אור

* פונקציה

: אם אתה משתמש בפנס כדי להאיר את הפוטורזיסטור, * אתה תראה

מנוע הסרוו והפוטורזיסטור מסתובבים, * ולבסוף

לעצור בכיוון מקור האור.

***********************************************************************

/דוא ל: [email protected]

// אתר: www.primerobotics.in

#לִכלוֹל

const int photocellPin = A0;

/************************************************/

Servo myservo; // ליצור אובייקט סרוו לשליטה בסרוו

int outputValue = 0;

int angle = {0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180};

int maxVal = 0;

int maxPos = 0;

/*************************************************/

הגדרת חלל ()

{

Serial.begin (9600);

myservo.attach (9); // מצרף את הסרוו על סיכה 9 לאובייקט סרוו

}

/*************************************************/

לולאת חלל ()

{

עבור (int i = 0;

אני <19; אני ++)

{

myservo.write (זווית ); // כתוב את הזווית לסרוו

outputValue

= analogRead (photocellPin); // קרא את הערך של A0

Serial.println (outputValue); // הדפס אותו

if (outputValue> maxVal) // אם הערך הנוכחי של A0 גדול מהקודם

{

maxVal = outputValue; // רשום את הערך

maxPos

= i; //

}

עיכוב (200);

}

myservo.write (זווית [maxPos]); // כתוב את הזווית לסרוו שיש ל- A0 ערך רב ביותר

בעוד (1);

}

מוּמלָץ: