Làm thế nào để thiết kế hệ thống tự động hóa gia đình dựa trên Arduino bằng điều khiển từ xa?
Hệ thống tự động hóa gia đình là khái niệm phát triển nhanh nhất của thế giới hiện đại. Tự động hóa nhà thông minh là một khái niệm trong đó một thiết bị duy nhất được sử dụng để điều khiển các thông số điện tử khác nhau của ngôi nhà, ví dụ, chuyển đổi các thiết bị gia dụng, giám sát các báo động an ninh, tự động hóa cửa nhà để xe, v.v.
Trong dự án này, chúng tôi sẽ sử dụng một chiếc điều khiển TV đơn giản để tạo ra một hệ thống tự động hóa đơn giản tại nhà. Điều khiển từ xa TV này sẽ điều khiển tất cả các thiết bị được kết nối với bảng vi điều khiển.
Làm thế nào để sử dụng điều khiển từ xa TV để tạo hệ thống tự động hóa gia đình?
Hệ thống tự động hóa gia đình đã có sẵn trên thị trường, rất tốn kém. Chúng ta có thể sử dụng bảng Arduino để kết nối các thiết bị gia dụng khác nhau và điều khiển chúng bằng điều khiển từ xa của TV. Điều này sẽ có chi phí rất thấp và là một cách hiệu quả để tự động hóa ngôi nhà. Bây giờ chúng ta hãy đi trước một bước và bắt đầu thu thập thông tin để bắt đầu dự án.
Bước 1: Thu thập các thành phần
Cách tiếp cận tốt nhất để bắt đầu bất kỳ dự án nào là lập danh sách các thành phần và nghiên cứu ngắn gọn về các thành phần này vì sẽ không ai muốn mắc kẹt ở giữa dự án chỉ vì thiếu một thành phần. Dưới đây là danh sách các thành phần mà chúng tôi sẽ sử dụng trong dự án này:
Bước 2: Nghiên cứu các thành phần
Bây giờ khi chúng ta biết chúng ta sẽ sử dụng các thành phần nào, chúng ta hãy nghiên cứu chúng một cách ngắn gọn để hiểu rõ hơn về cách hoạt động của mạch.
Arduino Nano là một bảng vi điều khiển thực hiện các hoạt động khác nhau trong các mạch khác nhau. Nó yêu cầu một Mã C điều đó cho hội đồng quản trị biết những công việc cần thực hiện và cách thức thực hiện. Nó có 13 chân I / O kỹ thuật số có nghĩa là chúng ta có thể vận hành 13 thiết bị khác nhau. Nếu bạn muốn điều khiển nhiều hơn 13 thiết bị, hãy sử dụng Arduino Mega.
TSOP 1738 là một mô-đun IR cho Điều khiển từ xa. Nó có tần số sóng mang là 38kHz. Nó bao gồm một bộ tách sóng quang phát hiện tín hiệu và sau đó giải điều chế nó. Đầu ra của nó được sử dụng trực tiếp bởi Arduino hoặc bất kỳ bo mạch vi điều khiển nào khác.
Mô-đun rơle là một thiết bị chuyển mạch. Nó hoạt động ở hai chế độ, Thường mở (KHÔNG) và Bình thường Đã đóng (NC). Ở chế độ KHÔNG, mạch luôn bị hỏng trừ khi bạn gửi tín hiệu CAO đến rơ le thông qua Arduino. Chế độ NC xấu đi theo cách khác, Mạch luôn hoàn thành trừ khi bạn bật mô-đun rơle. Đảm bảo rằng bạn kết nối dây dương của Thiết bị điện với mô-đun rơ le theo cách được hiển thị bên dưới.
Điều khiển từ xa của TV tiêu chuẩn có nút nguồn và tất cả các phím số trên đó. Các phím số này sẽ được sử dụng để chuyển đổi các thiết bị điện.
Bước 3: Tạo mạch
Bây giờ khi chúng ta biết tất cả các thành phần hoạt động như thế nào, chúng ta hãy tiếp tục và bắt đầu tạo mạch.
- Lấy một breadboard và chèn Arduino Nano và TSOP 1738 của bạn vào đó.
- Cấp nguồn cho mô-đun TSOP 1738 và mô-đun chuyển tiếp thông qua Arduino. Kết nối NGOÀI chân của TSOP1738 với chân 11 của Arduino và cũng kết nối TRONG chân của mô-đun chuyển tiếp tới Arduino. Tôi chỉ điều khiển hai thiết bị điện nên tôi chỉ sử dụng mô-đun rơle ở đây. Nếu bạn muốn điều khiển nhiều thiết bị hơn, hãy kết nối nhiều mô-đun rơle hơn.
Bước 4: Bắt đầu với Arduino
Nếu bạn chưa làm việc trên Arduino IDE trước đây, đừng lo lắng vì từng bước thiết lập Arduino IDE được hiển thị bên dưới.
- Kết nối bảng Arduino của bạn với PC và mở Bảng điều khiển. Bấm vào Phần cứng và Âm thanh.Bây giờ mở Thiết bị và Máy in và tìm cổng mà bo mạch của bạn được kết nối. Trong trường hợp của tôi, nó là COM14nhưng nó khác nhau trong các máy tính khác nhau.
- Nhấp vào menu Công cụ và đặt bảng là Arduino Nano (AT Mega 328P).
- Nhấp lại vào menu Công cụ và đặt cổng mà bạn đã quan sát trong bảng điều khiển trước đó.
- Trong cùng một menu Công cụ, hãy đặt Bộ xử lý là ATmega328p (Bộ nạp khởi động cũ).
- Để giải mã dữ liệu được gửi bởi Điều khiển từ xa, chúng ta cần một thư viện đặc biệt cho mã A Arduino. Thư viện này được đính kèm cùng với mã trong liên kết bên dưới. Để thêm goto thư viện Phác thảo> Bao gồm Thư viện> Thêm Thư viện ZIP. Một hộp sẽ xuất hiện. Tìm thư mục ZIP trên máy tính của bạn và nhấp vào OK để bao gồm thư mục.
- Tải xuống mã được đính kèm bên dưới và nhấp vào nút tải lên để ghi mã trong bảng Arduino Nano của bạn.
Bấm vào nút tải xuống để lấy mã.
Bước 5: Mã
Mã rất dễ hiểu nhưng vẫn được mô tả ngắn gọn bên dưới.
1. void setup ()là một hàm trong đó chúng ta khởi tạo các chân INPUT hoặc OUTPUT. Chức năng này cũng đặt tốc độ truyền bằng cách sử dụng Serial.begin () chỉ huy. Tốc độ Baud là tốc độ truyền thông của vi điều khiển.
2. void loop ()là một hàm chạy lặp đi lặp lại trong một vòng lặp. Trong vòng lặp này, chúng tôi viết một đoạn mã cho bảng vi điều khiển biết những công việc cần thực hiện và cách thức thực hiện.
3. Khi chúng tôi gửi dữ liệu từ điều khiển TV, Arduino cần giải mã dữ liệu này. Đối với điều này, chúng tôi đã bao gồm một thư viện đặc biệt #include
#includeint RECV_PIN = 11; IRrecv không thể thay đổi (RECV_PIN); giải mã kết quả; void setup () {Serial.begin (9600); không thể thay đổi.enableIRIn (); } void loop () {if (’tcv.decode (& results)) {Serial.println (results.value, HEX); không thể tìm thấy (); } delay (100); }
Đoạn mã trên đang đọc các giá trị được gửi từ điều khiển từ xa và giải mã nó thành giá trị HEX tương ứng. Mã này được lấy từ các ví dụ của thư viện IRremote trong Arduino IDE. Mã này cũng được đính kèm trong liên kết tải xuống theo tên test.ino đã cung cấp ở trên. Đầu ra của chức năng này, khi tất cả các phím số được nhấn, sẽ là:
4. Trong code.ino được đính kèm trong liên kết tải xuống ở trên, các chân của Arduino sẽ được sử dụng được khởi tạo. bên trong void loop () chức năng, khi một nút trên điều khiển từ xa được nhấn, ban đầu Sai điều kiện được chuyển sang Thậtvà rơ le tương ứng được bật. Nếu nhấn lại cùng một nút, Nó sẽ chuyển đổi trạng thái boolean và tắt rơ le. Nút nguồn sẽ bật hoặc tắt tất cả các Rơle.
void loop () {if (’tcv.decode (& results)) {Serial.println (results.value, HEX); chậm trễ (100); if (results.value == 0x40BD00FF) {i =! i; digitalWrite (IN1, i); } if (results.value == 0x40BD807F) {j =! j; digitalWrite (IN2, j); // delay (200); } if (results.value == 0x40BD28D7) {m =! m; digitalWrite (IN1, m); digitalWrite (IN2, m); digitalWrite (IN3, m); digitalWrite (IN4, m); // delay (200); } unacv.resume (); // Nhận giá trị tiếp theo // delay (100); }}
Đây là toàn bộ quy trình để tạo ra một Hệ thống tự động hóa gia đình đơn giản được điều khiển bằng điều khiển từ xa của TV. Giờ đây, bạn có thể kết nối các mô-đun chuyển tiếp theo số lượng thiết bị của mình và tận hưởng Hệ thống tự động hóa nhà thông minh của riêng bạn.