IOT

Tự động hóa đồng hồ và nhà bằng màn hình ĐÁ

Nội dung

  1. Mô tả
  2. Thiết kế GUI

3. Sơ đồ mạch

  1. Video

Mô tả

Trong dự án này, chúng tôi sẽ thiết kế một chiếc đồng hồ và một hệ thống tự động hóa với sự trợ giúp này, chúng tôi có thể BẬT hoặc TẮT đèn nhà và cũng có đồng hồ hiển thị ngày giờ.

Đối với điều này chúng tôi đang sử dụng Màn hình TFT (ĐÁ-HMI), màn hình này có một phần mềm là phần mềm GUI với sự trợ giúp này, chúng ta sẽ thiết kế giao diện chứa cả phần đồng hồ và tự động hóa. Tải xuống phần mềm GUI nhấn vào đây

Thiết kế phần đồng hồ: -

Đầu tiên chúng ta hãy thiết kế phần đồng hồ, đầu tiên chúng ta phải thêm tất cả các hình ảnh có trong thư mục, nhấp vào đây .

Như bạn có thể thấy ở phía bên trái, tất cả các hình ảnh đã được thêm vào phần tệp hình ảnh. Bây giờ hãy nhấp vào hình ảnh '14', bạn sẽ có giao diện này như bạn thấy trong hình ảnh. Bây giờ, hãy chọn 'RTC' từ cấu hình cảm ứng để cài đặt thời gian và ghi ngày tháng và thực hiện tất cả cấu hình cho hình ảnh 'trong trang' đầu tiên này làm hình ảnh số 6 sẽ được sử dụng tại thời điểm cài đặt. Bây giờ, hãy chuyển đến hình ảnh số 6 và thêm tất cả các nút và giá trị khóa của chúng. Giá trị này sẽ ở định dạng này.

Đối với '1' - 0031

Đối với '2' - 0031

Đối với '3' - 0031

Đối với '4' - 0031

Đối với '5' - 0031

Đối với '6' - 0031

Đối với '7' - 0031

Đối với '8' - 0031

Đối với '9' - 0031

Đối với '0' - 0030

Đối với 'OK'– 00F1

Sau đó, thêm hiệu ứng nút như hình ảnh nimber-7 cho tất cả các nút để phần này sẽ hoàn thành việc thiết lập đồng hồ. Hãy tiến xa hơn để tạo ra một chiếc kim đồng hồ.

Tương tự, thêm Đồng hồ quay số từ trên xuống và thêm tất cả kim giờ, phút và giây cho cái này trước tiên, chúng ta phải tạo biểu tượng cho những kim này để làm điều này, hãy đi tới trình tạo biểu tượng và chọn những hình ảnh này, bạn sẽ tìm thấy một thư mục mới trong phần Trong 'tệp biểu tượng' từ đây, bạn phải chọn tất cả biểu tượng theo yêu cầu của kim đồng hồ. Sau đó, chọn tất cả biểu tượng theo yêu cầu của kim đồng hồ và đừng quên chọn tâm của mỗi kim cho đồng hồ, với quy trình này việc này sẽ được thực hiện bây giờ chúng ta phải chuyển sang phần tự động hóa và để làm được điều này, chúng tôi đã thêm một biểu tượng tự động hóa như bạn có thể thấy trong hình trên, đối với nút chọn này và đặt nút đó vào khu vực của biểu tượng máy tự động này rồi chọn ' page switch' là image-1 vì đây là hình ảnh để tự động hóa sau đó chọn hình ảnh-1 để thiết kế thêm.

Thiết kế bộ phận tự động hóa: -

Hãy thiết kế phần tự động hóa cho việc này, chúng tôi yêu cầu Arduino gửi giá trị khóa cụ thể qua một địa chỉ, ở đây chúng tôi đang sử dụng '0001' cho tất cả giá trị khóa. Đối với nút Fan(ON), chúng tôi đang gửi giá trị khóa '0001' và cho Fan(OFF) ), chúng tôi đang gửi giá trị khóa '0002', tương tự như chúng tôi đang gửi cho tất cả giá trị cụ thể cho tất cả các thiết bị. Ở đây, chúng tôi cũng đã thêm một nút để chuyển sang GUI đồng hồ, nút này sẽ giúp chuyển từ giao diện này sang giao diện đồng hồ.

Đối với chuyển đổi trang, chúng tôi đang sử dụng 'nút' được đặt ở trên cùng bên trái và đối với nút tự động hóa, chúng tôi đang sử dụng chức năng 'trả lại giá trị phím nhấn' có hai tham số đầu tiên là giá trị địa chỉ và một tham số khác là giá trị khóa như chúng tôi đã đề cập ở trên. sử dụng giá trị khóa khác nhau cho mỗi nút tự động hóa.

