כיצד לעצב אוטומציה ביתית המופעלת באמצעות קול?

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



אוטומציה ביתית נשלטת על ידי קול

כיצד להפוך מכשירי חשמל לבית לאוטומטיים באמצעות Arduino?

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



שלב 1: רכיבים בשימוש (חומרה)

  • ארדואינו אונו
  • מודול בלוטות 'HC-05
  • טרנזיסטור 2N2222 NPN
  • מודול ממסר 12V
  • נגד 1k-ohm
  • מתאם זרם מתח 12 וולט
  • דיודת צומת PN 1N4007
  • חוטי מגשר

שלב 2: רכיבים בשימוש (תוכנה)

  • Proteus 8 Professional (ניתן להוריד מ- כאן )

לאחר הורדת ה- Proteus 8 Professional, תכננו את המעגל עליו. כללנו כאן הדמיות תוכנה כדי שיהיה נוח למתחילים לעצב את המעגל ולבצע חיבורים מתאימים לחומרה.



שלב 3: לימוד הרכיבים

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



  1. ארדואינו UNO: UNO Arduino הוא לוח מיקרו-בקר הכולל מיקרו שבב ATMega 328P והוא פותח על ידי Arduino.cc. בלוח זה יש סט פינים נתונים דיגיטליים ואנלוגיים הניתנים להתממשקות עם לוחות הרחבה או מעגלים אחרים. בלוח זה יש 14 פינים דיגיטליים, 6 פינים אנלוגיים וניתנים לתכנות עם ה- Arduino IDE (סביבת פיתוח משולבת) באמצעות כבל USB מסוג B. זה דורש 5 וולט לחשמל עַל ו קוד C להפעיל.

    ארדואינו UNO

  2. משדר סידורי אלחוטי Bluetooth HC-05 : אנו זקוקים לתקשורת אלחוטית בפרויקט זה, לכן נשתמש בטכנולוגיית Bluetooth ולמודול זה שישמש הוא HC-05. למודול זה מספר קצב שידור לתכנות אך קצב שידור ברירת המחדל הוא 9600 bps. ניתן להגדיר אותו כאדון או כעבד, ואילו מודול אחר HC-06 יכול לעבוד רק במצב עבד. למודול זה ארבעה פינים. אחד ל- VCC (5V) והשלושה הנותרים ל- GND, TX ו- RX. סיסמת ברירת המחדל של מודול זה היא 1234 אוֹ 0000 . אם אנו רוצים לתקשר בין שני מיקרו-בקרים או לתקשר עם כל מכשיר עם פונקציונליות Bluetooth כמו טלפון או מחשב נייד HC-05 עוזר לנו לעשות זאת. כמה יישומי אנדרואיד כבר זמינים מה שהופך את התהליך הזה להרבה יותר קל.

    מודול בלוטות 'HC-05

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

    אפליקציית בקרת קול BT



  4. מודול ממסר 12 V: אם מישהו רוצה להחליף עומס מתח גבוה ממיקרו-בקר, לוח ממסר 12V זה יכול לעשות זאת. הוא מכיל 8 x 12V ממסרים בעלי דירוג של 10A / 250V AC (DC 30V / 10A). כל מודול ממסר מופעל / כובה על ידי כניסה דיגיטלית מבודדת הניתנת לחיבור ישיר לסיכת פלט מיקרו-בקר. זה רק דורש מתח של 1.0 וולט בכדי להפעיל את הכניסות אך יכול להתמודד עם מתח כניסה עד 12 וולט. זה הופך אותו לאידיאלי עבור מכשירי 5V ו- 3.3V. ניתן לרכוש את מודול הממסר בהתאם למספר המכשירים שברצונך לשלוט בו. לדוגמא, אם ברצונך לשלוט על 4 מכשירים, עליך לקנות מודול ממסר 4.

    מודול ממסר 12V

שלב 4: הבנת תכנון מעגלים בעזרת דיאגרמת מעגלים

ראשית, עלינו לחבר את HC-05 עם Arduino UNO. מכיוון ש- Bluetooth משתמש בפרוטוקול UART, עלינו להשתמש בסיכות RX ו- TX של הארדואינו. נשתמש בספריית 'SoftwareSerial' להגדרת סיכות RX ו- TX משלנו (סיכה 2 היא RX וסיכה 3 היא TX). סיכת ה- RX של מודול ה- Bluetooth וסיכת ה- TX של ה- Arduino ינותקו. שנית, נחבר את הממסרים לארדואינו. השתמשנו בלוח ממסר מוכן עם 4 ערוצים, לכן עלינו לחבר את הכניסות של הממסרים הבודדים לארדואינו. לחיבור העומס למודול הממסר עיין בתרשים להלן:

הרכבת מעגל מודול הממסר

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

תרשים מעגלים

שלב 5: עקרון העבודה של הפרויקט

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

כעת חבר את הטלפון למודול ה- Bluetooth. לחץ על האפשרות “ חבר רובוט ”ובחר את התקן ה- Bluetooth המתאים. אם המכשירים לא הותאמו קודם לכן, התאם אותם כעת על ידי הזנת הסיכה 0000 אוֹ 1234.

זיווג סמארטפון

לאחר חיבור מוצלח, המכשירים מוכנים להעברת נתונים. להעברת נתונים, לחץ על סמל המיקרופון באפליקציה והתחל לתת פקודות קוליות. ודא שתכונת זיהוי הקול מופעלת בסמארטפון שלך (בדרך כלל זה משויך לאפליקציית Google). לדוגמא, כשאנחנו לוחצים על סמל המיקרופון ואומרים 'להדליק את האור', היישום יזהה את הפקודה ויעביר אותה למודול Bluetooth.

זיהוי קול

