מה נלמד כאן
- מאוורר עם דרגות מהירות
- לחבר שלושה כפתורים לשלוש רמות PWM
- להרכיב מוצר שלם: מנוע, דרייבר, כפתורים
שלוש דרגות
מאווררים ניידים פופולריים בזכות החלפת הדרגות — מתאימים את עוצמת הרוח לצורך.

הידע שצריך
מאוורר רב-דרגתי מווסת את ההספק שמגיע למנוע, וכך משנה את עוצמת הרוח.
שלוש דרגות, כל אחת עם כפתור משלה:
| הדרגה | הכפתור | PWM | התוצאה |
|---|---|---|---|
| 0 | כפתור 1 | 0 | עצירה מלאה |
| 1 | כפתור 2 | ~150 | מהירות נמוכה |
| 2 | כפתור 3 | 255 | מהירות מלאה |
זה בדיוק אותו PWM משיעור 2 (נורית נשימה) ומשיעור 10 (מנוע DC) — רק שהפעם במקום לעבור ברציפות, בוחרים בין שלושה ערכים קבועים.
למה לא להתחיל מ-PWM נמוך כמו 50? כי כזכור משיעור 10, למנוע יש סף התנעה — מתחתיו הוא פשוט לא זז, רק מזמזם. דרגה "נמוכה" חייבת להיות מעל הסף הזה.
הניסוי
המטרה: שלושה כפתורים, שלוש דרגות מהירות.
רשימת רכיבים
| הרכיב | כמות |
|---|---|
| לוח ESP32 | 1 |
| לוח ניסוי 400 נקודות | 1 |
| דרייבר מנועים | 1 |
| מנוע DC + מאוורר | 1 |
| לחצנים | 3 |
| נגד 10kΩ | 3 |
התרשים החשמלי

החיבור

מבנה התוכנית
#define motor1A 5
#define motor2A 16
int btn[3] = {14, 25, 26}; // שלושת הכפתורים
int speeds[3] = {0, 150, 255}; // שלוש הדרגות
void setup() {
pinMode(motor1A, OUTPUT);
pinMode(motor2A, OUTPUT);
for (int i = 0; i < 3; i++) pinMode(btn[i], INPUT);
}
void loop() {
for (int i = 0; i < 3; i++) {
if (digitalRead(btn[i]) == LOW) {
delay(200); // ריטוט
while (digitalRead(btn[i]) == LOW); // המתנה לשחרור
analogWrite(motor1A, speeds[i]); // הדרגה שנבחרה
analogWrite(motor2A, 0);
}
}
}
שימו לב לתבנית המערכים המקבילים: btn[i] הוא הכפתור, speeds[i] היא הדרגה שלו. אותה תבנית משיעור 9 (תווים וקצב).
זה אומר שאם תרצו דרגה רביעית — מוסיפים מספר לכל מערך ומשנים את ה-3. בלי לגעת בהיגיון.
מה אמור לקרות

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


