IOT

Kello ja kotiautomaatio STONE Display -näytöllä

Sisällys

  1. Kuvaus
  2. GUI-suunnittelu

3. Piirikaavio

  1. Koodi
  2. Video

Kuvaus

Tässä projektissa aiomme suunnitella kellon ja automaatiojärjestelmän, jonka avulla voimme kytkeä kodin valot päälle tai pois päältä ja siellä on myös kello, joka näyttää kellonajan ja päivämäärän.

Tätä varten käytämme TFT-näyttö (STONE-HMI), tässä näytössä on ohjelmisto, joka on GUI-ohjelmisto. Tämän avulla aiomme suunnitella käyttöliittymän, joka sisältää sekä osiokellon että automaation. Lataa GUI-ohjelmisto Klikkaa tästä

Kellon osan suunnittelu: -

Suunnitellaan ensin kelloosa, ensin on lisättävä kaikki kuvat, jotka annetaan kansiossa napsauta täällä .

Kello- ja kotiautomaatio käyttämällä STONE Display IOT PlatoBlockchain Data Intelligenceä. Pystysuuntainen haku. Ai.Kuten näet vasemmasta reunasta, kaikki kuvat on lisätty kuvatiedoston osioon. Napsauta nyt kuvaa '14', niin saat tämän käyttöliittymän sellaisena kuin näet kuvassa. Valitse nyt "RTC" kosketuskokoonpanosta asettaaksesi ajan ja päivämäärä ja tee kaikki asetukset tälle lisää ensin "sivulle" -kuva kuvaksi numero 6, jota käytetään asetushetkellä. Siirry nyt kuvaan numero 6 ja lisää kaikki painikkeet ja niiden näppäinarvot. Nämä arvot olla tässä muodossa.

Kello- ja kotiautomaatio käyttämällä STONE Display IOT PlatoBlockchain Data Intelligenceä. Pystysuuntainen haku. Ai.

'1' - 0031

'2' - 0031

'3' - 0031

'4' - 0031

'5' - 0031

'6' - 0031

'7' - 0031

'8' - 0031

'9' - 0031

'0' - 0030

'OK' - 00F1

Lisää sen jälkeen painikeefekti kuvaksi nimber-7 kaikille painikkeille, joten tällä osalla tehdään kellon asetukset. Siirrytään eteenpäin ja luodaan kellonosoittimet.

Lisää vastaavasti Dial clock ylhäältä ja lisää tähän kaikki ,tunnit, minuutit ja sekuntiosoitin. Ensin meidän on tehtävä kuvake näille osoittimille, joten siirry kuvakegeneraattoriin ja valitse nämä kuvat, löydät uuden kansion osiosta. 'kuvaketiedostosta' täältä sinun on valittava kaikki kuvakkeet käsivaatimusten mukaan. Valitse sen jälkeen kaikki kuvakkeet kellon osoittimien vaatimusten mukaan, äläkä unohda valita kellon jokaisen osoittimen keskikohtaa tällä menettelyllä. tämä tehdään nyt, meidän on siirryttävä automaatioosaan ja tätä varten olemme lisänneet automaatio-symbolin, kuten näet yllä olevasta kuvasta, tälle valintapainikkeelle ja laita se painike tämän automaatin kuvakkeen alueelle ja valitse sitten " sivunvaihto" kuvaksi 1, koska tämä on automaatiokuva, jonka jälkeen valitse kuva-1 jatkosuunnittelua varten.

Automaatioosien suunnittelu: -

Kello- ja kotiautomaatio käyttämällä STONE Display IOT PlatoBlockchain Data Intelligenceä. Pystysuuntainen haku. Ai.Suunnitellaan automaatioosa tätä varten, vaadimme Arduinoa lähettämään tietyn avainarvon osoitteen kautta, tässä käytämme '0001' kaikille avainarvoille. Fan(ON)-painikkeelle lähetämme avainarvon '0001' ja Fan(OFF) ) lähetämme '0002'-avainarvon, samoin lähetämme kaikille laitteille tietyn arvon. Lisäsimme tähän myös painikkeen, jolla voit vaihtaa kellon graafiseen käyttöliittymään, mikä auttaa siirtymään tästä käyttöliittymästä kelloliittymään.

