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

כלב מעקב אינפרא אדום: 3 שלבים
כלב מעקב אינפרא אדום: 3 שלבים

וִידֵאוֹ: כלב מעקב אינפרא אדום: 3 שלבים

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

יום אחד מצאתי סרטון מעניין בכתובת: https://arduinotr.com/cisim/?fbclid=IwAR22rYmiRQQJ0nqAusOLhBj_778gROseej6TUonvbOnAd65A-sl_wnyqrJQ&tdsourcetag=s_pcqq_aiomsg זה באמת סרטון טוב …

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

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

  • כל בקר תואם Arduino כגון Maduino
  • נהג מנוע L298N
  • חיישן 3x IR
  • כמה קופצים נפוצים

שלב 1: איתור מכשולים

זיהוי מכשולים
זיהוי מכשולים

ישנם 3 חיישני IR המשמשים לאיתור המכשול, והחיישן שמאל/ימין זיהה את המכשול, יש לסובב אותו לכיוון השעון/כיוון נגד השעון, בעוד שהחיישן האמצעי זיהה, הכל בסדר.

חיישן 3 מזהה מכשול כלשהו מלפנים. מחבר את סיכת האות לסיכות הכניסה של Maduino, כגון Pin2/3/4;

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

אם (IR1_STA == HIGH & IR2_STA == LOW & IR3_STA == HIGH) // אם החיישן הבינוני מזהה את המכשול, עצור המנוע

{

analogWrite (EN, 0);

תפסיק();

}

אם (IR1_STA == LOW & IR2_STA == HIGH & IR3_STA == HIGH) // אם החיישן הישיר מזהה את המכשול, המנוע לאחור במהירות גבוהה;

{

analogWrite (EN, מהירות גבוהה);

לַהֲפוֹך();

}

אם (IR1_STA == LOW & IR2_STA == LOW & IR3_STA == HIGH) // אם

חיישן ימין & אמצעי לזהות את מכשיר ההפוך המנוע, מהירות נמוכה;

{

analogWrite (EN, מהירות נמוכה);

לַהֲפוֹך();

}

……

שלב 2: שליטה מוטורית

שליטה מוטורית
שליטה מוטורית
שליטה מוטורית
שליטה מוטורית

ונהג מנוע שיניע את המנוע, עם מהירות גבוהה/נמוכה, תלוי במצב החיישן.

שימוש במודול L298N להנעת המנוע, עם pin5/6 של Maduino וסיכת PWM (Maduino Pin9) ל- L298N אפשר pin, והפעל את המודול עם 9V:

int EN = 9; // בקרת PWM

int highspeed = 80; // הגדר את המהירות הגבוהה

int lowspeed = 60; // הגדר את המהירות הנמוכה

ולאחר מכן ניתן לשלוט על מהירות המנוע על ידי:

analogWrite (EN, מהירות גבוהה);

שלב 3: התקן שם משהו, כלב כזה …

התקן שם משהו, כלב כזה …
התקן שם משהו, כלב כזה …

התקן את החיישנים והמנועים, ועשה משהו, בשבילי, אני אוהב כלב לשחק עם הבת שלי בת 1.5. הורד את הקוד של Arduino כאן … בחינם לפנות אלי: [email protected] אם יש לך שאלות

מוּמלָץ: