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

זה בדיוק מה שנבנה.
הידע שצריך
שלושת חלקי המערכת
1. המשדר (השלט) — לחיצה גורמת לדיודה להבהב בתדר 38kHz ולשדר קוד ייחודי לכפתור.
2. מודול הקליטה — קולט את האור, ממיר לשינויי מתח, ומעביר לבקר. מכוונן לתדר 38kHz כדי לסנן רעש.
3. הבקר — מפענח בעזרת ספריית IRremote, מזהה איזה כפתור נלחץ, ומבצע.

כל שלושת החלקים כבר מוכרים לכם משיעור 16. החידוש היחיד כאן: במקום להדפיס את הקוד — מבצעים איתו פעולה.
מיפוי כפתור לפעולה
| הכפתור | הקוד | הפעולה |
|---|---|---|
| 0 | 0xAD52FF00 |
כיבוי |
| 1 | 0xE916FF00 |
מהירות 70% |
| 2 | 0xE619FF00 |
מהירות 100% |
⚠️ אל תסמכו על הקודים האלה בעיוורון. שלטים שונים במעט זה מזה. הריצו קודם את תוכנית שיעור 16, לחצו על הכפתורים שלכם, ורשמו את הקודים האמיתיים.
הניסוי
המטרה: שלושה כפתורים בשלט שולטים במאוורר.
רשימת רכיבים
| הרכיב | כמות |
|---|---|
| לוח ESP32 | 1 |
| לוח ניסוי 400 נקודות | 1 |
| מקלט אינפרה-אדום + שלט | 1 |
| דרייבר מנועים | 1 |
| מנוע DC + מאוורר | 1 |
התרשים החשמלי

החיבור

מבנה התוכנית
#include <IRremote.h>
#define IR_PIN 18
#define motor1A 5
#define motor2A 16
void setup() {
Serial.begin(115200);
IrReceiver.begin(IR_PIN);
pinMode(motor1A, OUTPUT);
pinMode(motor2A, OUTPUT);
analogWrite(motor2A, 0);
}
void loop() {
if (IrReceiver.decode()) {
unsigned long code = IrReceiver.decodedIRData.decodedRawData;
if (code == 0xAD52FF00) analogWrite(motor1A, 0); // כיבוי
else if (code == 0xE916FF00) analogWrite(motor1A, 180); // 70%
else if (code == 0xE619FF00) analogWrite(motor1A, 255); // 100%
IrReceiver.resume(); // חובה — בלי זה לא ייקלט עוד אות
}
}
הלב של התוכנית הוא שרשרת ה-if: כל קוד מוביל לפעולה אחרת. זה כל מה שעושה שלט של טלוויזיה או מזגן — רק עם עשרות כפתורים במקום שלושה.
מה אמור לקרות

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