Sivun vaihtamiseen käytämme "painiketta", joka on sijoitettu vasemmalle yläreunalle, ja automaatiopainikkeelle käytämme "return press key value" -toimintoa, jossa on kaksi parametria ensin osoitearvo ja toinen on avainarvo, kuten edellä mainittiin. käyttämällä erilaista avainarvoa kullekin automaatiopainikkeelle.

Kytkentäkaavio

Kello- ja kotiautomaatio käyttämällä STONE Display IOT PlatoBlockchain Data Intelligenceä. Pystysuuntainen haku. Ai.Kuten liitännästä näkyy, siinä on kolme LEDiä valo-1,valo-2 ja tässä Fanissa käytämme vain LEDejä, mutta voit liittää tähän varsinaisia ​​laitteita.Light-1 yhdistä Arduinon napaan -D6, valo- 2 liitä Arduinon pin-D7, samanlainen tuuletin kytke D5:een Arduinon kanssa. Ja tee liitäntä Rx:lle ja Tx:lle piirikaavion mukaisesti. Tässä olemme yhdistäneet Tx:n pin-2:lla ja Rx:n Arduinon pin-3:lla. Arduino-koodin mukaan. Siirrytään eteenpäin, kuinka se toimii koodin kanssa.

Sarjaliikennettä on erilaisia. Kun käytät Arduino-levyä projektissa, voit valita vakiosarjanastat Arduino-ohjelmiston serial Rx Tx:ksi Arduino-levyn sisällä olevasta UART:sta, joten sitä kutsutaan Serial TTL:ksi. Siinä tapauksessa käytämme Hardware serial.h -kirjastoa, mutta jotkin lisänastat voivat toimia Rx- tai Tx-nastaina. Esimerkiksi SPI-tiedonsiirtonastat voivat toimia MISO-, MOSI- ja Select (SC) -nastaina, mutta ne ovat myös nastoja, jotka voivat toimia digitaalisena tulona tai digitaalisena lähtönä, tai tarvittaessa voit käyttää niitä Rx-, Tx-nastaina ohjelmistosarjan avulla. .h Kirjasto. 

Siirrytään eteenpäin saadaksesi tietää kuinka koodi toimii. 

Koodi:- 

#sisältää //ohjelmiston sarjakirjasto

OhjelmistoSerial max232(2,3);

char tiedot; 

merkkijono;

int f = 5; // Pin for Fan

int 1 = 6; // Valon tappi-1

int l2 = 7; // Valon nasta-2

void setup ()

{

Serial.begin(115200); //Tässä Baudrate on 115200

max232.begin(115200);

pinMode(f, OUTPUT);     

digitalWrite(f, LOW); 

pinMode(l1, OUTPUT);    

digitalWrite(l1, LOW);

pinMode(l2, OUTPUT);    

digitalWrite(l2, LOW);

}

void loop ()

{

jos (max232.available()>0)

 {

   data = max232.read();

   mystring = mystring + tavu(data) ; 

   viive (10);

 }

else if (mystring.endsWith("101")) //ehto tuulettimelle PÄÄLLÄ

  {

    mystring = ""; 

   digitalWrite(f,HIGH);

  }

else if (mystring.endsWith("102")) //ehto tuulettimelle OFF

  {

   mystring = ""; 

   digitalWrite(f,LOW);

  }

else if (mystring.endsWith("103")) //ehto valolle-1 PÄÄLLÄ

  {

  mystring = ""; 

  digitalWrite(l1,HIGH);

  }

else if (mystring.endsWith("104")) //ehto valolle-1 OFF

  {

   mystring = ""; 

   digitalWrite(l1,LOW);

  }

else if (mystring.endsWith("105")) //ehto valolle-2 PÄÄLLÄ

  {

  mystring = ""; 

  digitalWrite(l2,HIGH);

  }

else if (mystring.endsWith("106")) //ehto valolle-2 OFF

  {

   mystring = ""; 

   digitalWrite(l2,LOW);

  }

else if (mystring.endsWith("107")) //ehto kaikille laitteille PÄÄLLÄ

  {

   mystring = ""; 

   digitalWrite(l1,HIGH);

   digitalWrite(l2,HIGH);

   digitalWrite(f,HIGH);

  }

else if (mystring.endsWith("108")) //ehto kaikille laitteille OFF

  {

   mystring = ""; 

   digitalWrite(l1,LOW);

   digitalWrite(l2,LOW);

   digitalWrite(f,LOW);

  }

}

Työskentely:-

