יום שלישי, 11 בפברואר 2020

ארדואינו ושליטה באמצעות אינפרא אדום (IR)

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

נתחיל?...

רכיבים:

  • לוח ארדואינו Uno 
  • חיישן אינפרא אדום (IR sensor)
  • כמה חוטים
  • שלט אינפרא אדום כלשהו... 
נוכל לבחור איזה שלט שנרצה - אם הוא עובד בטכנולוגיה של אינפרא אדום. 



נרכיב את החיישן כמתואר בתרשים: 

1. את יציאת ה GND או ה (-) של החיישן נחבר אל ה GND בארדואינו 
2. את יציאת ה S - נחבר אל יציאה 11 בארדואינו. 
3. את יציאת ה VCC בחיישן (אצלי היא ללא סימון, היציאה האמצעית) נחבר ל 5V בארדואינו. 



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

נלחץ על "סקיצה" >>> לאחר מכן על "Include library" >>> ולבסוף על "Manage Libraries" כמתואר בתמונה: 


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


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

כעת, נשאר לנו רק להעלות את הקוד. הכנסו בתכנת הארדואינו ל"קובץ" בחרו ב"דוגמאות" ומתוך הדוגמאות של ה IRremote בחרו ב "IRrecvDemo". 

לנוחיותכם, אני מצרף את הקוד גם כאן: 


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


שימו לב שהסימן FFFFFFFF מייצג קריאה כפולה ברצף של אותו הלחצן. בקיצור - תתעלמו...

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


לאחר שהבנו מה "משדר" כל כפתור, נוכל לבנות את המעגל שלנו ולשלוט בעזרת השלט על נורת לד. בשביל הנוחות, בחרתי בכפתור ההדלקה של השלט על מנת שידליק נורת לד. הכפתור השמאלי של השלט - יכבה את הנורה.

נשדרג את המעגל ונוסיף לו נורת לד:


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




שימו לב לכתוב את הקוד במבנה הנכון, כלומר A5C1 יהפוך ל 0xA5C1.

וכמה משימות:

1. נסו להוסיף נורות נוספות למעגל ולשלוט עליהם בעזרת לחצנים אחרים.
2. נסו לגרום לאותו הלחצן להדליק ולכבות את הנורה לסירוגין.
3. חברו נורת RGB לארדואינו ושנו את הצבע שלה בעזרת הכפתורים השונים של השלט.

בהצלחה!! 

4 תגובות:

  1. איך אני יודע איך קוראים לשלט שלי?

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

    השבמחק
  3. תודה רבה אני היתתי תלמיד שלך מדורונים פתח תקווה

    השבמחק

הערות? הארות? יש לך משהו חשוב לספר לכולם? שאלות?

נשמח לשמוע!

(התגובה תפורסם בהקדם בכפוף לאישור מערכת מייקינג)