IOT

Zegar i automatyka domowa za pomocą wyświetlacza STONE

Spis treści

  1. Opis
  2. Projekt GUI

3. Schemat obwodu

  1. Code
  2. Wideo

Opis

W tym projekcie zaprojektujemy zegar i system automatyki, za pomocą którego będziemy mogli włączać lub wyłączać oświetlenie w domu, a także zegar, który pokaże godzinę i datę.

Do tego używamy Wyświetlacz TFT (STONE-HMI), ten wyświetlacz ma oprogramowanie, które jest oprogramowaniem GUI, z tą pomocą zaprojektujemy interfejs, który będzie zawierał zarówno zegar sekcji, jak i automatykę. Pobierz oprogramowanie GUI kliknij tutaj

Projektowanie części zegara :-

Najpierw zaprojektujmy część zegara, najpierw musimy dodać wszystkie obrazy, które są podane w folderze kliknij tutaj.

Zegar i automatyka domowa przy użyciu STONE Display IOT PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. Aj.Jak widać po lewej stronie, wszystkie obrazy zostały dodane w sekcji pliku obrazu. Teraz kliknij obraz „14”, a zobaczysz ten interfejs, jak widać na obrazku. Teraz wybierz „RTC” z konfiguracji dotykowej, aby ustawić czas i datę i wykonaj całą konfigurację dla tego najpierw dodaj obraz „na stronie” jako obraz numer 6, który będzie używany w momencie ustawiania. Teraz przejdź do obrazu numer 6 i dodaj wszystkie przyciski i ich wartości kluczy. być w tym formacie.

Zegar i automatyka domowa przy użyciu STONE Display IOT PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. Aj.

Dla „1” — 0031

Dla „2” — 0031

Dla „3” — 0031

Dla „4” — 0031

Dla „5” — 0031

Dla „6” — 0031

Dla „7” — 0031

Dla „8” — 0031

Dla „9” — 0031

Dla „0” — 0030

Dla „OK” – 00F1

Następnie dodaj efekt przycisku jako obrazek nimber-7 dla wszystkich przycisków, dzięki czemu w tej części zostanie wykonane ustawienie zegara. Przejdźmy dalej, aby stworzyć wskazówki zegara.

Podobnie dodaj zegar wybierania od góry i dodaj wszystkie ,godziny,minuty i sekundy dla tego najpierw musimy zrobićikony dla tych wskazówek, więc w tym celu przejdź do generatora ikon i wybierz te obrazy, znajdziesz nowy folder w sekcji z „pliku ikon” stąd musisz wybrać wszystkie ikony zgodnie z wymaganiami wskazówek. Następnie wybierz wszystkie ikony zgodnie z wymaganiami wskazówek zegara i nie zapomnij wybrać środka każdej wskazówki zegara, za pomocą tej procedury zostanie to zrobione teraz musimy przejść do części automatyzacji i do tego dodaliśmy symbol automatyzacji, jak widać na powyższym obrazku, dla tego przycisku wyboru i umieścić ten przycisk w obszarze tej ikony automatu, a następnie wybierz ' przełącznik strony' jako obraz-1, ponieważ jest to obraz do automatyzacji, po czym wybierz obraz-1 do dalszego projektowania.

Projektowanie części automatyki :-

Zegar i automatyka domowa przy użyciu STONE Display IOT PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. Aj.Zaprojektujmy do tego część automatyzacji, wymagaliśmy od Arduino wysłania określonej wartości klucza przez adres, tutaj używamy „0001” dla wszystkich wartości klucza. Dla przycisku Fan (ON) wysyłamy wartość klucza „0001”, a dla Fan (OFF ) wysyłamy wartość klucza '0002', podobnie wysyłamy dla wszystkich poszczególnych wartości dla wszystkich urządzeń. Tutaj dodaliśmy również przycisk do przełączania na GUI zegara, który pomoże przejść z tego interfejsu do interfejsu zegara.

Do przełączania stron używamy 'przycisku', który znajduje się po lewej stronie u góry, a do przycisku automatyzacji używamy funkcji 'powrót naciśnięcia wartości klawisza', która ma dwa parametry, pierwszy to wartość adresu, a drugi to wartość klucza, jak wspomnieliśmy powyżej, jesteśmy przy użyciu różnych wartości klucza dla każdego przycisku automatyzacji.

