IOT

Kell ja koduautomaatika STONE Display abil

Sisu

  1. Kirjeldus
  2. GUI disain

3 .Ahelskeem

  1. kood
  2. Video

Kirjeldus

Selle projekti raames kavandame kella ja automaatikasüsteemi, mille abil saame koduvalgusti SISSE või VÄLJA lülitada, samuti on olemas kell, mis näitab kellaaega ja kuupäeva.

Selleks kasutame TFT-ekraan (STONE-HMI), sellel kuvaril on tarkvara, mis on GUI tarkvara. Selle abiga kavandame liidese, mis sisaldab nii sektsiooni kella kui ka automatiseerimist. Laadige alla GUI tarkvara kliki siia

Kellaosa kujundus: -

Kujundame esmalt kellaosa, esmalt peame lisama kõik pildid, mis on antud kaustas klõpsake nuppu siin .

Kella- ja koduautomaatika, kasutades STONE Display IOT PlatoBlockchain Data Intelligence'i. Vertikaalne otsing. Ai.Nagu näete vasakpoolses servas, on kõik pildid lisatud pildifaili sektsiooni. Nüüd klõpsake pildil '14', saate selle liidese, nagu näete pildil. Nüüd valige kellaaja määramiseks puutekonfiguratsioonist "RTC". ja kuupäev ning tehke kõik selle jaoks vajalikud konfiguratsioonid, lisage esmalt 'lehele' pilt kui pildi number 6, mida kasutatakse seadistamise ajal. Nüüd minge pildile number 6 ja lisage kõik nupud ja nende võtmete väärtused. Need väärtused olema selles vormingus.

Kella- ja koduautomaatika, kasutades STONE Display IOT PlatoBlockchain Data Intelligence'i. Vertikaalne otsing. Ai.

1 jaoks – 0031

2 jaoks – 0031

3 jaoks – 0031

4 jaoks – 0031

5 jaoks – 0031

6 jaoks – 0031

7 jaoks – 0031

8 jaoks – 0031

9 jaoks – 0031

0 jaoks – 0030

'OK' puhul – 00F1

Pärast seda lisage nupuefekt pildiks nimber-7 kõikidele nuppudele, nii et selle osaga tehakse kella seadistamine. Liigume edasi, et luua kellaosutajad.

Samamoodi lisage ülalt Dial clock ja lisage selle jaoks kõik tunnid, minutid ja sekundiosuti esmalt peame tegema nende osutite jaoks ikooni, nii et selleks minge ikoonigeneraatorisse ja valige need pildid, mille leiate jaotisest uue kausta 'ikoonifailist' peate valima kõik ikoonid vastavalt osuti nõuetele. Pärast seda valige kõik ikoonid vastavalt kellaosuti nõuetele ja ärge unustage selle protseduuriga valida kella jaoks iga osuti keskpunkti. seda tehakse nüüd, peame minema automatiseerimise osa juurde ja selleks oleme lisanud automaatika sümboli, nagu näete ülaloleval pildil, selle valimisnupu jaoks ja asetage see nupp selle automaatikooni alale ja seejärel valige " lehe lüliti" kui pilt-1, sest see on pilt automatiseerimiseks. Seejärel valige pilt-1 edasiseks kujundamiseks.

Automaatikaosade projekteerimine: -

Kella- ja koduautomaatika, kasutades STONE Display IOT PlatoBlockchain Data Intelligence'i. Vertikaalne otsing. Ai.Projekteerime selle jaoks automatiseerimise osa, nõudsime Arduinolt konkreetse võtmeväärtuse saatmist aadressi kaudu, siin kasutame kogu võtmeväärtuse jaoks '0001'. Nupu Ventilaatori (ON) puhul saadame võtme väärtuse '0001' ja Fan (OFF) jaoks. ) saadame võtme väärtuse '0002', samamoodi saadame kõigi seadmete jaoks konkreetse väärtuse. Siia lisasime ka nupu kella GUI-le lülitumiseks, mis aitab sellelt liideselt kella liidesele üle minna.

Lehekülje vahetamiseks kasutame nuppu "nupp", mis on paigutatud vasakpoolsesse ülaossa, ja automatiseerimisnupu jaoks kasutame funktsiooni "Tagasi vajutage klahvi väärtust", millel on kaks parameetrit, esimene on aadressi väärtus ja teine ​​​​võtme väärtus, nagu me eespool mainisime. kasutades iga automatiseerimisnupu jaoks erinevat võtmeväärtust.

Lülitusskeem

Kella- ja koduautomaatika, kasutades STONE Display IOT PlatoBlockchain Data Intelligence'i. Vertikaalne otsing. Ai.Nagu näete ühenduses, on kolm LED-i light-1, light-2 ja ventilaatori jaoks kasutame siin ainult LED-e, kuid sellega saate ühendada tegelikud seadmed. Light-1 ühendage Arduino pistikuga -D6, valgus- 2 ühendage Arduino kontaktiga D7, sarnane ventilaator ühendage Arduinoga D5-ga. Ja ühendage Rx ja Tx vastavalt vooluringiskeemile. Siin oleme ühendanud Arduino viiguga 2 ja Rx kontaktiga 3. Arduino koodi järgi. Liigume edasi, kuidas see koodiga töötab.

Jadasidet on erinevat tüüpi. Kui kasutate projektis Arduino tahvlit, saate Arduino plaadi sees olevast UART-ist valida standardsed jadaviigud Arduino tarkvara seeria Rx Tx-ks, seega nimetatakse seda Serial TTL-iks. Sel juhul kasutame riistvara serial.h teeki, kuid mõned täiendavad tihvtid võivad töötada Rx või Tx-na. Näiteks võivad SPI sideviigud töötada MISO, MOSI ja Select (SC) kontaktidena, kuid need on ka tihvtid, mis võivad töötada digitaalsisendi või digitaalväljundina, või kui vaja, võite kasutada neid kontakte Rx, Tx, kasutades seeriatarkvara. .h Raamatukogu. 

