במסגרת הפוסטים על ESP32, דיברנו על אמצעי קלט (למשל חיישנים) ואמצעי פלט (למשל באזר, ווליום, מסך קטן) אבל אחד מאמצעי הפלט המגניבים ביותר הוא מנוע. כלומר ממש להזיז משהו באמצעות קוד. אפשר לעשות המון תעלולים עם מנועים זולים ומיקרו בקרים או ESP32.
הפוסט הזה מניח ידע במיקרובקרים או ברספברי פיי. אם אתם לא יודעים – קפיצה מהיר לפוסט הראשון במדריך שלי על מיקרובקרים יסגור לכם את הפינה. אם תעקבו אחר הפוסטים, תגיעו במהירות ממצב של חוסר ידע למצב שאתם יכולים לחבר הכל על מיקרובקר, לבדוק, לנסות ולשחק כרצונכם.
המנוע
יש כמה סוגי מנועים שאפשר לחבר לרספברי פיי. המנוע הפשוט ביותר שגם נמצא בהרבה קיטים למתחילים הוא ה-servo. מנוע סרוו (servo) הוא מנוע קטן עם שליטה מדויקת בזווית הסיבוב שלו.
הוא כולל בתוכו מנוע, גיר ומערכת בקרה, שמאפשרת לו להסתובב לזווית מסוימת (לרוב בין 0° ל-180°) בהתאם לפולסים שהוא מקבל מה-Raspberry Pi או בקר אחר. קל להתקין אותו. הוא מעולה לפרויקטים פשוטים – כמו להזיז זרוע רובוטית, לסובב מצלמה, לפתוח דלת קטנה וכו’. קל לשלוט בו – מספיק חיבור לחשמל ו-GPIO וחיבור לפין שתומך בטכנולוגיה שנקראת PWM (קיצור של Pulse Width Modulation) שיש גם ברספברי פיי וגם ב-ESP32.
החיבור
מה זה PWM? מדובר בדרך להפעיל מנועים. פין PWM "מהבהב" מהר מאוד – מדליק ומכבה כל הזמן וכך המנוע בעצם יודע לאן להסתובב.
ב-ESP32 כמעט כל GPIO יכול לעבוד כ-PWM. במיוחד 2, 4, 5, 12–19, 21–27, 32, 33.
אלו שעדיף לא לעבוד איתם הם 6–11, 34–39.
מהניסיון שלי – GPIO15 אף פעם לא אכזב אותי.
ברספברי פיי יש שני פינים של PWM – כדאי לבדוק בפינאאוט של הדגם שלכם. זה בד״כ GPIO12 ו-13.
![Raspberry Pi GPIO Pin Layout[1]
Copyright © 2012-2024 Raspberry Pi Ltd,
CC BY-SA 4.0](https://internet-israel.com/wp-content/uploads/2025/03/RaspberryPi_GPIO_Pinout.png)
Copyright © 2012-2024 Raspberry Pi Ltd,
CC BY-SA 4.0
המנוע ניתן לרכישה בעלי אקספרס. הנה קישור, בלי affilliate כי אני לא משפיען אינסטוש סוג ג׳ – אבל אפשר לחפש פשוט arduino servo. הוא עולה. מחיר מסחרר של 3.75 ש״ח כולל משלוח. תקנו כמה כי תמיד יש סיכוי שאחד יתקלקל.
שימו לב שיש שני servo – אחד של 0-180 מעלות והשני של 360 מעלות. הם מעט שונים מבחינת הקוד שמנהל אותם אבל
הדבר שמעניין אותנו הוא החיבורים. הוא מגיע עם שלושה חיבורים – אדום, שחור וכתום.
האדום? הולך למתח.
שימו לב! חייבים לחבר אותו למתח של 5V! לא זה של ה-3. שימו לב ב-ESP32 לאן אתם מחברים אותו!
השחור או החום הולכים לגראונד.
הכתום או הצהוב הולכים לפין ה-PWM.

הקוד
עכשיו… לקוד! כמובן שאתם יכולים להעזר ב-LLM כדי לייצר אותו. מאד חשוב לציין בפני ה-LLM אם מדובר ב-servo של 360 או 180. אם אתם משתמשים באמולטור, כמו Wokwi, אז הם עובדים בד״כ עם 380.
הנה קוד במיקרופייתון שמסובב את המנוע של 180:
from machine import Pin, PWM
import time
servo = PWM(Pin(15), freq=50)
def set_angle(angle):
min_duty = 40
max_duty = 115
duty = int(min_duty + (max_duty - min_duty) * angle / 180)
servo.duty(duty)
# Test servo behavior:
set_angle(0)
time.sleep(1)
set_angle(90)
time.sleep(1)
set_angle(180)
time.sleep(1)
servo.deinit()
אתם יכולים להכנס לקישור הזה של Wokwi כדי לראות איך הוא עובד בחי!
עכשיו, אפשר להתחיל בפרויקט. איזה? זה כבר תלוי בכם! אני (עבור השעשוע) עשיתי לוחץ אוטומטי שלוחץ על כפתור:
>> באמצעות מיקרו בקר מסוג ESP32 (שיש לו עוצמה מחשובית גדולה יותר מאשר אפולו 11 שהביאה את האדם לירח) ומנוע servo קטן וקצת מיקרופייתון, בניתי משהו שיכול להקליק בקצב של קליק לחצי שניה ולהפוך אתכם לכוכבי הכיתה! והנה סרטון ההמחשה!
— Ran Bar-Zik (@barzik) March 24, 2025
ויעל אומרת שיש לי *יותר מדי* זמן פנוי!pic.twitter.com/imjSnr0qw3
אבל אפשר לעשות פרויקטים קצת יותר מלהיבים – כמו למשל פרח שעוקב אחר האור או כל מיני מיצגים משוגעים לתחפושות או הצגות סוף שנה. באמת השמיים הם הגבול ואפשר לעשות שיגועים בכמה שקלים בודדים.
אם אתם צריכים דיוק יותר משמעותי, הייתי כן הולך על דרייברים של מיקרופייתון או לעבוד פשוט עם C.