IOT

Ceasul și automatizarea casei folosind STONE Display

Cuprins

  1. Descriere
  2. Design GUI

3 .Diagrama circuitului

  1. Cod
  2. Video

Descriere

În acest proiect vom proiecta un ceas și un sistem de automatizare cu acest ajutor putem aprinde sau stinge lumina de acasă și există și un ceas care va arăta ora și data.

Pentru asta folosim Afișaj TFT (STONE-HMI), acest afișaj are un software care este un software GUI cu acest ajutor vom proiecta interfața care va conține atât ceasul secțiunii, cât și automatizarea. Descărcați software-ul GUI click aici

Proiectarea piesei ceasului:-

Să proiectăm mai întâi partea ceasului, mai întâi trebuie să adăugăm toate imaginile care sunt date în folderul clic aici .

După cum puteți vedea în partea stângă, toate imaginile au fost adăugate în secțiunea fișierului imagine. Acum faceți clic pe imaginea „14”, veți obține această interfață așa cum vedeți în imagine. Acum selectați „RTC” din configurația tactilă pentru a seta ora. și datați și faceți toate configurațiile pentru această mai întâi adăugați imaginea „în pagină” ca imaginea cu numărul 6, care va fi utilizată în momentul setării. Acum mergeți la imaginea numărul 6 și adăugați toate butoanele și valorile cheilor acestora. Aceste valori vor fi în acest format.

Pentru „1” — 0031

Pentru „2” — 0031

Pentru „3” — 0031

Pentru „4” — 0031

Pentru „5” — 0031

Pentru „6” — 0031

Pentru „7” — 0031

Pentru „8” — 0031

Pentru „9” — 0031

Pentru „0” — 0030

Pentru „OK” – 00F1

După aceea, adăugați efectul butonului ca imaginea nimber-7 pentru toate butoanele, astfel încât prin această parte se va face setările ceasului. Să mergem mai departe pentru a crea un ceas.

În mod similar, adăugați Dial clock de sus și adăugați toate ,ora,minutele și secundele pentru aceasta mai întâi trebuie să facem pictogramă pentru aceste mâini, așa că pentru aceasta mergeți la generatorul de pictograme și selectați aceste imagini, veți găsi un nou folder în secțiunea din „fișierul pictogramei” de aici trebuie să selectați toate pictogramele în funcție de cerințele mâinii. După aceea, selectați toate pictograma în funcție de cerințele acelui ceasului și nu uitați să selectați centrul fiecărei mâini pentru ceas, cu această procedură acest lucru se va face acum trebuie să mergem pentru partea de automatizare și pentru aceasta am adăugat un simbol de automatizare așa cum puteți vedea în imaginea de mai sus, pentru acest buton de selectare și puneți acel buton în zona acestei pictograme automat și apoi selectați " comutator de pagină' ca imagine-1, deoarece aceasta este imaginea pentru automatizare după aceea selectați imaginea-1 pentru proiectare ulterioară.

Proiectare piese de automatizare:-

Să proiectăm o parte de automatizare pentru aceasta, am cerut Arduino să trimită o anumită valoare cheie peste o adresă, aici folosim „0001” pentru toată valoarea cheie. Pentru butonul Fan(ON) trimitem valoarea cheie „0001” și pentru Fan(OFF) ) trimitem valoarea cheie „0002”, în mod similar, trimitem pentru toate valorile particulare pentru toate aparatele. Aici am adăugat, de asemenea, un buton pentru a comuta la GUI cu ceas, care va ajuta la trecerea de la această interfață la interfața ceasului.

Pentru comutatorul de pagină folosim „butonul” care este plasat în partea stângă sus, iar pentru butonul de automatizare folosim funcția „return apăsați valoarea tastei”, care are doi parametri mai întâi este valoarea adresei și altul este valoarea cheie, așa cum am menționat mai sus. folosind valori diferite ale cheii pentru fiecare buton de automatizare.

Schema

După cum puteți vedea în conexiune, există trei LED-uri light-1,light-2 și pentru Fan aici folosim doar LED-uri, dar puteți conecta aparate reale la aceasta. Light-1 conectați la pinul -D6 al Arduino ,light- 2 conectați la pinul-D7 al Arduino, un ventilator similar se conectează cu D5 cu Arduino. Și faceți conexiunea pentru Rx și Tx conform diagramei de circuit. Aici am conectat Tx cu pin-2 și Rx cu pin-3 al Arduino ca conform codului Arduino. Să mergem mai departe cum funcționează cu codul.

Există diferite tipuri de comunicații seriale. Când utilizați o placă Arduino pe un proiect, puteți alege pinii Serial standard ca software-ul Arduino serial Rx Tx, din UART din interiorul plăcii Arduino, deci se numește Serial TTL. În acest caz, folosim Biblioteca Hardware serial.h, dar unii pini suplimentari pot funcționa ca Rx sau Tx. De exemplu, pinii de comunicare SPI pot funcționa ca MISO, MOSI și Select (SC), dar sunt și pini care pot funcționa ca intrare digitală sau ieșire digitală sau, dacă aveți nevoie, puteți utiliza acești pini ca Rx, Tx folosind serialul software. .h Biblioteca. 

Să mergem mai departe pentru a ști cum funcționează codul. 

