דלגו לתוכן המרכזי
KitLab
פרפר ביוני — ביומימטיקה ומנגנון ארכובה· 1 / 5
פרפר ביוני — ביומימטיקה ומנגנון ארכובה
🎬

הסרטון בדרך אלינו

בינתיים — התמלול המלא של השיעור מחכה לכם למטה

פרפר ביוני — ביומימטיקה ומנגנון ארכובה

מה בשיעור?

  • ביומימטיקה וחמש דוגמאות מהטבע
  • תמסורת גלגלי שיניים
  • מנגנון ארכובה-מוט: מסיבוב לנדנוד
  • הרכבה מלאה שלב אחר שלב
  • פסק זמן ב-pulseIn וערך שגיאה ייעודי

מה נלמד כאן

  • מה זו ביומימטיקה
  • גלגלי שיניים ומנגנון ארכובה-מוט
  • להרכיב פרפר ביוני ולתכנת אותו

ללמוד מהטבע

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

פרפר ביוני

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


הידע שצריך

1. ביומימטיקה

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

השראה מהטבע

הנה חמש דוגמאות אמיתיות:

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

2. המנגנון המכני

מבנה הפרפר

הפרפר משלב שני מנגנונים מכניים קלאסיים:

תמסורת גלגלי שיניים

גלגלי השיניים

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

מנגנון ארכובה-מוט

מנגנון הארכובה

הופך תנועה סיבובית לתנועת נדנוד או תנועה קווית הלוך ושוב. הוא בנוי משלושה חלקים:

  • ארכובה (AB) — מחוברת לציר המנוע ומסתובבת
  • מוט מחבר (BC) — נע קדימה ואחורה
  • מוט מונע (CD) — מבצע את הנדנוד

עקרון התנועה

כשהארכובה AB משלימה סיבוב של 360°, המוט BC נע, והוא מניע את CD לנדנוד.

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

המנגנון המלא

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


ההרכבה

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

להלן שלבי ההרכבה, לפי הסדר:

שלב הרכבה 1

שלב הרכבה 2

שלב הרכבה 3

שלב הרכבה 4

שלב הרכבה 5

שלב הרכבה 6

שלב הרכבה 7

שלב הרכבה 8

שלב הרכבה 9

שלב הרכבה 10

שלב הרכבה 11

שלב הרכבה 12

שלב הרכבה 13

שלב הרכבה 14

שלב הרכבה 15

שלב הרכבה 16

שלב הרכבה 17

שלב הרכבה 18

שלב הרכבה 19

שלב הרכבה 20

שלב הרכבה 21

שלב הרכבה 22

שלב הרכבה 23

שלב הרכבה 24

שלב הרכבה 25

שלב הרכבה 26

שלב הרכבה 27

שלב הרכבה 28

שלב הרכבה 29

שלב הרכבה 30

שלב הרכבה 31

שלב הרכבה 32

שלב הרכבה 33

שלב הרכבה 34

שלב הרכבה 35

שלב הרכבה 36

שלב הרכבה 37

שלב הרכבה 38

שלב הרכבה 39

שלב הרכבה 40

שלב הרכבה 41

שלב הרכבה 42


הניסוי

המטרה: החיישן מזהה מרחק. מתחת ל-20 ס"מ — הכנפיים מתנופפות. מעל — נעצרות.

רשימת רכיבים

הרכיב כמות
לוח ESP32 1
חיישן אולטרסוני 1
דרייבר מנועים 1
מנוע DC 1

הקוד

#define trigPin 5
#define echoPin 16
#define motor1A 17
#define motor1B 18

float thresholdDistance = 20.0;

void setup() {
  Serial.begin(115200);
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  pinMode(motor1A, OUTPUT);
  pinMode(motor1B, OUTPUT);
}

void loop() {
  float distance = getDistance();
  Serial.print("Distance: ");
  Serial.print(distance);
  Serial.println(" cm");

  if (distance != -1 && distance < thresholdDistance) {
    analogWrite(motor1B, 255);      // מתנופף
    analogWrite(motor1A, 0);
  } else if (distance != -1 && distance >= thresholdDistance) {
    analogWrite(motor1B, 0);        // עוצר
    analogWrite(motor1A, 0);
  }

  delay(100);
}

float getDistance() {
  digitalWrite(trigPin, LOW);  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH); delayMicroseconds(10);
  digitalWrite(trigPin, LOW);

  unsigned long pulseTime = pulseIn(echoPin, HIGH, 5000);   // פסק זמן

  if (pulseTime > 0) {
    return pulseTime * 0.0343 / 2;
  } else {
    return -1;                       // אין הד — מחזירים ערך מיוחד
  }
}

שתי נקודות חשובות בקוד

1. פסק זמן ב-pulseIn:

pulseIn(echoPin, HIGH, 5000)

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

2. הערך -1:

הפונקציה מחזירה ‎-1 כשאין מדידה תקינה, ו-loop בודקת את זה (distance != -1). זו דרך מסודרת לסמן "אין תשובה" בלי לבלבל אותה עם מרחק אמיתי.

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


נסו בעצמכם

  • שנו את הסף מ-20 ל-40 ס"מ. איך זה משנה את התנהגות הפרפר?
  • הוסיפו מהירויות שונות: ככל שקרובים יותר, הכנפיים מהירות יותר.
  • הסירו את פסק הזמן מ-pulseIn וכוונו את החיישן לחלל פתוח. מה קורה?
  • שלבו עם שיעור 6: הפרפר מתנופף רק כשיש גם תנועה וגם אור.
  • צפו במנגנון בפעולה והסבירו: כמה נדנודים לכל סיבוב של המנוע?

🧰 הרכיבים לשיעור הזה

רוצים את חומרי הקורס והעדכונים?

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