תוכן עניינים:
וִידֵאוֹ: כיצד להכין מכשול DIY Arduino להימנע מרובוט בבית: 4 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:12
שלום חבר'ה, במדריך זה תוכלו ליצור מכשול להימנעות מרובוט. מדריך זה כולל בניית רובוט עם חיישן קולי שיכול לזהות אובייקטים סמוכים ולשנות את כיוונם כדי להימנע מחפצים אלה. החיישן האולטראסוני יחובר למנוע סרוו אשר סורק ללא הרף שמאלה וימינה ומחפש אובייקטים בדרכו.
אז בלי להתבטא יותר, בואו נתחיל!
שלב 1: מה שאתה צריך בפרויקט זה:
להלן רשימת החלקים:
1) ארדואינו אונו
2) מגן נהג מוטורי
3) סט מנוע, מסגרת וגלגלים
4) מנוע סרוו
5) חיישן קולי
6) סוללת ליתיום (2x)
7) מחזיק סוללות
8) חוט מגשר זכר ונקבה
9) מלחם
10) מטען
שלב 2: תרשים מעגלים
עובד:
לפני שניגשים לעבוד על הפרויקט, חשוב להבין כיצד פועל החיישן הקולי. העיקרון הבסיסי מאחורי הפעלת החיישן האולטראסוני הוא כדלקמן:
באמצעות אות טריגר חיצוני, סיכת הטריג בחיישן האולטראסוני הופכת להיגיונית גבוהה במשך 10 µs לפחות. התפרצות קולית ממודול המשדר נשלחת. זה מורכב משמונה פולסים של 40KHz.
האותות חוזרים חזרה לאחר שפוגעים במשטח והמקלט מזהה אות זה. סיכת ההד גבוהה מרגע שליחת האות וקבלתו. ניתן להמיר זמן זה למרחק באמצעות חישובים מתאימים.
מטרת הפרויקט היא ליישם מכשול להימנעות מרובוט באמצעות חיישן קולי וארדואינו. כל החיבורים נעשים לפי תרשים המעגלים. עבודת הפרויקט מוסברת להלן.
כאשר הרובוט מופעל, שני מנועי הרובוט יפעלו כרגיל והרובוט נע קדימה. במהלך הזמן הזה, החיישן האולטרסוני מחשב ברציפות את המרחק בין הרובוט למשטח המחזיר אור.
מידע זה מעובד על ידי ארדואינו. אם המרחק בין הרובוט למכשול קטן מ -15 ס מ, הרובוט עוצר וסורק לכיוונים שמאל וימין למרחק חדש באמצעות מנוע סרוו וחיישן אולטראסוני. אם המרחק לכיוון הצד השמאלי גדול מזה של הצד הימני, הרובוט יתכונן לפנייה שמאלה. אבל ראשית, הוא מגבה מעט ואז מפעיל את מנוע הגלגל השמאלי בכיוון הפוך.
באופן דומה, אם המרחק הנכון גדול מזה של המרחק השמאלי, הרובוט מכין סיבוב ימינה. תהליך זה נמשך לנצח והרובוט ממשיך לנוע מבלי לפגוע במכשול כלשהו.
שלב 3: תכנות UNO Arduino
#לִכלוֹל
#לִכלוֹל
#לִכלוֹל
# הגדר TRIG_PIN A1
# הגדר ECHO_PIN A0
# הגדר MAX_DISTANCE 200
# הגדר MAX_SPEED 255 // קובע את מהירות מנועי DC
# הגדר MAX_SPEED_OFFSET 20
סונאר NewPing (TRIG_PIN, ECHO_PIN, MAX_DISTANCE);
AF_DC מנוע מנוע 3 (3, MOTOR34_1KHZ);
AF_DC מנוע מנוע 4 (4, MOTOR34_1KHZ); סרוו מיסרבו;
בוליאני goesForward = false;
מרחק int = 100; int speedSet = 0;
הגדרת בטל () {
myservo.attach (10);
myservo.write (115); עיכוב (2000); distance = readPing (); עיכוב (100); distance = readPing (); עיכוב (100); distance = readPing (); עיכוב (100); distance = readPing (); עיכוב (100); }
לולאת חלל () {
int distanceR = 0; int distanceL = 0; עיכוב (40);
if (מרחק <= 15) {moveStop (); עיכוב (100); moveBackward (); עיכוב (300); moveStop (); עיכוב (200); distanceR = lookRight (); עיכוב (200); distanceL = lookLeft (); עיכוב (200);
if (distanceR> = distanceL) {
פנה ימינה(); moveStop (); } אחר {turnLeft (); moveStop (); }} else {moveForward (); } distance = readPing (); }
int lookRight () {
myservo.write (50); עיכוב (500); int distance = readPing (); עיכוב (100); myservo.write (115); מרחק החזרה; }
int lookLeft () {
myservo.write (170); עיכוב (500); int distance = readPing (); עיכוב (100); myservo.write (115); מרחק החזרה; עיכוב (100); }
int readPing () {
עיכוב (70); int cm = sonar.ping_cm (); אם (cm == 0) {cm = 250; } ס מ להחזיר; }
void moveStop () {
motor3.run (שחרור);
motor4.run (שחרור); }
void moveForward () {
אם (! goesForward) {
goesForward = true;
motor3.run (קדימה);
motor4.run (קדימה); עבור (speedSet = 0; speedSet <MAX_SPEED; speedSet += 2) // העלו לאט את המהירות כדי להימנע מהורדת הסוללות מהר מדי {
motor3.setSpeed (speedSet);
motor4.setSpeed (speedSet); עיכוב (5); }}}
void moveBackward () {
goesForward = false;
מנוע 3. ריצה (אחורה);
motor4.run (אחורה); עבור (speedSet = 0; speedSet <MAX_SPEED; speedSet += 2) // העלו לאט את המהירות כדי להימנע מהורדת הסוללות מהר מדי {
motor3.setSpeed (speedSet);
motor4.setSpeed (speedSet); עיכוב (5); }}
void turnRight () {
motor3.run (קדימה);
motor4.run (אחורה); עיכוב (500);
motor3.run (קדימה);
motor4.run (קדימה); }
void turnLeft () {
מנוע 3. ריצה (אחורה);
motor4.run (קדימה); עיכוב (500);
motor3.run (קדימה);
motor4.run (קדימה); }
1) הורד והתקן את Arduino Desktop IDE
- windows -
- Mac OS X -
- לינוקס -
2) הורד והדבק את קובץ ספריית NewPing (ספריית פונקציות חיישן קולי) לתיקיה ספריות Arduino.
- הורד את NewPing.rar למטה
- חלץ אותו לנתיב - C: / Arduino / libraries
3) העלה את הקוד ללוח Arduino באמצעות כבל USB
קוד הורדה:
שלב 4: מעולה
כעת הרובוט שלך מוכן להימנע מכל מכשול …
אשמח לענות על כל שאלה שיש לך
מייל לי: [email protected]
אתר אינטרנט:
הירשם לערוץ היוטיוב שלי:
אינסטגרם:
פייסבוק:
תודה:)
מוּמלָץ:
מכשול להימנע מרובוט באמצעות Arduino Nano: 5 שלבים
מכשול להימנעות מרובוט באמצעות Arduino Nano: במדריך זה אני מתאר כיצד תוכל ליצור מכשול להימנע מרובוט באמצעות Arduino
כיצד לבצע מכשול להימנע מרובוט: 6 שלבים
כיצד לבצע מכשול להימנעות מרובוט: מכשול להימנעות מרובוט הוא רובוט פשוט המופעל על ידי ארדואינו ומה שהוא עושה הוא שהוא פשוט מסתובב ונמנע ממכשולים. הוא מזהה את המכשולים בעזרת חיישן אולטרסוני HC-SR04 במילים אחרות אם הרובוט חש אובייקט קרוב ל
מכשול להימנע מרובוט באמצעות מיקרו -בקר (Arduino): 5 שלבים
מכשול הימנעות מרובוט באמצעות מיקרו -בקר (Arduino): במדריך זה אלמד אותך כיצד ליצור מכשול להימנעות מרובוט שעובד עם Arduino. עליך להכיר את Arduino. Arduino הוא לוח בקר שמשתמש במיקרו בקר atmega. אתה יכול להשתמש בכל גרסה של Arduino אבל אני ח
כיצד למנוע מכשול להימנע מרובוט באמצעות Arduino: 5 שלבים
כיצד למנוע מכשול להימנע מרובוט באמצעות Arduino: במדריך זה אלמד אותך כיצד ליצור מכשול להימנעות מרובוט שעובד עם Arduino. עליך להכיר את Arduino. Arduino הוא לוח בקר שמשתמש במיקרו בקר atmega. אתה יכול להשתמש בכל גרסה של Arduino אבל אני ח
כיצד להכין OAWR (מכשול להימנע מרובוט הליכה): 7 שלבים (עם תמונות)
כיצד להכין OAWR (מכשול להימנעות מרובוט הליכה): מדריך זה מראה כיצד להכין רובוט קטן אשר נמנע ממכשולים (בדומה לאפשרויות רבות הקיימות מסחרית). אבל מה הכיף ברכישת צעצוע כשאתה יכול להתחיל עם מנוע, דף פלסטיק וערימת ברגים ומעוצבים