חומרי ניקוי רצפה אוטומטיים אינם דבר חדש, אך כולם חולקים בעיה נפוצה. כולם יקרים מדי עבור מה שהם עושים. היום נכין רובוט לניקוי בית אוטומטי שעולה רק חלק קטן מאלו שקיימים בשוק. הרובוט הזה יכול לזהות את המכשולים והחפצים שמולו ויכול להמשיך לנוע, ולהימנע מהמכשולים, עד לניקוי כל החדר. יש לו מברשת קטנה המחוברת לניקוי הרצפה.
בדוק גם את הרובוט החכם שלנו לניקוי אבק באמצעות Arduino
רכיב נדרש:
- ארדואינו UNO R3.
- חיישן קולי.
- מגן נהג מנוע Arduino.
- שלדת רובוט עם כונן גלגל.
- מחשב לתכנת הארדואינו.
- סוללה למנועים.
- בנק כוח להפעלת הארדואינו
- מברשת נעליים.
- משטח לשפשף סקוטי סקוטש.
הערה: במקום להשתמש בסוללות, אתה יכול להשתמש גם בחוט ארוך בעל 4 גדילים כפי שעשינו. אמנם זה לא פיתרון אלגנטי או מעשי במיוחד, אך אתה יכול לעשות זאת אם אינך מתכנן להשתמש בו בעולם האמיתי מדי יום. ודא שאורכי הכבל מספיקים.
לפני שנפרט לפרטים בואו נדון תחילה על אולטרה סאונד.
חיישן קולי HC-SR04:
החיישן הקולי משמש למדידת המרחק בדיוק רב וקריאות יציבות. זה יכול למדוד מרחק בין 2 ס"מ ל 400 ס"מ או מ 1 אינץ 'ל 13 מטר. הוא פולט גל אולטרסאונד בתדר של 40 קילוהרץ באוויר ואם האובייקט יבוא בדרכו הוא יקפוץ בחזרה לחיישן. על ידי שימוש באותו זמן שלוקח להכות את האובייקט וחוזר, אתה יכול לחשב את המרחק.
החיישן הקולי משתמש בטכניקה הנקראת "ECHO". "ECHO" הוא פשוט גל קול משתקף. יהיה לך ECHO כאשר הצליל ישקף לאחור לאחר שהגיע למבוי סתום.
מודול HCSR04 מייצר רטט קול בטווח קולי כאשר אנו הופכים את סיכת 'הדק' לגבוהה במשך כ -10US אשר תשלח פרץ קולי בעל 8 מחזורים במהירות הצליל ולאחר פגיעה באובייקט, הוא יתקבל על ידי סיכת ההד. תלוי בזמן שלקח רטט הקול לחזור, הוא מספק פלט דופק מתאים. אם האובייקט רחוק אז לוקח ל- ECHO זמן רב יותר להישמע ורוחב הדופק ביציאה יהיה גדול. ואם המכשול קרוב, ה- ECHO יישמע מהר יותר ורוחב הדופק של הפלט יהיה קטן יותר.
אנו יכולים לחשב את מרחק האובייקט על סמך הזמן שלוקח הגל הקולי לחזור לחיישן. מכיוון שזמן ומהירות הצליל ידוע נוכל לחשב את המרחק לפי הנוסחאות הבאות.
מרחק = (זמן x מהירות הצליל באוויר (343 m / s)) / 2.
הערך מחולק לשניים מאחר והגל נע קדימה ואחורה באותו מרחק. לפיכך הזמן להגיע למכשול הוא רק מחצית מהזמן שנדרש
אז מרחק בסנטימטר = 17150 * T
ביצענו בעבר פרויקטים שימושיים רבים באמצעות חיישן קולי זה וארדואינו, בדוק אותם למטה:
- מדידת מרחק מבוסס ארדואינו באמצעות חיישן אולטרה סאונד
- אזעקת דלת באמצעות ארדואינו וחיישן קולי
- ניטור Dumpster מבוסס IOT באמצעות Arduino
הרכבה של רובוט מנקה רצפות:
הרכיב את הארדואינו על השלדה. הקפד לא לקצר שום דבר במקרה שהשלדה שלך עשויה ממתכת. מומלץ להשיג קופסה לארדואינו ולמגן בקר המנוע. אבטח את המנועים עם הגלגלים והשלדה באמצעות ברגים. לשלדה שלך צריכות להיות אפשרויות לעשות זאת מהמפעל, אך אם לא, תוכל לאלתר פיתרון אחר. אפוקסי הוא לא רעיון רע. הרכיב את מברשת הנעליים בקדמת השלדה. השתמשנו בשילוב של אפוקסי M-Seal וברגים קדוחים לשם כך, אם כי תוכלו להשתמש בכל פתרון אחר שעשוי להיות קל יותר עבורכם. הרכיב את משטח השפשוף של סקוטש בריטה מאחורי המברשת. השתמשנו בפיר שעובר על המארז שמחזיק אותו במשחק, אם כי גם זה בלתי אפשרי. ניתן להשתמש בפיר טעון קפיץ לליוויו. הרכיב את הסוללות (או הכבלים בגב השלדה).אפוקסי או בעל סוללה הם דרכים טובות לעשות זאת. גם דבק חם לא רע.
חיווט וחיבורים:
המעגל לרובוט ניקוי הבית האוטומטי הזה הוא פשוט מאוד. חבר את החיישן האולטרא - סאונד לארדואינו כפי שהוזכר להלן והנח את מגן נהג המנוע לארדואינו כמו כל מגן אחר.
סיכת ה- Trig של Ultrasonic מחוברת לסיכה ה -12 בארדואינו, סיכת ההד מחוברת לסיכה ה -13, סיכת המתח לסיכה 5V וסיכה הקרקע לסיכה הקרקעית. סיכת ההד וסיכה הדק מאפשרת לארדואינו לתקשר עם החיישן. הכוח מועבר לחיישן דרך המתח וסיכות הקרקע, וסיכות הדריכה והה מאפשרות לו לשלוח ולקבל נתונים עם הארדואינו. למידע נוסף על ממשק חיישן קולי עם Arduino כאן.
מגן המנוע צריך להכיל לפחות 2 יציאות, והם צריכים להיות מחוברים לשני המנועים שלך. בדרך כלל, יציאות אלה מתויגות "M1" ו- "M2" או "מנוע 1" ו"מנוע 2 ". חבר את הסוללות ואת בנק הכוח שלך עד למגן המנוע וארדואינו בהתאמה. אין לחצות אותם. על מגן המנוע שלך להיות בעל ערוץ קלט. אם אתה משתמש בחוטים, חבר אותם למתאמי זרם חילופין.
הסבר לתכנות:
פתח את ה- Arduino IDE. הדבק את קוד ה- Arduino השלם, שניתן בסוף הדרכה זו, ל- IDE. חבר את ה- Arduino למחשב. בחר את היציאה ב כלים / יציאה. לחץ על כפתור ההעלאה.
בדוק את הרובוט. אם זה הופך להיות מעט מדי או יותר מדי, התנסו בעיכובים עד למושלם.
לפני שנכנס לקוד, עלינו להתקין את ספריית מגן המנוע של Adafruit כדי להניע את מנועי DC. מכיוון שאנו משתמשים במגן הנהג המנוע L293D, עלינו להוריד מכאן את ספריית AFmotor. ואז הוסף אותו לתיקיית הספרייה שלך ב- Arduino IDE. הקפד לשנות את שמו ל- AFMotor . למידע נוסף על התקנת ספרייה זו.
קוד קל וניתן להבין אותו בקלות, אך כאן הסברנו על כמה חלקים ממנו:
הקוד שלמטה מגדיר את הרובוט. ראשית כללנו את ספריית Adafruit להפעלת המנועים עם מגן הנהג. לאחר מכן הגדרנו סיכת טריג וסיכת הד. זה גם מגדיר את המנועים. זה מגדיר את סיכת ההדק לפלט ואת סיכת ההד לקלט.
#include #define trigPin 12 #define echoPin 13 AF_DCMotor motor1 (1, MOTOR12_64KHZ); AF_DC מנוע מנוע 2 (2, MOTOR12_8KHZ); הגדרת חלל () {pinMode (trigPin, OUTPUT); pinMode (echoPin, INPUT); }
הקוד שלמטה אומר ל- Arduino לולאה את הפקודות הבאות. לאחר מכן, הוא משתמש בחיישן כדי להעביר ולקבל קולות אולטרסאונד. זה מחשב את המרחק שהוא מהאובייקט ברגע שגלים קולי קופצים לאחור, לאחר שציין שהאובייקט נמצא במרחק שנקבע, הוא אומר לארדואינו לסובב את המנועים בהתאם.
loop loop () {משך זמן ארוך, מרחק; digitalWrite (trigPin, LOW); עיכוב מיקרו-שניות (2); digitalWrite (trigPin, HIGH); עיכוב מיקרו-שניות (10); digitalWrite (trigPin, LOW); משך = pulseIn (echoPin, HIGH); מרחק = (משך / 2) / 29.1; אם (מרחק <20) {motor1.setSpeed (255); motor2.setSpeed (0); motor1.run (BACKWARD); motor2.run (BACKWARD); עיכוב (2000); // שנה זאת בהתאם לאופן שבו הרובוט מתהפך.
זה גורם לרובוט להסתובב על ידי סיבוב מנוע אחד ושמירה על השני עומד.
הקוד שלמטה גורם לרובוט לסובב את שני המנועים לאותו כיוון על מנת לגרום לו להתקדם עד שהוא מזהה אובייקט בגבול האמור.
אחרת {motor1.setSpeed (160); // שנה את זה בהתאם לאופן שבו הרובוט המהיר שלך צריך ללכת. motor2.setSpeed (160); // שנה את זה לערך זהה כפי שאתה מכניס לעיל. motor1.run (קדימה); motor2.run (FORWARD); }