IOT

שעון ואוטומציה ביתית באמצעות STONE Display

תוכן

  1. תיאור
  2. עיצוב GUI

3. תרשים מעגל

  1. קופונים
  2. וִידֵאוֹ

תיאור

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

בשביל זה אנחנו משתמשים צג TFT (STONE-HMI), לתצוגה הזו יש תוכנה שהיא תוכנת GUI עם העזרה הזו אנחנו הולכים לעצב ממשק שיכיל גם שעון מקטע וגם אוטומציה. הורד את תוכנת ה-GUI לחץ כאן

עיצוב חלקי שעון:-

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

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

עבור '1' - 0031

עבור '2' - 0031

עבור '3' - 0031

עבור '4' - 0031

עבור '5' - 0031

עבור '6' - 0031

עבור '7' - 0031

עבור '8' - 0031

עבור '9' - 0031

עבור '0' - 0030

עבור 'בסדר' – 00F1

לאחר מכן הוסף אפקט כפתור כתמונה nimber-7 עבור כל הכפתורים אז על ידי חלק זה נעשה כדי להגדיר את השעון. בואו נתקדם יותר כדי ליצור מחוגי שעון.

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

עיצוב חלקי אוטומציה:-

בוא נתכנן חלק אוטומציה בשביל זה, דרשנו מארדואינו לשלוח ערך מפתח מסוים דרך כתובת, כאן אנו משתמשים ב-'0001' עבור כל ערך המפתח. עבור כפתור Fan(ON) אנו שולחים ערך מפתח '0001' ועבור Fan (OFF) ) אנו שולחים ערך מפתח '0002' באופן דומה אנו שולחים עבור כל הערך המסוים עבור כל המכשירים. כאן הוספנו גם כפתור למעבר לממשק GUI של שעון שיעזור לעבור מממשק זה לממשק שעון.

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

שרטוט של מעגל חשמלי

כפי שאתה יכול לראות בחיבור יש שלוש נוריות LED light-1,light-2 ועבור מאוורר כאן אנחנו משתמשים רק בנורות LED אבל אתה יכול לחבר מכשירים בפועל לזה.Light-1 מתחבר לפין -D6 של Arduino ,light- 2 מתחברים לפין-D7 של Arduino, מאוורר דומה מתחבר ל-D5 עם Arduino.ולבצע את החיבור עבור Rx ו-Tx לפי דיאגרמת המעגל. כאן חיברנו את Tx עם פין-2 ו-Rx עם פין-3 של Arduino כמו לפי קוד Arduino. בואו נמשיך הלאה איך זה עובד עם הקוד.

ישנם סוגים שונים של תקשורת טורית. כאשר אתה משתמש בלוח Arduino בפרויקט אתה יכול לבחור את הפינים הסדרתיים הסטנדרטיים כמו תוכנת Arduino serial Rx Tx, מה-UART בתוך לוח Arduino, אז זה נקרא Serial TTL. במקרה זה, אנו משתמשים בספריית Hardware serial.h, אך כמה פינים נוספים יכולים לעבוד כ-Rx או Tx. לדוגמה, פיני התקשורת של SPI יכולים לעבוד כ-MISO, MOSI ו-Select (SC), אך הם גם פינים שיכולים לעבוד ככניסה דיגיטלית או כפלט דיגיטלי, או אם אתה צריך, תוכל להשתמש בפינים אלה כ-Rx, Tx באמצעות סדרת התוכנה. ספריית .h. 

בואו נתקדם כדי לדעת איך הקוד עובד. 

קוד :- 

#לִכלוֹל //ספריית תוכנה טורית

SoftwareSerial max232(2,3);

נתוני char; 

מחרוזת mystring;

int f = 5; // סיכה לאוהד

int l1 = 6; // הצמד עבור אור-1

int l2 = 7; // הצמד עבור אור-2

הגדרת בטל ()

{

Serial.begin(115200); //כאן Baudrate הוא 115200

max232.begin(115200);

pinMode(f, OUTPUT);     

digitalWrite(f, LOW); 

pinMode(l1, OUTPUT);    

digitalWrite(l1, LOW);

pinMode(l2, OUTPUT);    

digitalWrite(l2, LOW);

}

לולאה בטלה ()

