- חומרים נדרשים:
- מתודולוגיית עבודה:
- דרישות קדם:
- עבודה של שלט AC:
- תרשים מעגל והסבר:
- פענוח אותות מרחוק AC:
- תוכנית ארדואינו ראשית:
- התקנת אפליקציית Android:
- עבודה של AC בשליטה בטלפון נייד:
בעולם המודרני של ימינו, לאן שלא נלך, יש סביבנו הרבה מכשירים אלקטרוניים. אבל, מכל, יש רק מכשיר אחד שיש לנו באופן אישי כל הזמן. כן, זה הטלפונים הניידים שלנו. עכשיו טלפונים ניידים הפכו ליותר ממכשיר המשמש לתקשורת, הם המצלמות שלנו, הם המפות שלנו, הם עגלות הקניות שלנו ומה לא?
עם יכולת זו בידינו, זה באמת רעיון משעמם להשתמש בשלט רחוק כדי לשלוט בכל היישומים האלקטרוניים בבית שלנו כמו טלוויזיה, AC, קולנוע ביתי וכו '. זה תמיד מתסכל להגיע לשלט הרחוק מהנוחות הנוחה של המיטה שלנו. או ספה. מכאן שבפרויקט זה אנו הולכים לבנות מערך קטן באמצעותו תוכלו לשלוט על המזגן באמצעות הטלפון החכם שלכם באמצעות Bluetooth ו- Arduino. נשמע מעניין נכון! בוא בנה אחד
חומרים נדרשים:
- ארדואינו מגה 2560
- TSOP (HS0038)
- IR Led
- כל צבע LED ונגד 1K (אופציונלי)
- HC-06
- קרש לחם
- חוטי חיבור
מתודולוגיית עבודה:
כל השלטים בביתנו שאנו משתמשים בהם לשליטה בטלוויזיה, קולנוע ביתי, AC וכו 'עובדים בעזרת IR Blasters. IR Blaster אינו אלא LED IR Blaster אשר יכולה אות ידי פועם חוזר; אות זה יקרא על ידי המקלט במכשיר האלקטרוניקה. עבור כל כפתור אחר בשלט יופץ אות ייחודי אשר לאחר קריאתו של המקלט משמש לביצוע משימה מוגדרת מראש מסוימת. אם אנו מצליחים לקרוא את האות הזה שיוצא מהשלט הרחוק, נוכל לחקות את אותו האות באמצעות נורית IR כאשר נדרש אי פעם לבצע את אותה משימה מסוימת. יצרנו בעבר מעגל IR Blaster לשלט רחוק אוניברסלי ולבקרת טמפרטורת AC אוטומטית.
TSOP מהווה מקלט IR שיכול לשמש כדי לפענח את האות מגיע השלט. אנו נשתמש ב- TSOP זה כדי לפענח את כל המידע מהשלט הרחוק שלנו ולאחסן אותו בארדואינו. ואז באמצעות מידע זה ו- LED נורית אנו יכולים ליצור מחדש את אותות ה- IR מהארדואינו שלנו בכל צורך.
דרישות קדם:
עבור פרויקט AC מבוקר Bluetooth זה של Arduino, וודא שיש לך מגה של Arduino ולא כל גרסה אחרת של Arduino, מכיוון שגודל הקוד כבד. התקן את הספרייה מרחוק IR באמצעות קישור זה לעבודה עם TSOP ו- IR Blaster.
עבודה של שלט AC:
לפני שנמשיך לפרויקט קח קצת זמן והבחן איך עובד שלט ה- AC שלך. שלטי AC עובדים בצורה שונה במקצת בהשוואה לשלט טלוויזיה, DVD IR. יכול להיות שיש רק 10-12 כפתורים בשלט הרחוק שלך, אך הם יוכלו לשלוח הרבה סוגים שונים של אותות. כלומר השלט לא שולח את אותו קוד בכל פעם לאותו כפתור. לדוגמא, כאשר אתה מוריד את הטמפרטורה באמצעות כפתור למטה כדי להפוך אותו ל -24 מעלות צלזיוס (תואר צלזיוס) תקבל איתות עם סט נתונים, אך כשתלחץ עליו שוב כדי להגדיר 25 מעלות צלזיוס לא תקבל את אותו הדבר. נתונים מכיוון שהטמפרטורה היא כעת 25 ולא 24. באופן דומה, הקוד ל- 25 ישתנה גם עבור מהירות המאוורר השונה, הגדרות שינה וכו '. אז בואו לא נתעסק בכל האפשרויות ופשוט נרכז רק את ערכי הטמפרטורה עם ערך קבוע עבור הגדרות אחרות.
בעיה נוספת היא כמות הנתונים הנשלחים לכל לחיצה על כפתור, שלטים רגילים עם שליחה של 24 סיביות או 48 סיביות, אך שלט AC עשוי לשלוח עד 228 סיביות מכיוון שכל אות מכיל מידע רב כמו Temp, Speed Fan, תזמון שינה, סגנון נדנדה וכו 'זו הסיבה מדוע אנו זקוקים למגה Arduino לאפשרויות אחסון טובות יותר.
תרשים מעגל והסבר:
למרבה המזל הגדרת החומרה של מזגן בשליטה בטלפון נייד היא קלה מאוד. אתה יכול פשוט להשתמש בקרש לחם ולבצע את החיבורים כפי שמוצג להלן.
ניתן להשתמש בטבלה הבאה לאימות החיבורים שלך.
S. לא: |
סיכת רכיב |
פין ארדואינו |
1 |
TSOP - Vcc |
5V |
2 |
TSOP - Gnd |
Gnd |
3 |
TSOP - אות |
8 |
4 |
IR Led - קתודה |
Gnd |
5 |
IR Led - אנודה |
9 |
6 |
HC-05 - Vcc |
5V |
7 |
HC05 - Gnd |
קרקע, אדמה |
8 |
HC05 - Tx |
10 |
9 |
HC05 - Rx |
11 |
לאחר סיום החיבורים זה אמור להראות בערך כמו זה המוצג למטה. השתמשתי בלוח לחם כדי לסדר דברים, אבל אתה יכול גם לך חוטי זכר לנקבה ישירות כדי לחבר את כל הרכיבים
פענוח אותות מרחוק AC:
הצעד הראשון לשלוט ב- AC שלך הוא להשתמש ב- TSOP1738 לפענוח קודי IR שלט רחוק. בצע את כל החיבורים כפי שמוצג בתרשים המעגל וודא שהתקנת את כל הספריות שהוזכרו. כעת פתח את תוכנית הדוגמה " IRrecvDumpV2 " אשר ניתן למצוא בקובץ -> דוגמאות -> IRremote -> IRrecvDumpV2 .
int recvPin = 8; IRrecv irrecv (recvPin);
מכיוון שה- TSOP שלנו מתחבר לסיכה 8, שנה את קו השורה 9 ל- int recPin = 8 כמוצג לעיל. לאחר מכן העלה את התוכנית ל- Arduino Mega שלך ופתח את ה- Monitor Serial.
כוון את השלט רחוק לכיוון TSOP ולחץ על כל כפתור כלשהו, עבור כל כפתור שתלחץ עליו האות המתאים יקרא TSOP1738, מפוענח על ידי Arduino ויוצג בצג הסידורי. עבור כל שינוי בטמפרטורה בשלט רחוק תקבל נתונים אחרים. שמור נתונים אלה כי אנו נשתמש בהם בתוכנית הראשית שלנו. הצג הסדרתי שלך ייראה בערך כך, הראיתי גם את קובץ ה- Word עליו שמרתי את הנתונים שהועתקו.
תמונת המסך מציגה את הקוד להגדרת הטמפרטורה על 26 מעלות צלזיוס עבור השלט החשמלי שלי. בהתבסס על השלט הרחוק שלך תקבל קבוצה אחרת של קודים. באופן דומה העתק את הקודים לכל רמת הטמפרטורה השונה. אתה יכול לבדוק את כל קודי ה- IR שלט רחוק למזגן בקוד הארדואינו שניתן בסוף הדרכה זו.
תוכנית ארדואינו ראשית:
התוכנית הראשית המלאה של ארדואינו יכולה להיות בתחתית דף זה, אך אינך יכול להשתמש באותה תוכנית. עליכם לשנות את ערכי קוד האות שהשגנו זה עתה מהשרטוט לדוגמה. פתח את התוכנית הראשית שלך ב- Arduino IDE וגלול מטה לאזור זה שמוצג למטה, שם עליך להחליף את ערכי המערך בערכים שהשגת עבור השלט הרחוק שלך.
שים לב שהשתמשתי ב -10 מערכים מתוכם שנינו נהגנו להפעיל ולכבות את זרם ה- AC בעוד שהשאר 8 משמש להגדרת טמפרטורה שונה. לדוגמא Temp23 משמש להגדרת 23 * C ב- AC שלך, אז השתמש בקוד המתאים באותו מערך. ברגע שזה נעשה, אתה רק צריך להעלות את הקוד לארדואינו שלך.
עלינו לייבא שתי ספריות לפרויקט זה. האחת היא ספריית ה- IRremote שהוספנו זה עתה לארדואינו והשנייה היא ספריית התוכנה המובנית המסייעת לנו בשימוש במודול ה- Bluetooth.
#לִכלוֹל
בשלב הבא אנו מאותחלים את מודול ה- Bluetooth בסיכה 10 ו -11 ואז משתמשים באובייקט בשם irsend כדי לגשת לכל תכונות ה- IR של הספרייה.
SoftwareSerial BT_module (10, 11); // RX, TX IR שלח irsend;
לאחר מכן מגיעות שורות הקוד החשובות מאוד. כאן קיים המידע לשליטה על זרם החשמל שלך. זה שמוצג להלן מיועד לשלט הרשת שלי, היית צריך להשיג את זה בשלב הקודם.
לאחר מכן בתוך פונקציית הגדרת הריק , אנו מאותחלים שתי תקשורת טורית. האחד הוא Bluetooth בקצב שידור 9600 והשני הוא צג סידורי בקצב שידור 57600.
הגדרת חלל () {BT_module.begin (9600); // BT עובדת על 9600 Serial.begin (57600); // צג סידורי עובד בן 57600}
בתוך לולאת הריק שלנו ( לולאה אינסופית), אנו בודקים אם יש משהו שקיבל מודול ה- Bluetooth. אם מתקבל משהו אנו שומרים את המידע במשתנה BluetoothData .
בעוד (BT_module.available ()) // אם הנתונים מגיעים {BluetoothData = BT_module.read (); // קרא אותו ושמור אותו Serial.println (BluetoothData); // הדפיסו על סדרתי לצורך בדיקה}
המידע שמתקבל באמצעות ה- Bluetooth יתבסס על הכפתור שנלחץ באפליקציית Android שלנו אותה אנו מתקינים בשלב הבא שלנו. לאחר קבלת המידע עלינו להפעיל את קוד ה- IR המתאים כמו להלן
אם (BluetoothData == '2') {irsend.sendRaw (Temp23, sizeof (Temp23) / sizeof (Temp23), khz); עיכוב (2000); // שלח אות להגדרת טמפרטורת 23C}
כאן אם מתקבל הקוד '2' עלינו להגדיר את טמפרטורת ה- AC ל 23 ° C. באופן דומה יש לנו קוד מ -0 עד 9 כדי לבצע את כל פונקציות הבקרה הבסיסיות של AC. אתה יכול להתייחס לקוד הארדואינו השלם בסוף עמוד זה.
התקנת אפליקציית Android:
השלב האחרון של מיזוג האוויר הנשלט על ידי הטלפון החכם הוא התקנת אפליקציית Android. אפליקציית Android לפרויקט זה נוצרה באמצעות עיבוד מצב אנדרואיד. עיבוד הוא כלי מצוין ליצירת קבצי.EXE או קבצי APK עבורך עבור פרויקטים משובצים. זוהי פלטפורמת קוד פתוח בדיוק כמו Arduino, ולכן ניתן להוריד אותה לחלוטין לשימוש.
אם אתה לא רוצה להעמיק יותר מדי בתוכו, אתה יכול פשוט להוריד את קובץ ה- APK מכאן בתוך קובץ ה- zip ולהתקין אותו ישירות בטלפון הנייד שלך. פתח את היישום ותקבל מסך כמוצג להלן, ואחריו תוכל להמשיך לשלב הבא וליהנות מעבודה עם הפרויקט. אך אם ברצונך לשנות את תוכנית היישום כך שתתאים לצורך שלך, תוכל לקרוא עוד.
קובץ תוכנית מלאה עבור קוד עיבוד ניתן להוריד מכאן. ב- Zip זה יהיו הקוד והמקור התמונה שבאמצעותם האפליקציה עובדת. לאחר פתיחת הקוד תוכלו לשנות את השורות הבאות כדי להתאים אותו לצורך שלכם.
כפי שנאמר קודם, העיבוד דומה לארדואינו. אז יש לו גם התקנת חלל ואת לולאה ומבוטלת (כאן לצייר) פונקציות. בתוך פונקציית הגדרת הריק ננחה את ה- Bluetooth של הטלפון להתחבר ל- Bluetooth של Arduino. שם המכשיר שלי כאן הוא "HC-05" ולכן שורת הקוד שלי תהיה
bt.start (); // התחל להקשיב לחיבורי BT bt.getPairedDeviceNames (); bt.connectToDeviceByName ("HC-05"); // התחבר למודול ה- bluetooth HC-06 שלנו
הבא בתוך פונקציות load_buttons () אתה יכול לצייר כמה כפתורים שאתה רוצה. ציירתי 10 כפתורים כפי שמוצג ביישום. לאחר מכן יש לנו את הפונקציה read_buttons () המשמשת לאיתור באיזה כפתור אתה נוגע. לכל כפתור יש צבע ספציפי, לכן כאשר משתמש נוגע במסך אנו בודקים באיזה צבע הוא נגע וקובעים באיזה כפתור הוא נגע. דוגמת קוד כדי ליצור כפתור ובחר אותה על סמך צבע מוצג להלן
מילוי (255,145,3); ישר (רוחב / 2 רוחב / 4, גובה / 2, רוחב / 4, גובה / 12); מילוי (255); טקסט ("25C", רוחב / 2 רוחב / 4, גובה / 2); // כפתור 5 if (color_val == - 13589993) {byte data = {'0'}; שידור bt. (נתונים);}
השורה "נתוני בתים = {'0'};" הוא קו חשוב מאוד. זה המקום בו אנו מחליטים איזה קוד יש לשלוח לארדואינו באמצעות Bluetooth. כאן, אם לוחצים על לחצן זה התו "0" נשלח מ- Bluetooth ל- Arduino. באופן דומה אנו יכולים לשלוח דמות שונה עבור כפתורים שונים. לאחר מכן ניתן להשוות בין דמויות אלה בצד הארדואינו וניתן לבצע פעולות בהתאמה.
קדימה והתעסקו בקוד, אם יש לכם ספקות תגיעו אלי דרך קטע ההערות וינסו כמיטב יכולתי לעזור לכם.
עבודה של AC בשליטה בטלפון נייד:
ברגע שאתה מוכן עם החומרה שלך, קוד Arduino ויישומי אנדרואיד הגיע הזמן ליהנות מהפלט. העלה את קוד Arduino לחומרה שלך והניח אותו מול AC שלך. כעת פתח את אפליקציית Android בטלפון הנייד שלך, אם הכל עובד כצפוי אתה אמור לראות " מחובר ל: device_name (איזה קוד) " כמוצג להלן
עכשיו פשוט לחץ על כל כפתור באפליקציית Android שלך והוא אמור להפעיל פעולה בהתאמה ב- AC כאילו אתה משתמש בשלט רחוק. אתה יכול להוסיף כמה כפתורים שאתה רוצה על ידי שינוי הקוד ואף להפוך את זרם החשמל שלך לאוטומטי בהתבסס על טמפרטורת החדר או הנוכחות שלך. בדוק את קוד הארדואינו המלא ואת הסרטון להלן.
מקווה שנהניתם מהפרויקט והבנתם את הרעיון שעומד מאחוריו. כמו תמיד אם נתקלת בבעיה כלשהי בעבודה זו, תוכל להשתמש בפורומים כדי לפרסם לך שאלות ולפתור אותן.
ניתן להוריד מכאן קובץ APK להתקנת אפליקציית Android.