Kuten olemme keskustelleet, käytämme ohjelmistosarjakirjastoa avainarvon siirtämiseen osoitteen kautta, tätä varten olemme lisänneet Tässä koodissa tämä antaa käyttöliittymän Arduinon ja STON-HMI-näytön yhdistämiseen. Sen jälkeen olemme ilmoittaneet kaikki lähtönastat riippumatta siitä, mitä käytämme LEDeille ja tuulettimelle, näille laitteille olemme ilmoittaneet nämä nastat OUTPUT-asetuksiksi ja asetamme sitten tiedonsiirtonopeuden ohjelmisto-sarjakirjastolle. Nämä kaikki on tehty void setup -osassa nyt siirrytään tekemään ehto käyttämillemme laitteille, tämä osa lisätään void-silmukkaan, koska tämä toistuu monta kertaa, kun painamme -painiketta näytössä.

Tyhjäsilmukka-osiossa laitteille on neljä ehtoa. Ensimmäinen ehto on tuulettimen päälle ja pois päältä, tässä lähetämme 0001-avainarvon PÄÄLLÄ-tilalle ja 0002 off-tilan arvon 0001 osoitteen 1 kautta. sama kaikille laitteille. Toiselle laitteelle, joka on valo-0003, lähetämme '0004' ON-tilaan ja '2' pois-tilaan, samoin valolle-0005 '0006' ON-tilaan ja 'XNUMX' pois-tilaan. Tällä tavalla nämä ehdot toimivat yksittäisille laitteille.

On vielä yksi ehto kaikkien laitteiden kytkemiselle pois päältä tai PÄÄLLE kerralla. Tätä varten käytämme '0007' ON ja '0008' POIS.

Lähtövideo: -

Kello- ja kotiautomaatio käyttämällä STONE Display IOT PlatoBlockchain Data Intelligenceä. Pystysuuntainen haku. Ai.

Tämä on tämän projektin ulostulovideo tässä videossa, joka näyttää ensin kellon asetukset ja automaation toiminnassa, kuten näet videosta.

Tämä on ulostulovideo, jonka voit ladata napsauttamalla kyseistä videota. Olemme lisänneet kaikki tähän liittyvät tiedot, jos sinulla on epäilyksiä GUI-suunnittelusta, voit ladata projektitiedoston ja avata sen suoraan, tässä tapauksessa sinun ei tarvitse Suunnittele mikä tahansa GUI, saat sen suunnittelun, jonka olemme rakentaneet. Mutta jos haluat suunnitella erilaisen käyttöliittymän, sinun on noudatettava kaikkia vaiheita.

Koodi

//Lisätietoja tästä projektista saat osoitteesta:- www.electrocircuit.net //

#sisältää

OhjelmistoSerial max232(2,3);

char tiedot; 

merkkijono;

int f = 5; 

int 1 = 6; 

int 2 = 7;  

void setup ()

{

Sarja-aloitus (115200); 

max232.begin(115200);

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

digitalWrite(f, LOW); 

pinMode(l1, OUTPUT); ////////VIHREÄ///////

digitalWrite(l1, LOW);

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

digitalWrite(l2, LOW);

}

void loop ()

{

jos (max232.available()>0)

 {

   data = max232.read();

   mystring = mystring + tavu(data) ; 

   viive (10);

 }

muuten jos (mystring.endsWith("101"))

  {

    mystring = ""; 

   digitalWrite(f,HIGH);

  }

muuten jos (mystring.endsWith("102"))

  {

   mystring = ""; 

   digitalWrite(f,LOW);

  }

muuten jos (mystring.endsWith("103"))

  {

  mystring = ""; 

  digitalWrite(l1,HIGH);

  }

muuten jos (mystring.endsWith("104"))

  {

   mystring = ""; 

   digitalWrite(l1,LOW);

  }

muuten jos (mystring.endsWith("105"))

  {

  mystring = ""; 

  digitalWrite(l2,HIGH);

  }

muuten jos (mystring.endsWith("106"))

  {

   mystring = ""; 

   digitalWrite(l2,LOW);

  }

muuten jos (mystring.endsWith("107"))

  {

   mystring = ""; 

   digitalWrite(l1,HIGH);

   digitalWrite(l2,HIGH);

   digitalWrite(f,HIGH);

  }

muuten jos (mystring.endsWith("108"))

  {

   mystring = ""; 

   digitalWrite(l1,LOW);

   digitalWrite(l2,LOW);

   digitalWrite(f,LOW);

  }

}

Lähde: Platon Data Intelligence