Liigume edasi, et teada saada, kuidas kood töötab. 

Kood:- 

#kaasa //tarkvara jadateek

TarkvaraSerial max232(2,3);

söe andmed; 

String mystring;

int f = 5; // Pin for Fan

int l1 = 6; // Pin for light-1

int l2 = 7; // Pin for light-2

kehtetu seadistamine ()

{

Serial.begin(115200); //Siin on Baudrate 115200

max232.begin(115200);

pinMode(f, OUTPUT);     

digitalWrite(f, LOW); 

pinMode(l1, OUTPUT);    

digitalWrite(l1, LOW);

pinMode(l2, OUTPUT);    

digitalWrite(l2, LOW);

}

void loop ()

{

if (max232.available()>0)

 {

   andmed = max232.read();

   mystring = mystring + bait(andmed) ; 

   viivitus (10);

 }

else if (mystring.endsWith(“101”)) //tingimus ventilaatorile ON

  {

    mystring = ""; 

   digitalWrite(f,HIGH);

  }

else if (mystring.endsWith(“102”)) //tingimus ventilaatori VÄLJAS

  {

   mystring = ""; 

   digitalWrite(f,LOW);

  }

else if (mystring.endsWith(“103”)) //tingimus Light-1 jaoks ON

  {

  mystring = ""; 

  digitalWrite(l1,HIGH);

  }

else if (mystring.endsWith(“104”)) //tingimus Light-1 jaoks OFF

  {

   mystring = ""; 

   digitalWrite(l1,LOW);

  }

else if (mystring.endsWith(“105”)) //tingimus Light-2 jaoks ON

  {

  mystring = ""; 

  digitalWrite(l2,HIGH);

  }

else if (mystring.endsWith(“106”)) //tingimus Light-2 jaoks OFF

  {

   mystring = ""; 

   digitalWrite(l2,LOW);

  }

else if (mystring.endsWith(“107”)) //tingimus kõigi seadmete jaoks ON

  {

   mystring = ""; 

   digitalWrite(l1,HIGH);

   digitalWrite(l2,HIGH);

   digitalWrite(f,HIGH);

  }

else if (mystring.endsWith(“108”)) //tingimus kõigi seadmete jaoks OFF

  {

   mystring = ""; 

   digitalWrite(l1,LOW);

   digitalWrite(l2,LOW);

   digitalWrite(f,LOW);

  }

}

Töötab:-

Nagu oleme arutanud, kasutame võtmeväärtuse üle aadressi edastamiseks tarkvara-jadateeki, selleks oleme lisanud selles koodis annab see liidese Arduino ja STON-HMI ekraani ühendamiseks. Pärast seda oleme deklareerinud kõik väljundviigud, olenemata sellest, mida me LED-ide ja ventilaatori jaoks kasutame, nende seadmete jaoks oleme deklareerinud need kontaktid VÄLJANDUKS, seejärel määranud edastuskiiruse tarkvara-jadateegi jaoks. Need kõik on tehtud tühihäälestuse osas. Nüüd liigume, et seada tingimused kasutatavatele seadmetele nuppu ekraanil.

Tühjussilmuse jaotises on seadmetele neli tingimust. Esimene tingimus on ventilaatori sisse- ja väljalülitamiseks. Siin saadame ON tingimuse võtmeväärtuse '0001' ja väljalülitatud oleku jaoks '0002' üle aadressi '0001' see aadress on sama kõigi seadmete puhul. Teise seadme jaoks, mis on mõeldud valguse-1 jaoks, saadame oleku ON ja 0003 väljalülitatud oleku jaoks '0004', sarnaselt valguse 2 jaoks '0005' ON ja 0006 väljalülitatud oleku jaoks. sel viisil need tingimused töötavad üksikute seadmetega.

Kõigi seadmete korraga välja- või sisselülitamiseks on veel üks tingimus. Selleks kasutame ON jaoks '0007' ja VÄLJAS '0008'.

Väljundvideo: -

Kella- ja koduautomaatika, kasutades STONE Display IOT PlatoBlockchain Data Intelligence'i. Vertikaalne otsing. Ai.

See on selle projekti väljundvideo selles videos, mis näitab kõigepealt kella seadistamist ja automatiseerimist, nagu näete videost.

See on väljundvideo, mille saate alla laadida sellel videol klõpsates. Lisasime kõik sellega seotud andmed, kui teil on GUI kujundamises kahtlusi, saate projekti faili alla laadida ja selle otse avada. Sel juhul ei pea te seda tegema. mis tahes GUI kujundamisel saate selle disaini, mille oleme loonud. Kuid kui soovite kujundada erinevat GUI-d, peate järgima kõiki samme.

kood

//Selle projekti kohta lisateabe saamiseks külastage:- wwww.electrocircuit.net //

# kaasata

TarkvaraSerial max232(2,3);

söe andmed; 

String mystring;

int f = 5; 

int l1 = 6; 

int l2 = 7;  

kehtetu seadistamine ()

{

Serial.begin (115200); 

max232.begin(115200);

pinMode(f, OUTPUT); /////////PUNANE/////////

digitalWrite(f, LOW); 

pinMode(l1, OUTPUT); ////////ROHELINE////////

digitalWrite(l1, LOW);

pinMode(l2, OUTPUT); ///////SININE//////////

digitalWrite(l2, LOW);

}

void loop ()

{

if (max232.available()>0)

 {

   andmed = max232.read();

   mystring = mystring + bait(andmed) ; 

   viivitus (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);

  }

}

Allikas: Platon Data Intelligence