{

if (max232.available()>0)

 {

   data = max232.read();

   mystring = mystring + byte(data) ; 

   עיכוב (10);

 }

else if (mystring.endsWith(“101”)) //condition עבור Fan ON

  {

    mystring = ""; 

   digitalWrite(f,HIGH);

  }

else if (mystring.endsWith(“102”)) //condition עבור Fan OFF

  {

   mystring = ""; 

   digitalWrite(f,LOW);

  }

else if (mystring.endsWith(“103”)) //condition עבור Light-1 ON

  {

  mystring = ""; 

  digitalWrite(l1,HIGH);

  }

else if (mystring.endsWith(“104”)) //condition עבור Light-1 כבוי

  {

   mystring = ""; 

   digitalWrite(l1,LOW);

  }

else if (mystring.endsWith(“105”)) //condition עבור Light-2 ON

  {

  mystring = ""; 

  digitalWrite(l2,HIGH);

  }

else if (mystring.endsWith(“106”)) //condition עבור Light-2 כבוי

  {

   mystring = ""; 

   digitalWrite(l2,LOW);

  }

else if (mystring.endsWith(“107”)) //condition עבור כל המכשירים פועלים

  {

   mystring = ""; 

   digitalWrite(l1,HIGH);

   digitalWrite(l2,HIGH);

   digitalWrite(f,HIGH);

  }

else if (mystring.endsWith(“108”)) //condition עבור כל המכשירים כבוי

  {

   mystring = ""; 

   digitalWrite(l1,LOW);

   digitalWrite(l2,LOW);

   digitalWrite(f,LOW);

  }

}

עובד :-

כפי שדיברנו אנו משתמשים בספריית תוכנה טורית כדי להעביר את ערך המפתח על כתובת, לשם כך הוספנו בקוד זה זה נותן את הממשק לחיבור Arduino ו-STON-HMI תצוגת. לאחר מכן הכרזנו על כל פין הפלט מה שאנו משתמשים עבור נוריות ה-LED והמאוורר, עבור מכשירים אלה הכרזנו על פינים אלה כ-OUTPUT ואז קבענו את קצב ה-Bud עבור ספריית התוכנה-טורית. כל אלו בוצעו בחלק ההגדרה של void, כעת, בוא נעבור כדי להפוך את התנאי למכשירים שבהם אנו משתמשים, החלק הזה נוסף בלולאת ה-void כי זה יחזור על עצמו פעמים רבות כאשר נלחץ על כפתור בתצוגה.

בקטע הלולאה הריק ישנם ארבעה תנאים עבור המכשירים. התנאי הראשון הוא למאוורר מופעל וכיבוי כאן אנו שולחים את ערך המפתח '0001' עבור מצב ה-ON ו-'0002' למצב כבוי מעל הכתובת '0001' כתובת זו היא זהה לכל המכשירים. עבור מכשיר שני שהוא עבור אור-1 אנו שולחים '0003' למצב ON ו-'0004' למצב כבוי, באופן דומה עבור light-2 '0005' עבור ON ו-'0006' למצב כבוי. בדרך זו תנאים אלה פועלים עבור מכשיר בודד.

יש עוד תנאי אחד לכיבוי או הפעלה של כל המכשירים בבת אחת. לשם כך אנו משתמשים ב-'0007' ל-ON & '0008' ל-OFF.

פלט וידאו:-

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

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

קופונים

//למידע נוסף על פרויקט זה בקר:- wwww.electrocircuit.net //

#לִכלוֹל

SoftwareSerial max232(2,3);

נתוני char; 

מחרוזת mystring;

int f = 5; 

int l1 = 6; 

int l2 = 7;  

הגדרת בטל ()

{

Serial.begin (115200); 

max232.begin(115200);

pinMode(f, OUTPUT); /////////אָדוֹם////////

digitalWrite(f, LOW); 

pinMode(l1, OUTPUT); ////////ירוק///////

digitalWrite(l1, LOW);

pinMode(l2, OUTPUT); ///////כָּחוֹל/////////

digitalWrite(l2, LOW);

}

לולאה בטלה ()

{

if (max232.available()>0)

 {

   data = max232.read();

   mystring = mystring + byte(data) ; 

   עיכוב (10);

 }

else if (mystring.endsWith("101"))

  {

    mystring = ""; 

   digitalWrite(f,HIGH);

  }

else if (mystring.endsWith("102"))

  {

   mystring = ""; 

   digitalWrite(f,LOW);

  }

else if (mystring.endsWith("103"))

  {

  mystring = ""; 

  digitalWrite(l1,HIGH);

  }

else if (mystring.endsWith("104"))

  {

   mystring = ""; 

   digitalWrite(l1,LOW);

  }

else if (mystring.endsWith("105"))

  {

  mystring = ""; 

  digitalWrite(l2,HIGH);

  }

else if (mystring.endsWith("106"))

  {

   mystring = ""; 

   digitalWrite(l2,LOW);

  }

else if (mystring.endsWith("107"))

  {

   mystring = ""; 

   digitalWrite(l1,HIGH);

   digitalWrite(l2,HIGH);

   digitalWrite(f,HIGH);

  }

else if (mystring.endsWith("108"))

  {

   mystring = ""; 

   digitalWrite(l1,LOW);

   digitalWrite(l2,LOW);

   digitalWrite(f,LOW);

  }

}

מקור: מודיעין נתונים אפלטון