בעבר כיסינו סוגים רבים של אוטומציות ביתיות בטכנולוגיות שונות כמו אוטומציה ביתית מבוססת DTMF, אוטומציה ביתית מבוקרת באמצעות ארדואינו, אוטומציה ביתית מבוקרת באמצעות Bluetooth. בפרויקט זה אנו משתמשים בתקשורת אלחוטית מבוססת IR לשליטה במכשירים ביתיים. בפרויקט זה, Arduino משמש לשליטה בתהליך כולו. אנו שולחים כמה פקודות למערכת השליטה באמצעות IR TV / DVD / MP3 שלט לשליטה במכשירי חשמל ביתיים. לאחר קבלת אות משלט IR, Arduino שולח אות קשור לממסרים שאחראים על הפעלה או כיבוי של מכשירי החשמל הביתיים באמצעות מנהל התקן ממסר.
הסבר עבודה:
ניתן להבין בקלות את עבודתו של פרויקט זה. כאשר אנו לוחצים על כל כפתור של IR Remote אז השלט שולח קוד בצורה של רכבת של פולסים מקודדים באמצעות תדר של 38Khz. פולסים אלה מתקבלים על ידי חיישן TSOP1738 ונקראים על ידי Arduino ואז Arduino מפענח רכבת דופק שהתקבלה לערך hex ומשווה ערך מפוענח לערך hex מוגדר מראש של הלחצן. אם מתרחשת התאמה כלשהי אז Arduino מבצע פעולה יחסית והתוצאה המקבילה מוצגת גם על גבי LCD 16x2 באמצעות פקודות מתאימות. כאן בפרויקט זה השתמשנו ב -3 נורות בצבעים שונים, להדגמה המצביעות על מאוורר, אור וטלוויזיה.
ישנם סוגים רבים של IR Remote זמינים למכשירים שונים, אך רובם עובדים על אות תדרים של 38KHz. כאן בפרויקט זה אנו שולטים במכשירי חשמל ביתיים באמצעות שלט טלוויזיה IR. לאיתור אות מרחוק IR, אנו משתמשים במקלט IR IR TSOP1738. חיישן TSOP1738 זה יכול לחוש אות תדר של 38 קילו-הרץ. את העבודה של שלט ה- IR ואת ה- TSOP1738 ניתן לכסות בפירוט במאמר זה: משדר ומקלט IR
רכיבים:
- ארדואינו UNO
- TSOP1738
- שלט רחוק לטלוויזיה / DVD
- ULN2003
- ממסרים 5 וולט
- נורה עם בעל
- חוטי חיבור
- לוח לחם
- LCD בגודל 16x2
- ספק כוח
- PVT
- IC 7805
כאן בפרויקט זה השתמשנו בכפתור מספר 7, 8 ו- 9 של שלט IR, לשליטה במאוורר, באור ובטלוויזיה בהתאמה ולחצן הפעלה / כיבוי (כפתור הפעלה) משמש להפעלה וכיבוי של כל המכשירים בו זמנית.
כאן השתמשנו בשיטת החלפה להפעלה וכיבוי של המכשיר הביתי היחיד. החלף שיטה אינו אלא להשיג את זה בין אם לוחצים על הכפתור אפילו לא פעמים או לא פעמים מוזרות. זה נמצא על ידי קבלת התזכורת לאחר חלוקתה ב- 2 (i% 2), אם יש תזכורת כלשהי המכשיר יופעל ואם התזכורת היא 0 אז היא תושבת. נניח שמפתח 7 נלחץ בשלט ואז השלט שולח אות לארדואינו דרך מקלט ה- IR של ה- TSOP. ואז Arduino לפענח אותו ולאחסן את הערך המפוענח במשתנה התוצאות. כעת למשתנה התוצאות יש ערך hex 0x1FE00FF, לאחר התאמתו לערך ה- hex המוגדר מראש של מפתח 7 (ראה תמונה לעיל), Arduino מפעיל את המאוורר. עכשיו כשאנחנו לוחצים שוב על אותו מקש (מקש 7) אז IR שולח את אותו קוד. Arduino מקבל את אותו קוד ומותאם לאותו קוד כמו בעבר, אך הפעם מאוורר כבה בגלל החלפת הסיבית (i% 2).
פענוח אותות שלט רחוק IR באמצעות Arduino:
הנה רשימה של קודי פלט מקודדים מרחוק מסוג DVD NEC:
אם אינך יודע את הפלט המפענח עבור שלט ה- IR שלך, ניתן למצוא אותו בקלות, פשוט בצע את השלבים הבאים:
- הורד את הספרייה המרוחקת של IR מכאן
- פתח את רוכסן אותו והניח אותו בתיקיית 'ספריות' של Arduino. לאחר מכן שנה את שם התיקיה שחולצה ל- IRremote.
- הפעל את התוכנית שלמטה מהארדואינו שלך ופתח את החלון Serial Monitor ב- Arduino IDE. כעת לחץ על כל כפתור IR Remote ולראות את פלט ה- hex המקודד המתאים בחלון Serial Monitor.
* IRremote: IRrecvDemo - מדגים קבלת קודי IR עם IRrecv * יש לחבר גלאי IR / demodulator לכניסה RECV_PIN. * גרסה 0.1 ביולי, 2009 * זכויות יוצרים 2009 קן שירף * http://arcfn.com * / # כלול
התוכנית לעיל לקוחה מתיקיית 'דוגמאות' של ספריית IRremote, תוכל לבדוק דוגמאות נוספות כדי ללמוד עוד על השימוש בשלט הרחוק. אז ככה פענחנו את פלט ה- IR המרוחק.
תיאור המעגל:
חיבורים למעגל זה פשוטים מאוד כאן משתמשים בתצוגת גביש נוזלי להצגת מצב של מכשירי חשמל ביתיים המחוברים ישירות לארדואינו במצב 4 סיביות. סיכות נתונים של LCD כלומר RS, EN, D4, D5, D6, D7 מחוברות לסיכה דיגיטלית של ארדואינו מספר 6, 7, 8, 9, 10, 11. וסיכת הפלט של TSOP1738 מחוברת ישירות לסיכה דיגיטלית מספר 14 (A) של ארדואינו. וסיכת Vcc מחוברת +5 וולט וסיכה GND המחוברת במסוף הקרקע של המעגל. נהג ממסר כלומר ULN2003 משמש גם לנסיעה ממסרים. ממסרי SPDT 3 5 וולט משמשים לשליטה על LIGHT, FAN וטלוויזיה. וממסרים מחוברים לסיכה ארדואינו מספר 3, 4 ו -5 באמצעות מנהל ההתקן ממסר ULN2003 לשליטה על LIGHT, FAN וטלוויזיה בהתאמה.
תיאור קוד:
בתכנות חלק מפרויקט זה קודם כל בתכנות אנו כוללים ספרייה לשלט רחוק אשר זמינה בקלות בגוגל. ולהגדיר סיכה ולהצהיר על משתנים.
#לִכלוֹל
ואז כולל כותרת לתצוגת גביש נוזלי ואז אנו מגדירים נתונים וסיכות בקרה עבור LCD ומכשירים ביתיים.
#לִכלוֹל
אחריה עלינו לאתחל את ה- LCD ולתת כיוון של סיכה המשמשים למאוורר, אור וטלוויזיה.
הגדרת חלל () {Serial.begin (9600); lcd.begin (16,2); pinMode (מאוורר, OUTPUT); pinMode (אור, OUTPUT); pinMode (טלוויזיה, OUTPUT);
כפי שכבר הוסבר, חלק מתחת לקוד משמש להשוואת ערך ה- hex שהתקבל לקוד ה- hex שהוגדר כבר של אותו כפתור. אם זה תואם, מבצעים פעולה יחסית על ידי שימוש בפונקציות מתאימות המופיעות בקוד.
loop loop () {if (irrecv.decode (& results)) {Serial.println (results.value, HEX); עיכוב (100); lcd.setCursor (0,0); lcd.print ("טלוויזיה מאוורר קל"); אם (results.value == 0x1FE00FF) {i ++; int x = i% 2; digitalWrite (מאוורר, x);