Schemat obwodu

Zegar i automatyka domowa przy użyciu STONE Display IOT PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. Aj.Jak widać w połączeniu, są trzy diody LED light-1, light-2, a dla Fan tutaj używamy tylko diod LED, ale można do nich podłączyć rzeczywiste urządzenia. Light-1 łączy się z pinem -D6 Arduino, light- 2 połącz się z pinem D7 Arduino, podobny wentylator połącz z D5 z Arduino. I wykonaj połączenie dla Rx i Tx zgodnie ze schematem obwodu. Tutaj połączyliśmy Tx z pinem-2 i Rx z pinem-3 Arduino jako na kod Arduino. Przejdźmy dalej, jak to działa z kodem.

Istnieją różne rodzaje komunikacji szeregowej. Kiedy używasz płytki Arduino w projekcie, możesz wybrać standardowe piny szeregowe jako serial oprogramowania Arduino Rx Tx, z UART wewnątrz płyty Arduino, więc nazywa się to Serial TTL. W takim przypadku korzystamy z biblioteki sprzętowej serial.h, ale niektóre dodatkowe piny mogą działać jako Rx lub Tx. Na przykład piny komunikacyjne SPI mogą działać jako MISO, MOSI i Select (SC), ale są to również piny, które mogą działać jako wejście cyfrowe lub wyjście cyfrowe, a jeśli zajdzie taka potrzeba, możesz użyć tych pinów jako Rx, Tx za pomocą oprogramowania szeregowego .h Biblioteka. 

Przejdźmy dalej, aby dowiedzieć się, jak działa kod. 

Kod :- 

#włączać //programowa biblioteka szeregowa

OprogramowanieSerial max232(2,3);

dane znakowe; 

ciąg znaków;

int f = 5; // Pin dla Fana

int l1 = 6; // Pin dla światła-1

int l2 = 7; // Pin dla światła-2

void setup ()

{

Serial.begin(115200); //Tutaj szybkość transmisji wynosi 115200

max232.początek (115200);

pinMode(f, WYJŚCIE);     

digitalWrite(f, NISKI); 

pinMode(l1, WYJŚCIE);    

digitalWrite(l1, NISKI);

pinMode(l2, WYJŚCIE);    

digitalWrite(l2, NISKI);

}

void loop ()

{

jeśli (max232.available()>0)

 {

   dane = max232.odczyt();

   mystring = mystring + bajt(dane) ; 

   opóźnienie (10);

 }

else if (mystring.endsWith(“101”)) //warunek WŁĄCZENIA WENTYLATORA

  {

    mystring = „”; 

   digitalWrite(f,WYSOKI);

  }

else if (mystring.endsWith(“102”)) //warunek WYŁĄCZENIA WENTYLATORA

  {

   mystring = „”; 

   digitalWrite(f,NISKI);

  }

else if (mystring.endsWith(“103”)) //warunek dla Light-1 ON

  {

  mystring = „”; 

  digitalWrite(l1,WYSOKI);

  }

else if (mystring.endsWith(“104”)) //warunek dla Light-1 OFF

  {

   mystring = „”; 

   zapis cyfrowy(l1,LOW);

  }

else if (mystring.endsWith(“105”)) //warunek dla Light-2 ON

  {

  mystring = „”; 

  digitalWrite(l2,WYSOKI);

  }

else if (mystring.endsWith(“106”)) //warunek dla Light-2 OFF

  {

   mystring = „”; 

   zapis cyfrowy(l2,LOW);

  }

else if (mystring.endsWith(“107”)) //warunek dla WŁĄCZENIA wszystkich urządzeń

  {

   mystring = „”; 

   digitalWrite(l1,WYSOKI);

   digitalWrite(l2,WYSOKI);

   digitalWrite(f,WYSOKI);

  }

else if (mystring.endsWith(“108”)) //warunek dla WYŁĄCZENIA wszystkich urządzeń

  {

   mystring = „”; 

   zapis cyfrowy(l1,LOW);

   zapis cyfrowy(l2,LOW);

   digitalWrite(f,NISKI);

  }

}

Pracujący :-

