איך שולחים וקולטים פקודות בין מיקרו־בקרים – בעזרת אינפרא אדום פשוט?
תוכן עניינים
- 1 איך שולחים וקולטים פקודות בין מיקרו־בקרים – בעזרת אינפרא אדום פשוט?
- 1.1 מה מחכה לכם בפוסט הזה?
- 1.2 היכרות עם מודול YS‑IRTM
- 1.3 מפרט טכני מלא (בצורה פשוטה וברורה)
- 1.4 איך עובד מודול YS-IRTM ולמה הוא כל כך פשוט לשימוש?
- 1.5 איך מחברים את מודול YS-IRTM ל־ESP32 או לארדואינו?
- 1.6 דוגמת קוד 1: קריאה פשוטה של פקודה שמתקבלת מהשלט
- 1.7 דוגמת קוד 2: שליחה פשוטה של קוד IR מהבקר
- 1.8 רעיונות לפרויקטים חכמים עם המודול YS-IRTM
- 1.9 ועכשיו קצת יותר לעומק – מי שרוצה להבין מה באמת יש על הלוח:
- 1.10 סיכום: כך תשלבו את מודול YS-IRTM בפרויקטים שלכם
מה מחכה לכם בפוסט הזה?
דמיינו שאתם מחפשים דרך פשוטה ונגישה להעביר מידע בין שני מיקרו־בקרים – בלי חוטים, בלי WiFi, ובלי קונפיגורציות מסובכות. בדיוק כאן נכנס לתמונה מודול YS-IRTM – מקלט ומשדר אינפרא אדום שמאפשר לתקשר דרך האוויר בצורה הכי טבעית שיש.
במדריך הזה תגלו:
💡 איך פועלת תקשורת IR?
📡 מה מיוחד במודול YS-IRTM?
🔧 איך מחברים אותו ל־ESP32?
✅ איך שולחים וקולטים פקודות בקלות?
📘 דוגמאות קוד אמיתיות, פשוטות וברורות
בואו נצלול יחד אל תוך עולם התקשורת האינפרא־אדומה, נבין איך הכול עובד, ונראה כמה פשוט לשלב את המודול הזה בכל פרויקט.
היכרות עם מודול YS‑IRTM
מודול YS‑IRTM הוא רכיב תקשורת אינפרא אדום חכם, שמתאים במיוחד לפרויקטים המבוססים על ארדואינו או ESP32.
הוא מאפשר לנו לקלוט פקודות משלט טלוויזיה רגיל – וגם לשדר פקודות כאלה בעצמנו, ממש כמו שלט!
בעזרת חיבור פשוט דרך תקשורת סיריאלית (UART), אנחנו יכולים לזהות מתי נלחץ כפתור בשלט, לקלוט את הקוד שהתקבל – ולהפעיל בהתאם פעולות שונות כמו הדלקת נורה, הפעלת מנוע, פתיחת שער, שליחת הודעה, או כל דבר אחר שנרצה.
בניגוד לשיטות מורכבות שמצריכות דיודות IR, פענוח סיביות ותזמון מדויק – המודול הזה עושה את כל העבודה הקשה בשבילנו.
הוא מקבל את קוד השלט, מפענח אותו, ומעביר אותו ישירות כקוד הקסדצימלי פשוט – כך שאנחנו יכולים לקרוא אותו בקלות ולהגיב אליו בלי מאמץ.
וזה לא הכול – המודול גם כולל משדר IR, כך שאפשר להשתמש בו כשלט בעצמנו!
לדוגמה, אפשר לתכנת את ESP32 שישדר את קוד 0xF7 כדי לשלוט בטלוויזיה, או לשדר קוד שנקלט ממודול אחר, וכך ליצור תקשורת חכמה בין שני מיקרו־בקרים.
השילוב של קליטה, שידור, ותקשורת סיריאלית פשוטה – הופך את YS‑IRTM לאחד הרכיבים הכי שימושיים וידידותיים בעולם האלקטרוניקה החינוכית.
מפרט טכני מלא (בצורה פשוטה וברורה)
⚙️ המודול פועל במתח של 5 וולט (V), בטווח שבין 4.5V ל־5.5V.
⚙️ צריכת הזרם במצב פעולה רגיל היא כ־100 מיליאמפר, ובמצב המתנה – כ־17.5 מיליאמפר בלבד.
⚙️ הממשק הוא UART TTL (כלומר תקשורת סיריאלית פשוטה), כשהקצב המוגדר כברירת מחדל הוא 9600bps. ניתן לשנות אותו לפעול גם ב־4800, 19200 או 57600 באמצעות פקודות מתאימות.
⚙️ המודול כולל גם משדר IR וגם מקלט IR, שפועלים על תדר 38 קילו־הרץ (kHz) – תדר אינפרא אדום סטנדרטי ברוב השלטים הביתיים.
⚙️ קרינת האינפרא־אדום היא באורך גל של 940 ננומטר (nm) – בדיוק כמו שלטים רגילים של טלוויזיה.
⚙️ הוא תומך בפרוטוקול NEC (הנפוץ ביותר), כולל קוד משתמש (User Code), קוד פעולה (Command) וגם סיבית הופכית לבדיקת תקינות (Checksum / Inverse).
⚙️ טווח הפעולה של המודול נע בדרך כלל בין 6 ל־10 מטרים, כתלות בעוצמת השלט, בזווית הכיווניות ובתנאי החדר.
⚙️ אין צורך בתזמון ידני, ספריות לפענוח או חיבורים מורכבים – פשוט שולחים או קוראים UART, והמודול עושה את כל הקסם מאחורי הקלעים.
איך עובד מודול YS-IRTM ולמה הוא כל כך פשוט לשימוש?
מה זה תקשורת אינפרא־אדומה (IR)?
תקשורת IR (קיצור של Infrared) משתמשת בקרני אינפרא־אדומות – כלומר, אור בלתי נראה לעין האדם, לצורך שידור מידע. כמו בשלטי טלוויזיה, גם כאן השולח מהבהב אור אינפרא־אדום לפי קוד בינארי מסוים, והמקלט מזהה ומפענח את ההבהובים.
💡 השידור מתרחש בקו ישר – אין מעבר דרך קירות
📏 הטווח היעיל נע בין 1 ל־10 מטרים, תלוי בתנאי התאורה והכיוון
🛠️ לרוב נדרש שולח אחד ומקלט אחד, והתקשורת היא חד־כיוונית (למרות שהמודול שלנו תומך גם בשידור וגם בקבלה)
מה זה מודול YS-IRTM?
המודול YS-IRTM הוא מודול קומפקטי שכולל:
🔴 משדר IR – שולח פקודות באמצעות אור אינפרא־אדום
⚫ מקלט IR – קולט פקודות משלטים או מודולים אחרים
🧠 מעבד פנימי – מפענח אוטומטית את הפקודות
💬 ממשק UART – מחובר בקלות ל־ESP32 או ארדואינו דרך RX/TX
פירוט רגליים:
🔌 V– 5V (מתאים ישירות ל־ESP32 או לארדואינו)
⚫ G – GND
📤 TX – פלט (מהמודול אל הבקר)
📥 RX – קלט (מהבקר אל המודול)
איך בנויה מסגרת המידע שהוא שולח?
המודול שולח נתונים בפורמט סדרתי פשוט. כל פקודה שמתקבלת מהשלט או שנשלחת אל מודול אחר מורכבת ממבנה טיפוסי:
[Start Byte] [Data Byte] [Checksum] [Stop Byte]
לדוגמה, אם לחצתם על כפתור בשלט שמוגדר כ־0x17, ייתכן שהמודול ישלח משהו כמו:
0x00 0x17 0x17 0xFF
הסבר מסגרת המידע:
Start Byte = 0x00
Data Byte = 0x17 (הפקודה)
Checksum = לרוב זהה ל־ דאטה (אם אין הצפנה)
Stop Byte = 0xFF
למה בכלל צריך את כל החלקים האלה – Start, Data, Checksum, Stop?
תקשורת UART (התקשורת הסדרתית ש־YS-IRTM משתמש בה) לא כוללת קו שעון ולכן היא תקשורת אסינכרונית, כלומר אין סנכרון מובנה בין השולח למקבל.
לכן, צריך מנגנון שיוכל להגדיר:
🎬 מתי מתחילה ההודעה – זה תפקידו של Start Byte
📦 מהו המידע עצמו – Data Byte
🔐 האם המידע עבר תקין – Checksum הוא מנגנון בקרה שמוודא שלא "נשברו" נתונים בדרך
🛑 מתי ההודעה נגמרת – Stop Byte מסמן לסיום
ללא זה, המקלט לא היה יודע מתי להתחיל או להפסיק לקרוא, או אם המידע שנשלח הוא אמין. הגישה הזו מאפשרת תקשורת פשוטה, אמינה וזולה – בלי צורך בשעונים חיצוניים או מעבדים חזקים.
למה המספרים נראים ככה – למשל 0x17 ?
כמעט כל הערכים בעולם המחשבים מוצגים בבסיס 16 – כלומר הקסדצימלי.
התחילית 0x אומרת לנו: "המספר הבא כתוב בבסיס 16".
לדוגמה:
0x00 = 0 (עשרוני)
0x0A = 10 (עשרוני)
0x10 = 16 (עשרוני)
0xFF = 255 (הערך המקסימלי ב־8 ביטים)
זה פורמט מאוד מקובל בעולם התקשורת, מכיוון שהוא מקצר כתיבה של ביטים רבים (במקום 00010111 פשוט נכתוב 0x17 ).
איך מחברים את מודול YS-IRTM ל־ESP32 או לארדואינו?
חיבורים פיזיים פשוטים
המזל הגדול עם YS-IRTM הוא שהוא עובד על 5V UART רגיל, ולכן הוא מתאים גם לארדואינו (5V) וגם ל־ESP32 (3.3V) – מבלי שתצטרכו ממיר רמות, כי הוא סלחני מאוד בכניסה!
מודול YS-IRTM | ESP32 (או ארדואינו) |
V | 5V |
G | GND |
TX | פין RX (כניסה לבקר) |
RX | פין TX (יציאה מהבקר) |
לדוגמה:
ב־ESP32 אפשר להשתמש ב־RX = GPIO16 ו־TX = GPIO17
בארדואינו אונו – פשוט מחברים ל־RX ו־TX של הפינים הדיגיטליים (או משתמשים בפונקציה SoftwareSerial).
דוגמת קוד 1: קריאה פשוטה של פקודה שמתקבלת מהשלט
void setup()
{
Serial.begin(9600); // חיבור למסך הסיריאלי
Serial2.begin(9600); // חיבור למודול YS-IRTM דרך UART שני
// 📝 הארה חשובה:
// בלוח כמו ESP32 יש פורטים סיריאליים מרובים (Serial1, Serial2)
// אבל בלוחות פשוטים יותר כמו Arduino Uno, אין Serial2.
// במקרה כזה יש להשתמש בספרייה SoftwareSerial
// ולבחור ידנית את הרגלים המשמשות לקלט/פלט.
}
void loop()
{
// בודק אם התקבל נתון חדש מהמקט IR
if (Serial2.available())
{
// קורא את הנתון
int נתון = Serial2.read();
// מציג את הערך שהתקבל בבסיס הקסדצימלי (למשל: 17, F7, FF)
Serial.print("התקבל קוד הקסדצימלי: ");
Serial.println(נתון, HEX); // הדפסה בבסיס הקסדצימלי בלבד
}
delay(100); // השהיה קצרה
}
דוגמת קוד 2: שליחה פשוטה של קוד IR מהבקר
void setup()
{
Serial.begin(9600); // חיבור למסך הסיריאלי
Serial2.begin(9600); // חיבור למודול YS-IRTM דרך UART שני
// 📝 הערה:
// כמו תמיד – אם אתם משתמשים בלוח כמו Arduino Uno, יש להשתמש ב־SoftwareSerial
// ולהגדיר את הרגלים המתאימות לפלט ולקלט.
}
void loop()
{
// שולחים קוד בודד
Serial2.write(0x17); // שולח את הערך ההקסדצימלי 17
// מציג במסך הסיריאלי מה ששלחנו
Serial.println("נשלח קוד IR: 17");
// ממתינים שנייה לפני השליחה הבאה
delay(1000);
}
רעיונות לפרויקטים חכמים עם המודול YS-IRTM
אחרי שלמדנו כיצד לקרוא שלטים, לשלוח קודים, ולבנות תקשורת – הגיע הזמן לשלב את המודול בפרויקטים אמיתיים 🧠✨
רעיונות פשוטים ומעוררי השראה:
📺 1. שלט להפעלת אורות / רצועת לד
דמיינו שאתם לוחצים על כפתור בשלט – והחדר מתמלא באור בצבע שתבחרו.
ניתן לתכנת כל כפתור בשלט להדליק צבע שונה ברצועת WS2812B.
🔐 2. מנעול אלקטרוני חכם
שילוב של מודול IR עם סרוו: לוחצים על סדרת כפתורים מסוימת בשלט – והדלת נפתחת!
רעיון מעולה לפרויקט בנושא בטיחות ואבטחה.
🎮 3. שליטה על רובוט ב־4 כפתורים
קדימה, אחורה, שמאלה, ימינה – כל כיוון מיוצג על ידי קוד IR שונה.
הרובוט מגיב בהתאם לפקודה שקיבל דרך המודול.
📡 4. תקשורת בין שני מיקרו־בקרים
אחד משדר קוד IR (למשל: 0x13), והשני מקבל ומגיב.
כך תוכלו ליצור מערכות חכמות שמגיבות זה לזה – גם בלי Bluetooth או Wi-Fi.
🎼 5. שלט למוזיקה / צלילים
שלט טלוויזיה ישן מפעיל רמקול או באזר דרך ESP32 – נגן צלילים לפי הכפתור שנלחץ.
למשל: 0x17 מנגן סירנה, 0x1A מנגן פתיח של גיבור־על 🎵
🚨 6. מערכת התראה חכמה
כפתור חירום IR מפעיל נורת אזהרה או שלח התראה דרך Wi-Fi (ESP32) – מצוין לכיתות או מצבים רפואיים.
ועכשיו קצת יותר לעומק – מי שרוצה להבין מה באמת יש על הלוח:
אם אתם רוצים לזהות כל רכיב, להבין מה הוא עושה, ואפילו להעתיק את המודול לפרויקט משלכם – הכנו לכם כאן הסבר מדויק ומפורט על כל אחד מהרכיבים שעל מודול YS‑IRTM, כולל איור מעוצב בעברית שמראה בדיוק מה נמצא איפה.
1. שבב מיקרו־בקר ראשי (STC8A8K64S4A12 או שבב דומה)
בתוך מודול YS‑IRTM קיים שבב מיקרו־בקר מרכזי, לרוב מדגם STC8A8K64S4A12 או שבב סיני דומה. זהו שבב 8־ביט חכם ממשפחת STC, המבוסס על ליבת 8051 מהירה ומשודרגת. תפקידו העיקרי הוא לנהל את כל פעולת המודול – גם בקלט וגם בפלט.
כאשר מקלט ה־IR מזהה שידור מהשלט, הוא מעביר את המידע לשבב הזה, שמפענח את הקוד על פי פרוטוקול NEC או פרוטוקולים אחרים. לאחר מכן, המידע מומר לפורמט פשוט ומובן (מסגרת UART), ונשלח דרך החיבור הסיריאלי למיקרו־בקר החיצוני (כמו Arduino או ESP32).
בכיוון ההפוך, כאשר אנו שולחים קוד מהמיקרו־בקר אל המודול, השבב מקבל את המידע, בונה את מסגרת השידור בעצמו, ומפעיל את דיודת השידור האינפרא־אדומה (IR LED) כדי לשלוח את הפקודה אל מכשיר היעד (כמו טלוויזיה, מזגן, רסיבר ועוד).
השבב מגיע כבר עם תוכנה צרובה מראש, כך שאין צורך לתכנת אותו או לגעת בקוד הפנימי שלו – פשוט שולחים אליו פקודות מוכנות, והוא עושה את כל העבודה.
2. דיודת שידור אינפרא־אדומה (Infrared Emitter) – זהו הרכיב שאחראי על שידור האותות האינפרא־אדומים החוצה. ברגע שהשבב מקבל פקודה לשלוח קוד, הוא מפעיל את ה־IR LED כדי לפלוט אור בלתי נראה בעין, בתדר של כ־38 קילו־הרץ. האור מבוסס אורך גל של כ־940 ננומטר ונשלח בצורה ממוקדת כדי להגיע אל המכשירים היעד כמו טלוויזיות, מזגנים ורסיברים.
3. מקלט אינפרא־אדום (Infrared Receiver) – זהו רכיב שמזהה את האות שקורא מהשלט בסביבה. הוא מתוכנן לתדר של כ־38 קילו־הרץ ואחראי לסינון רעשים מהסביבה, כגון תאורה חיצונית או שמש. כשהוא קולט אות אינפרא־אדום מהבהב, הוא מעביר אותו כפולסים דיגיטליים אל השבב הראשי, שם הם מפוענחים כפקודות קוד.
4. חיבור UART / ממשק סיריאלי (TXD/RXD/VCC/GND) – זהו מחבר התקשורת המרכזי שמאפשר למיקרו־בקר כמו Arduino או ESP32 להתחבר ישירות למודול. באמצעות 4 פינים בלבד – מתח, קרקע, קבלה ושידור – מועבר המידע בצורה פשוטה ובטוחה. קצב התקשורת כברירת מחדל הוא 9600bps, עם אפשרות לשינוי על פי הצורך.
5.גביש קוורץ – Crystal Oscillator (22.1184 MHz) – זהו רכיב מתכתי מוארך שממוקם בראש הלוח, מסומן כ־22.1184 – וזה מציין את התדר שבו הוא פועל: 22.1184 מגה־הרץ.
זהו השעון הראשי של שבב הבקרה – הוא זה שמכתיב את הקצב שבו המיקרו־בקר מבצע כל פעולה: כמה מהר הוא קורא נתונים, שולח UART, מודד זמני פאוזה בין פולסים ועוד.
הגביש מוודא שכל התקשורת הסיריאלית, פענוח הקודים, ובניית מסגרות UART יתבצעו בדיוק מושלם, ללא חריגות בתזמון.
איך כל זה פועל יחד – הסבר כללי של זרימת המידע במודול
המודול YS-IRTM הוא מערכת חכמה ומוכנה מראש, שכל רכיב בו ממלא תפקיד מדויק בשרשרת הפעולה. הכול מתחיל כאשר שלט אינפרא־אדום שולח אות IR – והאות הזה מתקבל על ידי דיודת הקליטה האינפרא־אדומה, שפועלת בתדר של כ־38 קילו־הרץ. הדיודה מזהה את השידור וממירה אותו לאות חשמלי חלש מאוד.
🔄 כאן נכנס לפעולה המגבר – שמחזק את האות ומוודא שניתן יהיה לעבד אותו גם אם הגיע חלש או מרחוק. לאחר מכן, השבב הראשי (המוח של המודול) מקבל את האות המוגבר, מנתח אותו על פי פרוטוקול NEC, מזהה את הקוד שנשלח, ובונה מסגרת UART תקנית שתישלח החוצה למיקרו־בקר (למשל, Arduino או ESP32) דרך יציאת התקשורת הסיריאלית.
בכיוון ההפוך – אם נרצה לשלוח קוד מהבקר שלנו למודול (כדי להדליק מזגן, להעביר ערוץ בטלוויזיה וכו’) – המיקרו־בקר ישלח קוד פשוט דרך UART, והשבב החכם יטפל בהכול בעצמו: יבנה את האות לפי פרוטוקול NEC, יפעיל את דיודת השידור האינפרא־אדומה, וישדר את הפקודה בצורה מדויקת.
בסופו של דבר, מדובר במערכת מתואמת היטב – שבה כל רכיב תורם את חלקו, כך שאתם מקבלים מודול IR דו־כיווני חכם, פשוט לתכנות, ומוכן לשימוש.
סיכום: כך תשלבו את מודול YS-IRTM בפרויקטים שלכם
במהלך הפוסט, צללנו לעומק אחד המודולים המעניינים ביותר בעולם התקשורת הסיריאלית – מודול YS-IRTM. לא רק שפירקנו אותו לרכיביו המרכזיים, הבנו כיצד הוא בנוי פיזית ומה תפקידו של כל רכיב על הלוח, אלא גם ניתחנו כיצד כל החלקים עובדים יחד – בצורה אלגנטית, מדויקת, וחכמה.
למדנו כיצד השבב הפנימי מנהל את כל הקסם – מקליטת אותות אינפרא־אדום, דרך פענוח לפי פרוטוקול NEC, ועד שליחה סיריאלית ברורה וברורה לבקר החיצוני. ראינו כיצד ניתן בקלות לשלוח פקודות מה־Arduino או מה־ESP32, ולקבל בחזרה קודי שליטה – מבלי להתעסק בתדרים, קידודים או תזמונים מסובכים.
✅ הצגנו דוגמאות קוד פשוטות וידידותיות גם למתחילים
✅ למדנו כיצד להציג קלטים בצורה ברורה בעברית
✅ כתבנו הארות ברמה יסודית שמתאימות גם לתלמידי י’, גם לי”ב וגם לי”ד
✅ הרחבנו את ההסברים למתקדמים – בלי לוותר על נגישות והבנה
🎯 אם תיישמו את מה שלמדנו כאן – תוכלו בקלות לבנות מערכת שליטה חכמה שמגיבה לשלטים קיימים, לומדת מהם, ומשדרת בחזרה. זהו מודול עוצמתי שמתאים הן למתחילים והן למי שרוצים לקחת את הפרויקטים שלהם לרמה גבוהה יותר של שליטה ואוטומציה.
💬 אל תשכחו – החלק החשוב ביותר הוא לא רק מה המודול יודע לעשות – אלא איך אתם בוחרים לשלב אותו בפרויקט שלכם, מתוך הבנה מלאה של עקרונות העבודה והאפשרויות הטמונות בו.