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

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



(תמונה זו לקוחה מ- Circuit Digest)

כיצד להשתמש בחיישן קולי לייצור רובוט לניקוי רצפות אוטומטי?

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



שלב 1: איסוף הרכיבים

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



  • שלדת גלגלים לרכב
  • סוֹלְלָה
  • הצג מברשת

שלב 2: לימוד הרכיבים

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



Arduino nano הוא לוח מיקרו-בקר המשמש לבקרה או לביצוע משימות שונות במעגל. אנחנו שורפים א קוד C ב- Arduino Nano כדי לספר ללוח המיקרו-בקר כיצד ואילו פעולות לבצע. ל- Arduino Nano יש בדיוק אותה פונקציונליות כמו ל- Arduino Uno אבל בגודל די קטן. המיקרו-בקר על לוח ה- Arduino Nano הוא ATmega328p.

ארדואינו ננו

ה- L298N הוא מעגל משולב זרם גבוה ומתח גבוה. זהו גשר מלא כפול שנועד לקבל היגיון TTL סטנדרטי. יש לו שתי כניסות מאפשרות המאפשרות למכשיר לפעול באופן עצמאי. ניתן לחבר ולהפעיל שני מנועים בו זמנית. מהירות המנועים משתנה באמצעות סיכות ה- PWM.



נהג מנוע L298N

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

חיישן קולי

שלב 3: הרכבת הרכיבים

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

קח שלדת גלגלים לרכב והרכיב מברשת ראווה מול המפלים. הרכיב את הבריץ 'הסקוטי מתחת לרובוט. וודאו שהיא ממש מאחורי מברשת הנעליים. כעת צרף קרש לחם קטן בחלק העליון של המפגעים ומאחוריו, חבר את נהג המנוע. בצע חיבורים תקינים של המנועים לנהג המנוע וחבר בזהירות את הסיכות f נהג המנוע לארדואינו. הרכיב סוללה מאחורי השלדה. הסוללה תפעיל את מנהל ההתקן המניע את המנועים. הארדואינו ייקח גם את הכוח מנהג המנוע. סיכת Vcc ואדמת החיישן האולטראסוני יחוברו ל 5 V ולאדמה של הארדואינו.

תרשים מעגל

שלב 4: תחילת העבודה עם Arduino

אם אתה עדיין לא מכיר את ה- Arduino IDE, אל תדאג כי הליך שלב אחר שלב להגדרת ולהשתמש ב- Arduino IDE עם לוח מיקרו-בקר מוסבר להלן.

  1. הורד את הגרסה האחרונה של Arduino IDE מ ארדואינו.
  2. חבר את לוח ה- Arduino Nano למחשב הנייד שלך ופתח את לוח הבקרה. בלוח הבקרה, לחץ על חומרה וסאונד . עכשיו לחץ על מכשירים ומדפסות. כאן מצא את היציאה שאליה מחובר לוח המיקרו שלך. במקרה שלי זה כן COM14 אבל זה שונה במחשבים שונים.

    מציאת נמל

  3. לחץ על תפריט הכלים והגדר את הלוח ל- ארדואינו ננו.

    לוח הגדרה

  4. באותו תפריט כלים, הגדר את היציאה למספר היציאה שצפית קודם ב- מכשירים ומדפסות .

    הגדרת נמל

  5. באותו תפריט כלים, הגדר את המעבד ל ATmega328P (Bootloader ישן).

    מעבד

  6. הורד את הקוד המצורף למטה והדבק אותו ב- ID Arduino שלך. הקלק על ה להעלות כפתור לצריבת הקוד בלוח המיקרו-בקר שלך.

    העלה

נְקִישָׁה כאן להורדת הקוד.

שלב 5: הבנת הקוד

הקוד די מעיר והסבר עצמי. אך עדיין, מוסבר בקצרה להלן.

1. בהתחלה, כל הסיכות של ארדואינו בהן אנו הולכים להשתמש, מאותחלות.

int enable1pin = 8; // סיכות למנוע int motor1pin1 = 2 הראשון; int motor1pin2 = 3; int enable2pin = 9; // סיכות למנוע int motor2pin1 שני = 4; int motor2pin2 = 5; const int trigPin = 11; // סיכות לחיישן קולי const int echoPin = 10; const int buzzPin = 6; משך זמן ארוך; // משתנים למרחק הצפה של חיישן קולי;

2. התקנה בטלה () היא פונקציה בה אנו מגדירים את כל הפינים שישמשו כ- INPUT או OUTPUT. קצב הקליטה מוגדר גם בפונקציה זו. קצב שידור הוא המהירות שבה לוח המיקרו-בקר מתקשר עם החיישנים המחוברים.

הגדרת חלל () {Serial.begin (9600); pinMode (trigPin, OUTPUT); pinMode (echoPin, INPUT); pinMode (buzzPin, OUTPUT); pinMode (enable1pin, OUTPUT); pinMode (enable2pin, OUTPUT); pinMode (motor1pin1, OUTPUT); pinMode (motor1pin2, OUTPUT); pinMode (motor2pin1, OUTPUT); pinMode (motor2pin2, OUTPUT); }

3. לולאה בטל () היא פונקציה הפועלת ברציפות בלולאה. בלולאה זו, אמרנו למיקרו-בקר מתי להתקדם אם לא נמצא מכשול ב -50 ס'מ. הרובוט יעבור פנייה חדה ימינה כאשר נמצא מכשול.

loop loop () {digitalWrite (trigPin, LOW); עיכוב מיקרו-שניות (2); digitalWrite (trigPin, HIGH); עיכוב מיקרו-שניות (10); digitalWrite (trigPin, LOW); משך = pulseIn (echoPin, HIGH); מרחק = 0.034 * (משך / 2); אם (מרחק> 50) // העבר קדימה אם לא נמצא מכשול {digitalWrite (enable1pin, HIGH); digitalWrite (enable2pin, HIGH); digitalWrite (motor1pin1, HIGH); digitalWrite (motor1pin2, LOW); digitalWrite (motor2pin1, HIGH); digitalWrite (motor2pin2, LOW); } אחר אם (מרחק<50) // Sharp Right Turn if an obstacle found { digitalWrite(enable1pin, HIGH); digitalWrite(enable2pin, HIGH); digitalWrite(motor1pin1, HIGH); digitalWrite(motor1pin2, LOW); digitalWrite(motor2pin1, LOW); digitalWrite(motor2pin2, LOW); } delay(300); // delay }

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