Cod:- 

#include //Bibliotecă serială software

SoftwareSerial max232(2,3);

date char; 

String mystring;

int f = 5; // Pin pentru ventilator

int l1 = 6; // Pin pentru lumina-1

int l2 = 7; // Pin pentru lumina-2

configurare nulă ()

{

Serial.begin(115200); //Aici Baudrate este 115200

max232.begin(115200);

pinMode(f, IEȘIRE);     

digitalWrite(f, LOW); 

pinMode(l1, OUTPUT);    

digitalWrite(l1, LOW);

pinMode(l2, OUTPUT);    

digitalWrite(l2, LOW);

}

bucla nulă ()

{

dacă (max232.available()>0)

 {

   date = max232.read();

   mystring = mystring + byte(date) ; 

   întârziere (10);

 }

else if (mystring.endsWith(“101”)) //condiție pentru ventilator ON

  {

    mystring = „”; 

   digitalWrite(f,HIGH);

  }

else if (mystring.endsWith(“102”)) //condiție pentru ventilator OFF

  {

   mystring = „”; 

   digitalWrite(f,LOW);

  }

else if (mystring.endsWith(“103”)) //condiție pentru Light-1 ON

  {

  mystring = „”; 

  digitalWrite(l1,HIGH);

  }

else if (mystring.endsWith(“104”)) //condiție pentru Light-1 OFF

  {

   mystring = „”; 

   digitalWrite(l1,LOW);

  }

else if (mystring.endsWith(“105”)) //condiție pentru Light-2 ON

  {

  mystring = „”; 

  digitalWrite(l2,HIGH);

  }

else if (mystring.endsWith(“106”)) //condiție pentru Light-2 OFF

  {

   mystring = „”; 

   digitalWrite(l2,LOW);

  }

else if (mystring.endsWith(“107”)) //condiție pentru toate aparatele ON

  {

   mystring = „”; 

   digitalWrite(l1,HIGH);

   digitalWrite(l2,HIGH);

   digitalWrite(f,HIGH);

  }

else if (mystring.endsWith(“108”)) //condiție pentru toate aparatele OFF

  {

   mystring = „”; 

   digitalWrite(l1,LOW);

   digitalWrite(l2,LOW);

   digitalWrite(f,LOW);

  }

}

De lucru:-

După cum am discutat, folosim biblioteca software-serial pentru a transfera valoarea cheii peste o adresă, pentru aceasta am adăugat în acest cod, aceasta dă interfața pentru a conecta Arduino și afișajul STON-HMI. După aceea, am declarat tot pinul de ieșire, indiferent ce folosim pentru LED-uri și ventilator, pentru aceste dispozitive am declarat acești pini ca IEȘIRE, apoi setăm rata de baud pentru biblioteca software-serial. Toate acestea au fost făcute în partea de configurare a golului acum, să trecem pentru a face condiția pentru dispozitivele pe care le folosim, această parte este adăugată în bucla de gol, deoarece aceasta se va repeta de multe ori, deoarece vom apăsa tasta butonul de pe display.

În secțiunea de buclă goală există patru condiții pentru dispozitive. Prima condiție este pentru pornirea și oprirea ventilatorului, aici trimitem valoarea cheie „0001” pentru starea ON și „0002” pentru starea oprită peste adresa „0001”, această adresă este Același lucru pentru toate dispozitivele. Pentru al doilea dispozitiv, care este pentru lumina-1, trimitem „0003” pentru starea ON și „0004” pentru starea oprită, în mod similar pentru light-2, „0005” pentru ON și „0006” pentru starea oprită, deci în acest fel aceste condiții funcționează pentru dispozitivul individual.

Mai există o condiție pentru a opri sau a porni toate dispozitivele simultan, pentru aceasta, folosim „0007” pentru ON și „0008” pentru OFF.

Ieșire video:-

Acesta este videoclipul de ieșire al acestui proiect în acest videoclip care arată mai întâi configurarea ceasului și funcționarea automatizării, așa cum puteți vedea în videoclip.

Acesta este videoclipul de ieșire pe care îl puteți descărca făcând clic pe acel videoclip. Am adăugat toate datele legate de acesta, dacă aveți vreo îndoială cu privire la proiectarea GUI, puteți descărca fișierul de proiect și îl deschideți direct, în acest caz, nu trebuie să proiectați orice GUI, veți obține acel design pe care l-am construit. Dar dacă doriți să proiectați o interfață grafică diferită, atunci trebuie să urmați toți pașii.

Cod

//Pentru mai multe informații despre acest proiect vizitați:- wwww.electrocircuit.net //

#include

SoftwareSerial max232(2,3);

date char; 

String mystring;

int f = 5; 

int l1 = 6; 

int l2 = 7;  

configurare nulă ()

{

Serial.begin (115200); 

max232.begin(115200);

pinMode(f, IEȘIRE); /////////ROȘU////////

digitalWrite(f, LOW); 

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

digitalWrite(l1, LOW);

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

digitalWrite(l2, LOW);

}

bucla nulă ()

{

dacă (max232.available()>0)

 {

   date = max232.read();

   mystring = mystring + byte(date) ; 

   întârziere (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);

  }

}

Sursa: Plato Data Intelligence