כאשר המחרוזת מזוהה על ידי היישום, היא תשלח את המחרוזת כ'דליק אור # 'וההודעה בפועל שהתקבלה על ידי מודול Bluetooth כוללת סוג זה של פורמט ( '*הוֹדָעָה#' ). הסיבה לריפוד '*' ו- '#' בקבצנות ובסוף המחרוזת היא זיהוי ההתחלה והסוף של המסר. ההודעה שהתקבלה מושווה לכמה מחרוזות שהוגדרו מראש ואם ההודעה תואמת איתן מתרחשת הפעולה המתאימה כמו 'הפעלה' וכיבוי.

בפרויקט זה השתמשנו בפקודות הבאות: 'הפעל AC', 'כבה את AC', 'הדליק אור', 'כבה את האור', 'הפעל טלוויזיה', 'כבה את הטלוויזיה', 'הפעל את המאוורר ',' הפעל הכל 'ו'כבה את הכל'.

שלב 6: תחילת העבודה עם Arduino

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

1). כאשר לוח ה- Arduino מחובר למחשב האישי שלך, פתח את 'לוח הבקרה' ולחץ על 'חומרה וצליל'. לאחר מכן לחץ על 'התקנים ומדפסות'. מצא את שם הנמל שאליו מחובר לוח הארדואינו שלך. במקרה שלי זה 'COM14' אבל זה יכול להיות שונה במחשב האישי שלך.

מציאת נמל

2). עכשיו פתח את ה- IDE של ארדואינו. מתוך כלים, הגדר את לוח Arduino ל ארדואינו / Genuino UNO.

לוח הגדרה

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

הגדרת נמל

4). כדי להשתמש באפליקציה נשלטת קולית זו, אנו זקוקים לספרייה מיוחדת שתכלול ב- Arduino IDE. ספרייה זו מצורפת בקישור למטה, יחד עם הקוד. כדי לכלול את הספרייה עבור אל סקיצה> כלול ספרייה> הוסף ZIP. סִפְרִיָה .

כלול ספרייה

5). הורד את הקוד המצורף למטה והעתק אותו ל- IDE שלך. להעלאת הקוד לחץ על כפתור ההעלאה.

אתה יכול להוריד את הקוד על ידי לחיצה כאן.

שלב 7: הבנת הקוד

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

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

# כלול const int rxPin = 2; // אתחל את ה- pisns עבור מודול Bluetooth const int txPin = 3; SoftwareSerial mySerial (rxPin, txPin); int ac = 4; // אתחל סיכות למכשירי חשמל ביתיים int light = 5; מאוורר int = 6; int tv = 7; נתוני מחרוזת;

2. הגדרת בטל () היא פונקציה בה אנו מגדירים את הסיכות האתחוליות שישמשו כ- INPUT ו- OUTPUT. כאן גם מאותחל קצב שידור. Baud Rate הוא המהירות שבה לוח הארדואינו מתקשר עם הרכיבים המצורפים. בתפקידנו, הגדרנו את כל הפינים המחוברים למכשירים נָמוּך.

הגדרת חלל () {Serial.begin (9600); mySerial.begin (9600); pinMode (ac, OUTPUT); pinMode (אור, OUTPUT); pinMode (מאוורר, OUTPUT); pinMode (טלוויזיה, OUTPUT); digitalWrite (ac, LOW); digitalWrite (אור, נמוך); digitalWrite (מאוורר, LOW); digitalWrite (טלוויזיה, LOW); }

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

while (1) // קבלת קלט סדרתי {while (mySerial.available ()<=0); ch = mySerial.read(); if(ch=='#') break; data+=ch; }

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

אם (נתונים == '* הפעל AC') {digitalWrite (ac, HIGH); Serial.println ('ac on'); } אחר אם (נתונים == '* כבה את AC') {digitalWrite (ac, LOW); Serial.println ('ac off'); } אחר אם (נתונים == '* מדליקים אור') {digitalWrite (אור, HIGH); Serial.println ('אור דולק'); } אחר אם (נתונים == '* כבה את האור') {digitalWrite (אור, נמוך); Serial.println ('כיבוי אור'); } אחר אם (data == '* להפעיל מאוורר') {digitalWrite (מאוורר, HIGH); Serial.println ('מאוורר מופעל'); } אחר אם (data == '* כבה את המאוורר') {digitalWrite (מאוורר, LOW); Serial.println ('מאוורר כבוי'); } אחר אם (data == '* להפעיל טלוויזיה') {digitalWrite (tv, HIGH); Serial.println ('טלוויזיה מופעלת'); } אחרת אם (data == '* להפעיל טלוויזיה') {digitalWrite (tv, LOW); Serial.println ('טלוויזיה כבויה'); } אחר אם (נתונים == '* הפעל הכל') {digitalWrite (ac, HIGH); digitalWrite (אור, HIGH); digitalWrite (מאוורר, HIGH); digitalWrite (tv, HIGH); Serial.println ('הכל מופעל'); } אחר אם (נתונים == '* כבה הכל') {digitalWrite (ac, LOW); digitalWrite (אור, נמוך); digitalWrite (מאוורר, LOW); digitalWrite (טלוויזיה, LOW); Serial.println ('הכל כבוי'); }}

יישומים

  1. מערכת האוטומציה הביתית המופעלת באמצעות קולי תעזור לנו לשלוט בעומסים שונים (מכשירים חשמליים) באמצעות פקודות קוליות פשוטות.
  2. אנשים עם מוגבלות יכולים לקבל הרבה יתרונות מהפרויקט הזה כאילו הם לא מסוגלים להסתובב הם יכולים לתת פקודה קולית ולפנות עַל אוֹ כבוי את המכשיר.
  3. ניתן להרחיב פרויקט זה גם על ידי הוספת חיישנים שונים (אור, עשן וכו ').