IOT

Klokke og hjemmeautomatisering ved hjelp av STONE Display

Innhold

  1. Beskrivelse
  2. GUI-design

3. Kretsdiagram

  1. Kode
  2. video

Beskrivelse

I dette prosjektet skal vi designe en klokke og et automatiseringssystem med denne hjelpen kan vi slå PÅ eller AV hjemmelyset og det er også en klokke som viser klokkeslett og dato.

Til dette bruker vi TFT-skjerm (STONE-HMI), denne skjermen har en programvare som er en GUI-programvare med denne hjelpen skal vi designe grensesnitt som vil inneholde både seksjonsklokke og automatisering. Last ned GUI-programvaren Klikk her

Utforming av klokkedeler: -

La oss først designe klokkedelen, først må vi legge til alle bildene som er gitt i mappen klikk her.

Klokke og hjemmeautomatisering ved bruk av STONE Display IOT PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.Som  du kan se på venstre side, er alle bildene lagt til i delen av bildefilen. Klikk nå på bildet «14», så får du dette grensesnittet slik du ser på bildet. Velg nå «RTC» fra berøringskonfigurasjonen for å stille inn klokkeslettet og dater og gjør all konfigurasjonen for dette første legg til 'på siden'-bildet som bilde nummer 6 som skal brukes på tidspunktet for innstilling. Gå nå til bilde nummer 6 og legg til alle knappene og deres nøkkelverdier. Disse verdiene vil være i dette formatet.

Klokke og hjemmeautomatisering ved bruk av STONE Display IOT PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

For ‘1’ –  0031

For ‘2’ –  0031

For ‘3’ –  0031

For ‘4’ –  0031

For ‘5’ –  0031

For ‘6’ –  0031

For ‘7’ –  0031

For ‘8’ –  0031

For ‘9’ –  0031

For ‘0’ –  0030

For "OK" - 00F1

Etter det legg til knappeeffekt som bilde nimber-7 for alle knappene, slik at denne delen vil bli gjort for å stille inn klokken.la oss gå videre for å lage en visere.

På samme måte legg til Dial clock fra toppen og legg til alle, time, minutt og sekundviser for dette først må vi lage ikon for disse viserne, så for dette, gå til ikongeneratoren og velg disse bildene vil du finne en ny mappe i seksjonen av 'ikonfil' herfra må du velge alle ikonene i henhold til viserkravene. Deretter velger du alle ikonene i henhold til kravene til klokken, og ikke glem å velge midten av hver visere for klokken, med denne prosedyren dette vil bli gjort nå må vi gå for automatiseringsdelen og for dette har vi lagt til et automatiseringssymbol som du kan se i bildet ovenfor, for denne velgknappen og plasser den knappen i området til dette automatikonet og velg deretter ' sidebryter' som bilde-1 fordi dette er bildet for automatisering, velg deretter bilde-1 for videre utforming.

Design av automatiseringsdeler: -

Klokke og hjemmeautomatisering ved bruk av STONE Display IOT PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.La oss designe automatiseringsdelen for dette, vi krevde at Arduino skulle sende en bestemt nøkkelverdi over en adresse, her bruker vi '0001' for alle nøkkelverdiene. For Fan(ON)-knappen sender vi '0001'-nøkkelverdi og for Fan(OFF) ) vi sender '0002' nøkkelverdi på samme måte som vi sender for alle spesielle verdier for alle apparater. Her har vi også lagt til en knapp for å bytte til klokke GUI som vil hjelpe deg med å flytte fra dette grensesnittet til klokkegrensesnittet.

For sidebryteren bruker vi "knapp" som er plassert øverst til venstre og for automatiseringsknapp bruker vi funksjonen "retur trykk nøkkelverdi" som har to parameter først er adresseverdi og en annen er nøkkelverdi som vi har nevnt ovenfor. ved å bruke forskjellige nøkkelverdier for hver automatiseringsknapp.