Sơ đồ mạch

Như bạn có thể thấy trong kết nối, có ba đèn LED light-1,light-2 và đối với Fan ở đây, chúng tôi chỉ sử dụng đèn LED nhưng bạn có thể kết nối các thiết bị thực tế với đèn này.Light-1 kết nối với chân -D6 của Arduino,light- 2 kết nối với chân D7 của Arduino, Quạt tương tự kết nối với D5 với Arduino. Và thực hiện kết nối cho Rx và Tx theo sơ đồ mạch. Ở đây chúng tôi đã kết nối Tx với pin-2 và Rx với pin-3 của Arduino như theo mã Arduino. Hãy tìm hiểu thêm về cách nó hoạt động với mã.

Có nhiều loại Truyền thông nối tiếp khác nhau. Khi bạn sử dụng bo mạch Arduino trong một dự án, bạn có thể chọn các chân Nối tiếp tiêu chuẩn là nối tiếp phần mềm Arduino Rx Tx, từ UART bên trong bo mạch Arduino, vì vậy nó được gọi là Serial TTL. Trong trường hợp đó, chúng tôi đang sử dụng Thư viện serial.h Phần cứng, nhưng một số chân bổ sung có thể hoạt động như Rx hoặc Tx. Ví dụ: các chân giao tiếp SPI có thể hoạt động như MISO, MOSI và Select (SC), nhưng chúng cũng là các chân có thể hoạt động như đầu vào kỹ thuật số hoặc đầu ra kỹ thuật số hoặc nếu cần, bạn có thể sử dụng các chân đó làm Rx, Tx bằng cách sử dụng phần mềm nối tiếp. .h Thư viện. 

Hãy tiến xa hơn để biết mã hoạt động như thế nào. 

Mã số :- 

#bao gồm // thư viện nối tiếp phần mềm

Phần mềmSerial max232(2,3);

dữ liệu char; 

Chuỗi bí ẩn;

int f = 5; // Ghim cho quạt

int l1 = 6; // Ghim cho light-1

int l2 = 7; // Ghim cho light-2

void setup ()

{

Serial.begin(115200); // Ở đây Baudrate là 115200

max232.begin(115200);

pinMode(f, OUTPUT);     

digitalWrite(f, THẤP); 

pinMode(l1, OUTPUT);    

digitalWrite(l1, THẤP);

pinMode(l2, OUTPUT);    

digitalWrite(l2, THẤP);

}

void loop ()

{

if (max232.available()>0)

 {

   dữ liệu = max232.read();

   mystring = mystring + byte(data); 

   độ trễ (10);

 }

else if (mystring.endsWith(“101”)) //điều kiện cho Quạt BẬT

  {

    chuỗi bí ẩn = “”; 

   digitalWrite(f,HIGH);

  }

else if (mystring.endsWith(“102”)) //điều kiện cho quạt TẮT

  {

   chuỗi bí ẩn = “”; 

   digitalWrite(f,LOW);

  }

else if (mystring.endsWith(“103”)) //điều kiện để Light-1 BẬT

  {

  chuỗi bí ẩn = “”; 

  digitalWrite(l1,HIGH);

  }

else if (mystring.endsWith(“104”)) //điều kiện cho Light-1 TẮT

  {

   chuỗi bí ẩn = “”; 

   digitalWrite(l1,LOW);

  }

else if (mystring.endsWith(“105”)) //điều kiện để Light-2 BẬT

  {

  chuỗi bí ẩn = “”; 

  digitalWrite(l2,HIGH);

  }

else if (mystring.endsWith(“106”)) //điều kiện cho Light-2 TẮT

  {

   chuỗi bí ẩn = “”; 

   digitalWrite(l2,LOW);

  }

else if (mystring.endsWith(“107”)) //điều kiện cho Tất cả các thiết bị BẬT

  {

   chuỗi bí ẩn = “”; 

   digitalWrite(l1,HIGH);

   digitalWrite(l2,HIGH);

   digitalWrite(f,HIGH);

  }

else if (mystring.endsWith(“108”)) //điều kiện cho Tất cả các thiết bị TẮT

  {

   chuỗi bí ẩn = “”; 

   digitalWrite(l1,LOW);

   digitalWrite(l2,LOW);

   digitalWrite(f,LOW);

  }

}

Đang làm việc :-

