- רכיבים נדרשים לבניית תריסים אוטומטיים של Arduino
- שליטה על תריסי גלילה באמצעות ארדואינו
- תכנן ובנה את ציוד עיוור החלונות
- הדפסת תלת מימד את מחזיק המנוע וציוד העיוור
- תרשים מעגל לבקרת תריסי Arduino
- יישום Blynk לבקרת עיוור של Arduino
- תכנות NodeMCU לבקרת תריסים באמצעות Blynk
- שליטה בתריסי חלונות באמצעות Google Assistant
- בקרת עיוור חלונות אוטומטית מבוססת ארדוינו - הדגמה
"בוקר טוב. השעה 7 בבוקר מזג האוויר במאליבו הוא 72 מעלות… "אלה היו המילים הראשונות של JARVIS כשהוצגו ביקורת הקולנוע של מארוול. רוב אוהדי איש הברזל אמורים להיות מסוגלים להיזכר בסצינה הזו ולזכור ש- JARVIS הצליח לפתוח חלון (סוג של) בבוקר ולתת עדכונים בזמן ובמזג האוויר. בסרט החלון משקפיים היו עשויים למעשה מציג מגע שקוף ומכאן JARVIS הצליח לגרום לו להפוך משחור לשקוף וגם להציג עליו סטטיסטיקות מזג אוויר. אך למעשה, אנו רחוקים ממסכי מגע שקופים, וככל שנוכל להתקרב יותר הוא לשלוט בתריסי חלונות או באילוצים באופן אוטומטי.
לכן, בפרויקט זה, אנו הולכים לבנות בדיוק את זה, נבנה תריס ממונע אוטומטי שייפתח וייסגר אוטומטית בזמנים שהוגדרו מראש. בעבר בנינו פרויקטים רבים של אוטומציה ביתית בהם אוטומטנו את התאורה, המנועים וכו '. תוכלו לבדוק אותם אם אתם מעוניינים בכך. אז כשחוזרים, תריסים מבוקרים של Arduino יכולים גם לקחת פקודות מהעוזר של גוגל, כך שתוכלו לפתוח או לסגור את תריסי החלון מרחוק באמצעות פקודות קוליות. מסקרן? ואז, בואו נבנה אותו.
רכיבים נדרשים לבניית תריסים אוטומטיים של Arduino
הפרויקט פשוט יחסית ואין צורך במרכיבים רבים. פשוט אסוף את הפריטים המפורטים להלן.
- NodeMCU
- מנוע צעד - 28BYJ-48
- מודול נהג מנוע צעד
- LM117-3.3V
- קבלים (10uf, 1uf)
- מתאם DC 12V
- לוח Perf
- ערכת הלחמה
- מדפסת תלת מימד
שליטה על תריסי גלילה באמצעות ארדואינו
כעת ישנם סוגים רבים של תריסים בשוק, אך הנפוץ ביותר כולל חבל עם חרוזים (כפי שמוצג להלן) שניתן למשוך כדי לפתוח או לסגור את התריסים.
כאשר אנו מושכים את החבל העגול הזה בכיוון השעון, תריסי החלון ייפתחו וכאשר אנו מושכים בחבל זה בכיוון נגד כיוון השעון, תריסי החלון ייסגרו. לכן, אם היינו מבצעים אוטומציה של התהליך הזה, כל שעלינו לעשות הוא להשתמש במנוע כדי למשוך את החבל בכיוון השעון או נגד כיוון השעון ונסיים עם זה. למעשה, זה מה שאנחנו הולכים לעשות בפרויקט זה; נשתמש במנוע הצעד 28BYJ-48 יחד עם NodeMCU כדי למשוך את החבל בחרוזים.
תכנן ובנה את ציוד עיוור החלונות
החלק האלקטרוניקה של פרויקט זה היה פשוט למדי וישר קדימה, החלק המאתגר היה בבניית הציוד העיוור שיכול למשוך את החבל בחרוזים. אז בואו נתחיל את המאמר הזה עם עיצוב הילוכים עיוורים, אני לא מתכוון לפרט כיצד לעצב את הציוד, אך הרעיון הבסיסי הזה אמור לעזור לכם. תמונה של החבל עם החרוזים עליו מוצגת למטה.
שוב, ישנם סוגים רבים של חבלים אך החבלים הנפוצים ביותר הם המרחק בין מרכז למרכז של כל חרוזים הוא 6 מ"מ והקוטר של כל חרוז הוא 4 מ"מ. באמצעות מידע זה נוכל להתחיל בתכנון הציוד שלנו. אם לחבל על התריסים יש את אותם המידות כפי שנדונו, תוכלו פשוט לדלג על שלב זה ולהוריד את קובץ ה- STL המסופק במאמר זה ולהדפיס את הציוד. אם בחבל שלך יש סידור חרוזים אחר, כך עליך לעצב מחדש את הציוד העיוור.
החלטתי שיהיו לי 24 חרוזים על הציוד שלי כדי לקבל גודל גלגל הילוך מיטבי, אתה יכול לבחור כל מספר קרוב לזה כדי שגלגל ההילוכים שלך יהיה גדול או קטן. אז עכשיו, אנחנו יודעים שהמרחק בין כל חרוזים הוא 6 מ"מ ואנחנו צריכים 24 חרוזים על הציוד שלנו. הכפלת שניהם תתן את היקף גלגל ההילוכים. בעזרת נתונים אלה תוכלו לחשב את רדיוס גלגל ההילוכים. כפי שניתן לראות בתמונה לעיל, קוטר גלגל ההילוכים שלי מחושב סביב 46 מ"מ. אבל זכרו, זה לא הקוטר האמיתי של ההילוך מכיוון שלא התחשבנו בקוטר החרוז שהוא 4 מ"מ. אז, הקוטר בפועל של גלגל ההילוכים יהיה 42 מ"מ, הדפסתי ובדקתי גלגלי הילוך רבים לפני שמצאתי את זה שעובד הכי טוב. אם אתה לא עוסק בעיצובים,פשוט הורד והדפס את קבצי ה- STL מהפסקה הבאה והמשיך בפרויקט שלך.
הדפסת תלת מימד את מחזיק המנוע וציוד העיוור
יחד עם הציוד, נצטרך מעטה קטן שניתן לקדוח על הקיר ולהחזיק את מנוע הצעד במצב, גם המעטפת וגם הציוד המשמש בפרויקט זה מוצגים להלן.
אתה יכול למצוא קבצי עיצוב מלאים וקבצי STL בדף Arduino Blind Control Thingiverse המופיע להלן. אתה יכול פשוט להוריד ולהדפיס את הציוד העיוור ואת מארז המנוע שלך.
הורד קבצי STL עבור ציוד עיוור ומארז מוטורי
תרשים מעגל לבקרת תריסי Arduino
ברגע שאתה מוכן עם הציוד וההרכבה, קל להמשיך עם חלק האלקטרוניקה והתוכנה. תרשים המעגל השלם לפרויקט בקרת עיוור IoT מוצג להלן.
השתמשנו במתאם 12V להפעלת כל ההתקנה; הרגולטור LM1117-3.3V ממיר את 12V ל- 3.3V אשר באמצעותו ניתן להניע את לוח NodeMCU. מודול מנוע הצעד המופעל ישירות מהמתאם 12V. ניסיתי להפעיל את מנוע הצעד על 5 וולט, אבל אז הוא לא סיפק מספיק מומנט כדי למשוך את התריסים, אז וודא שאתה משתמש גם ב 12 וולט.
מלבד זאת, המעגל הוא די פשוט, אם אתה חדש במנועי צעד, עיין ביסודות המאמר של מנוע צעד כדי להבין כיצד הוא עובד וכיצד ניתן להשתמש בו עם מיקרו-בקר.
יישום Blynk לבקרת עיוור של Arduino
לפני שנכנס לתוכנית Arduino לבקרת תריסים, מאפשר לפתוח את יישום ה- blynk וליצור כמה כפתורים שבאמצעותם נוכל לפתוח או לסגור את התריסים שלנו. אנו נצטרך זאת בהמשך כדי לשלוט מבית גוגל.
הרגע הוספתי שני כפתורים לפתיחה וסגירה של התריסים וטיימר חד פעמי לפתיחת התריסים בשעה 10:00 בכל יום. אתה יכול להוסיף טיימרים מרובים כדי לפתוח או לסגור את התריסים במרווחי זמן שונים של היום. בעיקרון, כאשר עלינו לסגור את התריסים, עלינו להפעיל סיכה וירטואלית V1 וכאשר עלינו לפתוח את התריסים, עלינו להפעיל סיכה וירטואלית V2. התוכנית לשליטה על מנוע הצעד בהתבסס על הכפתור שנלחץ כאן תיכתב על ה- Arduino IDE, כך נדון להלן.
תכנות NodeMCU לבקרת תריסים באמצעות Blynk
את קוד ה- ESP8266 השלם עבור פרויקט בקרת עיוורים זה ניתן למצוא בתחתית עמוד זה. התוכנית שלנו צריכה לחכות לפקודה מיישום ה- blynk ועל סמך פקודה זו עלינו לסובב את מנוע הצעד בכיוון השעון או בכיוון נגד כיוון השעון. להלן נדבר על החלקים החשובים של הקוד.
על פי דיאגרמת המעגל שלנו, השתמשנו בסיכות דיגיטליות 1, 2, 3 ו -4 ב- nodemcu כדי לשלוט במנוע הצעד שלנו. לכן עלינו ליצור מופע הנקרא stepper באמצעות סיכות אלה כמוצג להלן. שימו לב שהגדרנו את הסיכות בסדר 1, 3, 2 ו- 4. זה נעשה במכוון ואינו טעות; עלינו להחליף סיכות 2 ו -3 כדי שהמנוע יעבוד כמו שצריך.
// צור מופע של מחלקת הצעדים באמצעות הצעדים והסיכות Stepper stepper (STEPS, D1, D3, D2, D4);
בשלב הבא עלינו לשתף את אסימון אימות יישומי ה- blynk שלנו ואת אישורי ה- Wi-Fi שאליהם יש לחבר את בקר ה- IoT Blind שלנו. אם אינך בטוח כיצד להשיג אסימון זה של Blynk auth, עיין בפרויקט Blynk LED Control כדי להבין את היסודות של יישום ה- blynk וכיצד להשתמש בו.
// כדאי לקבל אסימון Auth באפליקציית Blynk. // עבור אל הגדרות הפרויקט (סמל אגוז). char auth = "l_b47mF1hioCc_7FzdKMJJeFnJjTxxxx"; // אישורי ה- WiFi שלך. // הגדר סיסמה כ "" עבור רשתות פתוחות. char ssid = "CircuitDigest"; מעבר צ'אר = "dummy123";
בהמשך לקוד שלנו, לאחר פונקציית ההתקנה, הגדרנו שתי שיטות עבור blynk. כאמור, עלינו להגדיר מה צריך לעשות סיכות וירטואליות V1 ו- V2. הקוד עבור אותו ניתן להלן.
BLYNK_WRITE (V1) // סגור את ה- BLINDS {Serial.println ("סגירת תריסים"); אם (נפתח == נכון) {עבור (int c_val = 0; c_val <= 130; c_val ++) // סובב נגד כיוון השעון לסגירת {stepper.step (c_val); תְשׁוּאָה(); } סגור = נכון; נפתח = שקר; disable_motor (); // תמיד צריך להשתמש במנועי צעד לאחר השימוש כדי להפחית את צריכת החשמל והחימום}} BLYNK_WRITE (V2) // פתח את BLINDS {Serial.println ("פתיחת תריסים"); אם (סגור == נכון) {עבור (int cc_val = 0; cc_val> = -130; cc_val--) // סובב בכיוון השעון לפתיחת {stepper.step (cc_val); תְשׁוּאָה(); } נפתח = נכון; סגור = שקר; } השבת_מנוע (); // תמיד כדאי להשתמש במנועי צעד לאחר השימוש כדי להפחית את צריכת החשמל והחימום}
כפי שניתן לראות V1 משמש לסגירת התריסים ו- V2 משמש לפתיחת התריסים. עבור לולאה משמש כדי לסובב את המנועים עם כיוון השעון או נגד כיוון השעון על 130 מדרגות. התנסיתי בתריסים שלי כדי לגלות שעם 130 צעדים אני מסוגל לפתוח ולסגור את התריסים באופן מלא. המספר שלך עשוי להשתנות. לולאת ה- for לסובב את מנוע הצעד בכיוון השעון ונגד כיוון השעון מוצג להלן.
עבור (int c_val = 0; c_val <= 130; c_val ++) // סובב נגד כיוון השעון לסגירת {stepper.step (c_val); תְשׁוּאָה(); } עבור (int cc_val = 0; cc_val> = -130; cc_val--) // סובב בכיוון השעון לפתיחת {stepper.step (cc_val); תְשׁוּאָה(); }
אתה יכול גם להבחין בשני משתנים בוליאניים "נפתחים" ו"סגורים "בתוכנית שלנו. שני המשתנים הללו משמשים למניעת פתיחה או סגירה של התריסים פעמיים. כלומר, התריסים ייפתחו רק כשהם סגורים בעבר והיא תיסגר רק כשנפתחה בעבר.
כיצד להגביר את המהירות של מנוע הצעד 28BJY-48?
חסרון אחד בשימוש במנוע הצעד 28BJY-48 הוא שהוא איטי מאוד. מנועים אלו יוצרו במקור לשימוש ביישומים במהירות נמוכה ובדיוק גבוה, לכן אל תצפו שמנועים אלה יסתובבו במהירות גבוהה. אם אתה רוצה להגביר את המהירות של מנוע הצעד באמצעות Arduino, ישנם שני פרמטרים שאתה יכול לשנות. האחד הוא ה- #define STEPS 64, גיליתי שכאשר הצעדים מוגדרים כ- 64, המנוע היה מהיר יחסית. פרמטר נוסף הוא stepper.setSpeed (500); שוב מצאתי ש- 500 הוא ערך אופטימלי, שום דבר מעבר לכך הופך את מנוע הצעד לאיטי יותר.
האם אתה יודע דרך אחרת להגביר את המהירות של מנועים אלה? אם כן, השאר אותם בסעיף ההערות למטה.
כיצד למנוע התחממות יתר של מנוע הצעד?
יש תמיד להשבית מנועי צעד כאשר הם אינם בשימוש כדי למנוע התחממות יתר. השבתת מנוע צעד היא פשוטה מאוד; פשוט שנה את מצב הסיכה של כל ארבעת הפינים של GPIO השולטים על מנוע הצעד נמוך. זה חשוב מאוד, אחרת המנוע שלך עלול להתחמם מאוד ב + 12 וולט ולפגוע בעצמו לצמיתות. התוכנית להשבית את מנוע הצעד מובאת להלן.
בטל disable_motor () // כבה את המנוע בסיום כדי למנוע חימום {digitalWrite (D1, LOW); digitalWrite (D2, LOW); digitalWrite (D3, LOW); digitalWrite (D4, LOW); }
שליטה בתריסי חלונות באמצעות Google Assistant
אנחנו הולכים להשתמש ב- API של blynk כדי לשלוט בתריסים באמצעות העוזר של גוגל, זה יהיה דומה לפרויקט האוטומציה הביתית הנשלטת על ידי קול שלנו, אז בדקו אם יש לכם עניין. בעיקרון, עלינו להפעיל את הקישור שלהלן כאשר אנו אומרים ביטוי שהוגדר מראש ל- Google Assistant.
//http://188.166.206.43/l_b47mF1hioCc_7FzdKMJJeFnJjTxxxx/update/V1?value=1 /
הקפד לשנות את אסימון האימות לזה שמספק יישום ה- blynk שלך. אתה יכול אפילו לבדוק קישור זה בדפדפן הכרום שלך כדי לראות אם הוא פועל כצפוי. כעת, כשהקישור מוכן, עלינו פשוט לעבור ל- IFTTT וליצור שתי יישומונים שיכולים להפעיל סיכה וירטואלית V1 ו- V2 כאשר אנו מבקשים לסגור ולפתוח את התריסים. שוב, אני לא נכנס לפרטים של זה כי עשינו זאת פעמים רבות. אם אתה זקוק לעזרה נוספת, עיין בפרויקט זה של רדיו FM בשליטה קולית, פשוט החלף את שירותי adafruit ב- webhooks. אני משתף גם צילום מסך של הטקסט שלי לעיון.
בקרת עיוור חלונות אוטומטית מבוססת ארדוינו - הדגמה
לאחר שהמעגלים והמארזים המודפסים בתלת מימד מוכנים, פשוט הרכיבו את המכשיר על הקיר על ידי קידוח שני חורים על הקיר. הגדרת ההרכבה שלי מוצגת בתמונות למטה.
לאחר מכן, ודא שהתריסים שלך במצב פתוח ואז הפעל את המעגל. עכשיו, אתה יכול לנסות לסגור את התריסים מיישום blynk או דרך Google Assistant וזה אמור לעבוד. ניתן גם להגדיר טיימרים ביישום ה- blynk לפתיחה וסגירה אוטומטית של עיוורים בשעה מסוימת ביום.
את העבודה המלאה של הפרויקט ניתן למצוא בסרטון הבא: אם יש לך שאלות, אל תהסס לכתוב אותן בסעיף ההערות למטה. כמו כן, תוכלו להשתמש בפורומים שלנו לדיונים טכניים אחרים.