כולנו מכירים את המילה 'אוטומציה', שם האינטראקציה האנושית היא מינימלית וניתן לשלוט בדברים באופן אוטומטי או מרחוק. אוטומציה ביתית היא תפיסה מאוד פופולארית ותובענית בתחום האלקטרוניקה, ואנחנו עושים את מירב המאמצים בכדי להפוך את הרעיון הזה למובן וניתן לניהול בקלות כפרויקטים אלקטרוניים. פיתחנו בעבר מספר סוגים של פרויקטים של אוטומציה ביתית עם וידאו וקוד עובד, אנא בדוק:
- אוטומציה ביתית מבוססת DTMF
- אוטומציה ביתית מבוססת GSM באמצעות Arduino
- אוטומציה ביתית מבוקרת באמצעות מחשב באמצעות Arduino
- אוטומציה ביתית מבוקרת באמצעות Bluetooth באמצעות 8051
- אוטומציה ביתית מרחוק IR באמצעות Arduino
ובפרויקט זה אנו הולכים לבנות את פרויקט האוטומציה הביתית הבא שלנו באמצעות MATLAB ו- Arduino, שהוא מערכת אוטומציה ביתית מבוססת GUI המשתמשת ב- Arduino ו- MATLAB
רכיבים:
- ארדואינו UNO
- כבל יו אס בי
- ULN2003
- ממסר 5 וולט
- נורה עם בעל
- חוטי חיבור
- מחשב נייד
- ספק כוח
- PVT
הסבר עבודה:
בפרויקט זה אנו משתמשים ב- MATLAB עם Arduino לשליטה במכשירי החשמל הביתיים, באמצעות ממשק משתמש גרפי במחשב. כאן השתמשנו בתקשורת קווית למשלוח נתונים מהמחשב (MATLAB) לארדואינו. בצד המחשב השתמשנו ב- GUI ב- MATLAB כדי ליצור כמה כפתורים לשליטה במכשירים ביתיים. לצורך תקשורת בין Arduino ל- MATLAB, ראשית עלינו להתקין את " MATLAB ו- Simulink Support for Arduino " או " Arduino IO Package ". לשם כך בצע את השלבים הבאים או בדוק את הסרטון למטה:
- הורד מכאן את חבילת ה- IO של Arduino. עליך להירשם לפני ההורדה.
- ואז צרוב / העלה את הקובץ adioe.pde לארדואינו באמצעות Arduino IDE. קובץ adioe.pde זה ניתן למצוא בחבילת IO של Arduino - ArduinoIO \ pde \ adioe \ adioe.pde
- ואז פתח את תוכנת MATLAB, עיין בתיקיית Arduino IO, פתח את הקובץ install_arduino.m והפעל אותו ב- Matlab. תראה הודעה של "תיקיות Arduino שנוספו לנתיב" בחלון הפקודה של MATLAB, כלומר נתיב MATLAB מעודכן לתיקיות Arduino.
ככה אנחנו מכינים את הארדואינו, מתקשרים עם MATLAB. השיטה הנ"ל מתאימה ל- "MATLAB R2013b או גרסאות קודמות", אם אתה משתמש בגרסה הגבוהה יותר של MATLAB (כמו R2015b או R2016a), תוכל ללחוץ ישירות על הכרטיסייה תוספות ב- MATLAB ואז ללחוץ על "קבל חבילות תמיכה בחומרה" מאיפה אתה יכול להתקין חבילות Arduino עבור MATLAB.
לאחר התקנת קבצים, כעת תוכל ליצור ממשק משתמש לפרוייקט אוטומציה ביתית. בעיקרון ב- GUI, אנו יוצרים לחצני כפתור לשליטה במכשירי החשמל הביתיים מהמחשב. ניתן ליצור לחצנים על ידי כניסה ל"ממשק משתמש גרפי "בתפריט" חדש "ב- MATLAB. בהמשך אנו יכולים להגדיר את השם והצבעים של כפתורים אלה, יצרנו 8 כפתורים, בהם שישה למצב ON ו- OFF שלושה מכשירי חשמל ביתיים ושני כפתורים ל- ON ו- OFF של כל המכשירים בו זמנית.
כעת לאחר יצירת הכפתורים, כאשר תלחץ על כפתור הפעלה בחלון GUI זה, הוא יבקש ממך לשמור קובץ GUI זה (עם סיומת.fig), המכונה גם ' קובץ תאנים'. ברגע ששמרת את הקובץ, הוא ייצור אוטומטית קובץ קוד (עם סיומת.m), המכונה גם ' קובץ M' (ראה להלן צילום מסך), שבו אתה יכול לשים את הקוד (ניתן בסעיף הקוד להלן). תוכלו להוריד את קובץ ה- GUI ואת קובץ ה- Code עבור פרויקט זה מכאן: Home_Automation_system.fig ו- Home_Automation_system.m (לחץ לחיצה ימנית ובחר שמור קישור בשם…), או שתוכל ליצור אותם בעצמך כמו שהסברנו.
לאחר הקידוד אתה יכול סוף סוף להפעיל את קובץ ה- m מחלון הקוד, תראה "ניסיון חיבור.." בחלון הפקודה. ואז מופיעה הודעת "ארדואינו התחבר בהצלחה", אם הכל ילך כשורה. ולבסוף תראה GUI (לחצנים) שנוצרו בעבר בחלון GUI, ממנו תוכל לשלוט במכשירי החשמל הביתיים על ידי לחיצה על הכפתורים במחשב שלך. וודא שארדואינו מחובר לארדואינו באמצעות כבל USB. כאן בפרויקט זה השתמשנו ב -3 נורות להפגנה, מה שמצביע על מאוורר, אור וטלוויזיה.
ניתן להבין את עבודתו של הפרויקט כולו, החל מהתקנת חבילת התמיכה של Arduino MATLAB ועד הפעלה או כיבוי של המכשיר, בסוף הסרטון.
הסבר מעגל:
מעגל הפרויקט הזה קל מאוד. כאן השתמשנו בלוח UNO של Arduino וב- ULN2003 ממסר ממסר לנהיגה ממסרים. שלושה ממסרי SPDT של 5 וולט מחוברים לסיכה ארדואינו מספר 3, 4 ו -5, באמצעות נהג ממסר ULN2003, לשליטה על LIGHT, FAN וטלוויזיה בהתאמה.
הסבר על תכנות:
כאשר אנו לוחצים על כפתור כלשהו מחלון ה- GUI, הוא שולח כמה פקודות לארדואינו ואז ארדואינו מבצע את הפעולה הזו. לאחר התקנת חבילת התמיכה של Arduino MATLAB IO, אנו יכולים לגשת ל- Arduino מה- MATLAB באמצעות אותן פונקציות Arduino, עם קצת וריאציה, כמו:
להכנת סיכה HIGH בארדואינו אנו כותבים קוד כ- DigitalWrite (pin, HIGH)
ב- MATLAB נשתמש בפונקציה זו בעזרת אובייקט או משתנה כמו, וכך גם הלאה.
לפני שעושים זאת עלינו לאתחל את המשתנה כך:
בפרויקט זה אין קוד ארדואינו מלבד קוד או קובץ חבילת התמיכה של Arduino MATLAB. כפי שהוסבר קודם לכן קובץ הקוד (קובץ m) נוצר באופן אוטומטי תוך שמירת קובץ ה- GUI (קובץ.fig). בקובץ.m כבר קיים קוד כלשהו. בעיקרון מדובר בפונקציות Callback עבור לחצני כפתור, כלומר אנו יכולים להגדיר מה צריך לקרות בלחיצה על כפתורי הלחיצה הללו.
בקוד MATLAB ראשית אנו מאתחלים יציאה טורית והופכים אותה לאובייקט באמצעות משתנה. ואז נוכל להתחיל לתכנת כמו Arduino באמצעות המשתנה.
ar ברור; אר גלובלית; ar = arduino ('COM13'); ar.pinMode (3, 'OUTPUT'); ar.pinMode (4, 'OUTPUT'); ar.pinMode (5, 'OUTPUT'); ar.pinMode (13, 'OUTPUT');
בפונקציית השיחה החוזרת של כל כפתור, כתבנו את הקוד הקשור להפעלה או כיבוי של מכשירי חשמל ביתיים בהתאמה, המחוברים לארדואינו באמצעות ממסר. כמו למשל, פונקציית ההתקשרות עבור Light ON ניתנת להלן:
פונקציה light_on_Callback (hObject, data data, handles)% hObject handle to light_on (ראה GCBO)% eventdata שמורים - להגדרה בגרסה עתידית של מבנה ידיות% MATLAB עם ידיות ונתוני משתמש (ראה GUIDATA) אר גלובלי; ar.digitalWrite (3, 1); ar.digitalWrite (13, 1);
כמו כן אנו יכולים לכתוב את הקוד בפונקציות Callback של כל הלחצנים, כדי לשלוט על מכשירי הבית המחוברים האחרים, בדוק את קוד ה- MATLAB המלא שלמטה (קובץ.m).