Như chúng ta đã thảo luận, chúng ta đang sử dụng thư viện nối tiếp phần mềm để chuyển giá trị khóa qua một địa chỉ, để làm được điều này, chúng ta đã thêm trong mã này, nó cung cấp giao diện để kết nối màn hình Arduino và STON-HMI. Sau đó, chúng tôi đã khai báo tất cả các chân đầu ra bất cứ thứ gì chúng tôi đang sử dụng cho đèn LED và Quạt, đối với các thiết bị này, chúng tôi đã khai báo các Ghim này là OUTPUT, sau đó đặt tốc độ Baud cho thư viện nối tiếp phần mềm. Tất cả những điều này đã được thực hiện trong phần thiết lập void, bây giờ hãy chuyển sang tạo điều kiện cho các thiết bị chúng ta đang sử dụng, phần này được thêm vào vòng lặp void vì điều này sẽ lặp lại nhiều lần vì chúng ta sẽ nhấn nút nút trên màn hình.

Trong phần vòng lặp void, có bốn điều kiện cho thiết bị. Điều kiện đầu tiên là bật và tắt Quạt. Ở đây, chúng tôi đang gửi giá trị khóa '0001' cho điều kiện BẬT và '0002' cho điều kiện tắt qua địa chỉ '0001', địa chỉ này là tương tự cho tất cả các thiết bị. Đối với thiết bị thứ hai dành cho đèn-1, chúng tôi sẽ gửi '0003' cho điều kiện BẬT và '0004' cho điều kiện tắt, tương tự cho đèn-2 '0005' cho điều kiện BẬT và '0006 ' cho điều kiện tắt, vì vậy theo cách này, những điều kiện này sẽ hoạt động cho từng thiết bị.

Có thêm một điều kiện để TẮT hoặc BẬT tất cả các thiết bị cùng một lúc, chúng tôi đang sử dụng '0007' cho BẬT & '0008' cho TẮT.

Video đầu ra: -

Đây là video đầu ra của dự án này, trong video đầu tiên này hiển thị cách thiết lập đồng hồ và hoạt động tự động hóa như bạn thấy trong video.

Đây là video đầu ra mà bạn có thể tải xuống bằng cách nhấp vào video đó. Chúng tôi đã thêm tất cả dữ liệu liên quan đến vấn đề này. Nếu bạn có bất kỳ nghi ngờ nào về thiết kế GUI, bạn có thể tải xuống tệp dự án và mở nó trực tiếp trong trường hợp này, bạn không cần phải làm vậy thiết kế bất kỳ GUI nào bạn sẽ có được thiết kế mà chúng tôi đã xây dựng. Nhưng nếu bạn muốn thiết kế GUI khác thì bạn phải làm theo tất cả các bước.

// Để biết thêm thông tin về dự án này, hãy truy cập: - wwww.electro Circuit.net //

#include

Phần mềmSerial max232(2,3);

dữ liệu char; 

Chuỗi bí ẩn;

int f = 5; 

int l1 = 6; 

int l2 = 7;  

void setup ()

{

Serial.begin (115200); 

max232.begin(115200);

pinMode(f, OUTPUT); /////////MÀU ĐỎ////////

digitalWrite(f, THẤP); 

pinMode(l1, OUTPUT); ////////MÀU XANH LÁ///////

digitalWrite(l1, THẤP);

pinMode(l2, OUTPUT); ///////MÀU XANH DA TRỜI/////////

digitalWrite(l2, THẤP);

}

void loop ()

{

if (max232.available()>0)

 {

   dữ liệu = max232.read();

   mystring = mystring + byte(data); 

   độ trễ (10);

 }

khác nếu (mystring.endsWith(“101”))

  {

    chuỗi bí ẩn = “”; 

   digitalWrite(f,HIGH);

  }

khác nếu (mystring.endsWith(“102”))

  {

   chuỗi bí ẩn = “”; 

   digitalWrite(f,LOW);

  }

khác nếu (mystring.endsWith(“103”))

  {

  chuỗi bí ẩn = “”; 

  digitalWrite(l1,HIGH);

  }

khác nếu (mystring.endsWith(“104”))

  {

   chuỗi bí ẩn = “”; 

   digitalWrite(l1,LOW);

  }

khác nếu (mystring.endsWith(“105”))

  {

  chuỗi bí ẩn = “”; 

  digitalWrite(l2,HIGH);

  }

khác nếu (mystring.endsWith(“106”))

  {

   chuỗi bí ẩn = “”; 

   digitalWrite(l2,LOW);

  }

khác nếu (mystring.endsWith(“107”))

  {

   chuỗi bí ẩn = “”; 

   digitalWrite(l1,HIGH);

   digitalWrite(l2,HIGH);

   digitalWrite(f,HIGH);

  }

khác nếu (mystring.endsWith(“108”))

  {

   chuỗi bí ẩn = “”; 

   digitalWrite(l1,LOW);

   digitalWrite(l2,LOW);

   digitalWrite(f,LOW);

  }

}

Nguồn: Plato Data Intelligence