Circuit Diagram

Klokke og hjemmeautomatisering ved bruk av STONE Display IOT PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.Som du kan se i forbindelsen er det tre lysdioder lys-1, lys-2, og for vifte her bruker vi kun lysdioder, men du kan koble faktiske apparater til dette. Lys-1 kobles til pinne-D6 på Arduino, lys- 2 koble til pin-D7 på Arduino, lignende Fan koble til D5 med Arduino. Og gjør tilkoblingen for Rx og Tx i henhold til kretsskjemaet. Her har vi koblet Tx med pin-2 og Rx med pin-3 til Arduino som i henhold til Arduino-koden. La oss gå videre hvordan det fungerer med koden.

Det finnes forskjellige typer seriell kommunikasjon. Når du bruker et Arduino-kort på et prosjekt, kan du velge standard Serial pins som Arduino-programvare seriell Rx Tx, fra UART inne i Arduino-kortet, så det kalles Serial TTL. I så fall bruker vi Hardware serial.h Library, men noen ekstra pinner kan fungere som Rx eller Tx. For eksempel kan SPI-kommunikasjonspinnene fungere som MISO, MOSI og Select (SC), men de er også pinner som kan fungere som en digital inngang eller digital utgang, eller hvis du trenger kan du bruke disse pinnene som Rx, Tx ved å bruke programvareserien .h bibliotek. 

La oss gå videre for å vite hvordan koden fungerer. 

Kode:- 

#include               //programvareseriebibliotek

SoftwareSerial max232(2,3);

char data; 

String mystring;

int f = 5; // Pin for Fan

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

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

ugyldig oppsett ()

{

Serial.begin(115200); //Her er Baudrate 115200

max232.begin(115200);

pinMode(f, OUTPUT);     

digitalWrite(f, LOW); 

pinMode(l1, OUTPUT);    

digitalSkriv(l1, LAV);

pinMode(l2, OUTPUT);    

digitalSkriv(l2, LAV);

}

ugyldig sløyfe ()

{

if (max232.available()>0)

 {

   data = max232.read();

   mystring = mystring + byte(data) ; 

   forsinkelse (10);

 }

else if (mystring.endsWith(“101”)) //condition for Fan PÅ

  {

    mystring = ""; 

   digitalSkriv(f,HØY);

  }

else if (mystring.endsWith(“102”)) //tilstand for vifte AV

  {

   mystring = ""; 

   digitalWrite(f,LOW);

  }

else if (mystring.endsWith(“103”)) //condition for Light-1 ON

  {

  mystring = ""; 

  digitalSkriv(l1,HØY);

  }

else if (mystring.endsWith(“104”)) //condition for Light-1 OFF

  {

   mystring = ""; 

   digitalSkriv(l1,LAV);

  }

else if (mystring.endsWith(“105”)) //condition for Light-2 ON

  {

  mystring = ""; 

  digitalSkriv(l2,HØY);

  }

else if (mystring.endsWith(“106”)) //condition for Light-2 OFF

  {

   mystring = ""; 

   digitalSkriv(l2,LAV);

  }

else if (mystring.endsWith(“107”)) //tilstand for Alle apparater PÅ

  {

   mystring = ""; 

   digitalSkriv(l1,HØY);

   digitalSkriv(l2,HØY);

   digitalSkriv(f,HØY);

  }

else if (mystring.endsWith(“108”)) //tilstand for alle apparater AV

  {

   mystring = ""; 

   digitalSkriv(l1,LAV);

   digitalSkriv(l2,LAV);

   digitalWrite(f,LOW);

  }

}

Arbeider :-

