Dự án này giải thích việc thiết kế một hệ thống tự động hóa gia đình được điều khiển bằng máy tính để Bật và Tắt các thiết bị điện và điện tử khác nhau. Để trình diễn, chúng tôi đã sử dụng 3 bóng đèn không watt cho biết LIGHT, FAN và TV. Nó sử dụng bảng Arduino Uno làm bộ điều khiển và một rơ le 5V để kết nối bóng đèn với mạch.
Có thể có nhiều loại truyền thông khác nhau để điều khiển các thiết bị như thiết bị gia dụng, thiết bị công nghiệp, v.v. Nói chung, chúng ta có thể phân loại chúng là có dây và không dây. Ví dụ trong giao tiếp không dây, chúng tôi truyền tín hiệu bằng tần số vô tuyến (RF) và trong giao tiếp có dây, chúng tôi sử dụng dây. Giao tiếp có dây còn có thể được phân loại là:
Giao tiếp song song
Truyền thông nối tiếp
Trong giao tiếp song song, chúng ta sử dụng nhiều dây tùy thuộc vào kích thước dữ liệu tính bằng bit, tức là nếu chúng ta cần truyền 8 bit thì chúng ta sẽ cần một dây 8 bit. Nhưng trong truyền thông nối tiếp chúng ta chỉ sử dụng hai dây để truyền dữ liệu và nhận dữ liệu như trong truyền thông nối tiếp dữ liệu được truyền nối tiếp tức là từng bit.
Thành phần bắt buộc
Arduino UNO
Cáp nối tiếp
ULN2003
Rơ le 5 volt
Bóng đèn có giá đỡ
Kết nối dây
Bảng bánh mì
LCD 16x2
Máy tính xách tay
Nguồn cấp
PVT
Chuyển tiếp
Chúng ta cần một rơ le để kết nối các mạch điện với các thiết bị điện xoay chiều cao hơn như bóng đèn, TV, quạt,… Rơ le là một loại công tắc được sử dụng để giao tiếp điện tử với điện. Rơle chứa một cuộn dây và một số lõi tiếp điểm chuyển mạch. Có nhiều loại rơ le khác nhau, như:
Một cực đơn xuyên qua (SPST).
Một cực kép qua (SPDT).
Double Pole single Through (DPST).
Hai cực Double Through (DPDT).
Ở đây chúng tôi đã sử dụng rơle kép thông qua (SPDT) đơn cực. Rơle SPDT chứa năm chân, trong đó 2 chân cho cuộn dây và một chân cho cực và hai chân khác là "Thường kết nối" (NC) và "Thường mở" (NO).
Sơ đồ mạch và giải thích
Như thể hiện trong sơ đồ trên, một mô-đun LCD 16x2 được sử dụng để hiển thị trạng thái của các thiết bị gia dụng được kết nối trực tiếp với arduino ở chế độ 4-bit. Các chân dữ liệu của LCD như RS, EN, D4, D5, D6, D7 được kết nối với chân số của arduino số 7, 6, 5, 4, 3, 2. Để gửi lệnh đến arduino từ máy tính xách tay hoặc PC, chúng tôi sử dụng cáp USB mà chúng tôi được sử dụng để tải lên chương trình vào arduino. Và một IC điều khiển rơ le ULN2003 cũng được sử dụng cho rơ le dẫn động. Rơ le 5 volt SPDT 3 được sử dụng để điều khiển LIGHT, FAN và TV. Và rơ le được kết nối với chân arduino số 3, 4 và 5 thông qua IC điều khiển rơ le ULN2003 để điều khiển LIGHT, FAN và TV tương ứng.
Ở đây giao tiếp nối tiếp được sử dụng để điều khiển các thiết bị gia dụng. Chúng tôi gửi các lệnh như LIGHT ON, LIGHT OFF, FAN ON, FAN OFF, TV ON AND TV OFF để điều khiển các thiết bị gia dụng AC. Sau khi nhận được các lệnh nhất định, arduino gửi tín hiệu đến các rơ le chịu trách nhiệm bật hoặc tắt thiết bị.
Khi chúng ta nhấn ENTER sau khi gõ một trong bất kỳ lệnh nhất định nào trên siêu thiết bị đầu cuối hoặc thiết bị đầu cuối nối tiếp, arduino thực hiện tác vụ tương đối như bật “quạt” và tương tự như các tác vụ khác. Và một thông báo liên quan cũng được hiển thị trên màn hình LCD 16x2 được lập trình trong mã. (Xem phần mã ở dưới cùng)
Giải thích mã
Trước hết, chúng tôi bao gồm thư viện cho màn hình tinh thể lỏng và sau đó chúng tôi xác định dữ liệu và các chân điều khiển cho màn hình LCD và các thiết bị gia dụng.
Sau khi nó giao tiếp nối tiếp được khởi tạo ở 9600 bps và đưa ra hướng sử dụng chân.
Để nhận dữ liệu nối tiếp, chúng tôi sử dụng hai chức năng - một là Serial.available kiểm tra dữ liệu nối tiếp nào có đến hay không và một chức năng khác là Serial, đọc sẽ đọc dữ liệu đến theo thứ tự.
Sau khi nhận dữ liệu theo thứ tự, chúng tôi lưu trữ nó trong một chuỗi và sau đó đợi Enter.
Khi nhấn enter, chương trình bắt đầu so sánh chuỗi đã nhận với chuỗi đã được xác định và nếu chuỗi khớp thì một hoạt động tương đối được thực hiện bằng cách sử dụng lệnh thích hợp được đưa ra trong mã.
Để sử dụng chuỗi so sánh, chúng tôi đã sử dụng một thư viện là string.h có một số từ khóa như strcmp, strncmp, strcpy, v.v.