Jak omówiliśmy, używamy biblioteki oprogramowania szeregowego do przeniesienia wartości klucza na adres, w tym celu dodaliśmy w tym kodzie daje to interfejs do podłączenia wyświetlacza Arduino i STON-HMI. Następnie zadeklarujemy wszystkie piny wyjściowe, których używamy dla diod LED i wentylatora, dla tych urządzeń zadeklarowaliśmy te piny jako WYJŚCIE, a następnie ustawiliśmy szybkość transmisji dla biblioteki oprogramowania-serial. wszystko to zostało zrobione w części konfiguracji void, teraz przejdźmy do warunku dla używanych urządzeń, ta część jest dodawana w pętli void, ponieważ będzie to powtarzać się wiele razy, gdy naciśniemy na wyświetlaczu.

W sekcji void loop znajdują się cztery warunki dla urządzeń. Pierwszy warunek dotyczy włączenia i wyłączenia wentylatora, tutaj wysyłamy wartość klucza „0001” dla warunku włączenia i „0002” dla warunku wyłączenia przez adres „0001” ten adres jest to samo dla wszystkich urządzeń.Dla drugiego urządzenia, które jest dla światła-1, wysyłamy „0003” dla stanu włączenia i „0004” dla stanu wyłączenia, podobnie dla światła-2 „0005” dla stanu włączenia i „0006” dla stanu wyłączenia, więc w ten sposób warunki te działają dla pojedynczego urządzenia.

Jest jeszcze jeden warunek, aby wyłączyć lub włączyć wszystkie urządzenia jednocześnie, w tym celu używamy „0007” dla WŁĄCZENIA i „0008” dla WYŁĄCZENIA.

Wyjście wideo:-

Zegar i automatyka domowa przy użyciu STONE Display IOT PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. Aj.

To jest wideo wyjściowe tego projektu w tym filmie, pokazujące najpierw konfigurację zegara i działa automatyzacja, jak widać na filmie.

To jest wyjściowe wideo, które możesz pobrać, klikając ten film. Dodaliśmy wszystkie dane z tym związane, jeśli masz jakiekolwiek wątpliwości dotyczące projektowania GUI, możesz pobrać plik projektu i otworzyć go bezpośrednio, w tym przypadku nie musisz zaprojektuj dowolny GUI, otrzymasz projekt, który zbudowaliśmy. Ale jeśli chcesz zaprojektować inny GUI, musisz wykonać wszystkie kroki.

Code

//Więcej informacji na temat tego projektu można znaleźć na stronie:- www.electrocircuit.net //

#zawierać

OprogramowanieSerial max232(2,3);

dane znakowe; 

ciąg znaków;

intf = 5; 

int l1 = 6; 

int l2 = 7;  

void setup ()

{

Serial.begin (115200); 

max232.początek (115200);

pinMode(f, WYJŚCIE); /////////CZERWONY////////

digitalWrite(f, NISKI); 

pinMode(l1, WYJŚCIE); ////////ZIELONY///////

digitalWrite(l1, NISKI);

pinMode(l2, WYJŚCIE); ///////NIEBIESKI/////////

digitalWrite(l2, NISKI);

}

void loop ()

{

jeśli (max232.available()>0)

 {

   dane = max232.odczyt();

   mystring = mystring + bajt(dane) ; 

   opóźnienie (10);

 }

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

  {

    mystring = „”; 

   digitalWrite(f,WYSOKI);

  }

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

  {

   mystring = „”; 

   digitalWrite(f,NISKI);

  }

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

  {

  mystring = „”; 

  digitalWrite(l1,WYSOKI);

  }

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

  {

   mystring = „”; 

   zapis cyfrowy(l1,LOW);

  }

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

  {

  mystring = „”; 

  digitalWrite(l2,WYSOKI);

  }

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

  {

   mystring = „”; 

   zapis cyfrowy(l2,LOW);

  }

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

  {

   mystring = „”; 

   digitalWrite(l1,WYSOKI);

   digitalWrite(l2,WYSOKI);

   digitalWrite(f,WYSOKI);

  }

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

  {

   mystring = „”; 

   zapis cyfrowy(l1,LOW);

   zapis cyfrowy(l2,LOW);

   digitalWrite(f,NISKI);

  }

}

Źródło: Plato Data Intelligence