Som vi har diskutert bruker vi programvare-seriebibliotek for å overføre nøkkelverdien over en adresse, for dette har vi lagt til      i denne koden som gir grensesnittet for å koble til Arduino og STON-HMI-skjermen. Etter det har vi erklære all utgangspinnen uansett hva vi bruker for lysdiodene og viften, for disse enhetene har vi erklært disse pinnene som OUTPUT og deretter angi Baud-hastigheten for programvare-seriebiblioteket. Alt dette er gjort i den ugyldige oppsettdelen, la oss nå gå videre til å lage betingelsen for enhetene vi bruker, denne delen legges til i void-sløyfen fordi dette kommer til å gjenta seg mange ganger ettersom vi trykker på knappen på skjermen.

I void loop-seksjonen er det fire tilstander for enhetene. Den første betingelsen er for Vifte på og av her sender vi '0001' nøkkelverdi for PÅ tilstand og '0002' for av tilstand over adressen '0001' denne adressen er samme for alle enhetene. For den andre enheten som er for lys-1, sender vi '0003' for PÅ-tilstand og '0004' for av-tilstand, på samme måte for lys-2 '0005' for PÅ og '0006' for av-tilstand, så på denne måten fungerer disse forholdene for den enkelte enheten.

Det er en annen betingelse for å slå AV eller slå PÅ alle enheter samtidig for dette bruker vi '0007' for PÅ og '0008' for AV.

Utgang video:-

Klokke og hjemmeautomatisering ved bruk av STONE Display IOT PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Dette er utgangsvideoen til dette prosjektet i denne videoen som først viser oppsettet av klokken og det er arbeid med automatisering som du kan se i videoen.

Dette er utgangsvideoen du kan laste ned ved å klikke på den videoen. Vi har lagt til alle data relatert til dette. Hvis du er i tvil om GUI-design, kan du laste ned prosjektfilen og åpne den direkte i dette tilfellet trenger du ikke å design et hvilket som helst GUI du vil få det designet som vi har bygget. Men hvis du vil designe en annen GUI, må du følge alle trinnene.

Kode

//For mer informasjon om dette prosjektet besøk:- wwww.electrocircuit.net //

#inkludere

SoftwareSerial max232(2,3);

char data; 

String mystring;

int f = 5; 

int 1 = 6; 

int 2 = 7;  

ugyldig oppsett ()

{

Serial.begin (115200); 

max232.begin(115200);

pinMode(f, OUTPUT); /////////RØD////////

digitalWrite(f, LOW); 

pinMode(l1, OUTPUT); ////////GRØNN///////

digitalSkriv(l1, LAV);

pinMode(l2, OUTPUT); ///////BLÅ/////////

digitalSkriv(l2, LAV);

}

ugyldig sløyfe ()

{

if (max232.available()>0)

 {

   data = max232.read();

   mystring = mystring + byte(data) ; 

   forsinkelse (10);

 }

else if (mystring.endsWith(“101”))

  {

    mystring = ""; 

   digitalSkriv(f,HØY);

  }

else if (mystring.endsWith(“102”))

  {

   mystring = ""; 

   digitalWrite(f,LOW);

  }

else if (mystring.endsWith(“103”))

  {

  mystring = ""; 

  digitalSkriv(l1,HØY);

  }

else if (mystring.endsWith(“104”))

  {

   mystring = ""; 

   digitalSkriv(l1,LAV);

  }

else if (mystring.endsWith(“105”))

  {

  mystring = ""; 

  digitalSkriv(l2,HØY);

  }

else if (mystring.endsWith(“106”))

  {

   mystring = ""; 

   digitalSkriv(l2,LAV);

  }

else if (mystring.endsWith(“107”))

  {

   mystring = ""; 

   digitalSkriv(l1,HØY);

   digitalSkriv(l2,HØY);

   digitalSkriv(f,HØY);

  }

else if (mystring.endsWith(“108”))

  {

   mystring = ""; 

   digitalSkriv(l1,LAV);

   digitalSkriv(l2,LAV);

   digitalWrite(f,LOW);

  }

}

Kilde: Platon Data Intelligence