- Vật liệu thiết yếu:
- Phương pháp làm việc:
- Điều kiện tiên quyết:
- Hoạt động của Điều khiển từ xa AC:
- Sơ đồ mạch và giải thích:
- Giải mã tín hiệu điều khiển từ xa AC của bạn:
- Chương trình Arduino chính:
- Cài đặt ứng dụng Android:
- Hoạt động của điện thoại di động AC điều khiển:
Trong thế giới hiện đại ngày nay, đi đâu chúng ta cũng có rất nhiều thiết bị điện tử xung quanh mình. Tuy nhiên, trên tất cả, chỉ có một thiết bị mà cá nhân chúng ta luôn có trong túi. Vâng, đó là điện thoại di động của chúng tôi. Bây giờ điện thoại di động đã trở thành nhiều hơn một thiết bị được sử dụng để liên lạc, chúng là máy ảnh của chúng tôi, chúng là bản đồ của chúng tôi, chúng là xe đẩy đi chợ của chúng tôi và những gì không?
Với khả năng này trong tay chúng tôi, thực sự là một ý tưởng nhàm chán khi sử dụng Điều khiển từ xa để điều khiển bất kỳ ứng dụng điện tử nào trong nhà của chúng tôi như TV, AC, rạp hát tại nhà, v.v. Thật khó chịu khi tiếp cận với Điều khiển từ xa của AC từ sự thoải mái dễ chịu trên Giường của chúng tôi hoặc ghế sofa. Do đó, trong dự án này, chúng tôi sẽ xây dựng một thiết lập nhỏ sử dụng để bạn có thể điều khiển Máy điều hòa thông qua điện thoại thông minh bằng Bluetooth và Arduino. Nghe thật thú vị phải không! Hãy xây dựng một
Vật liệu thiết yếu:
- Arduino Mega 2560
- TSOP (HS0038)
- IR Led
- Bất kỳ đèn LED màu nào và điện trở 1K (tùy chọn)
- HC-06
- Breadboard
- Kết nối dây
Phương pháp làm việc:
Tất cả các Điều khiển từ xa trong nhà của chúng tôi mà chúng tôi sử dụng để điều khiển TV, rạp hát tại nhà, AC, v.v. hoạt động với sự trợ giúp của IR Blasters. Một IR blaster là gì, nhưng một LED hồng ngoại có thể Blaster một tín hiệu bằng cách đập lặp đi lặp lại; tín hiệu này sẽ được đọc bởi bộ thu trong thiết bị điện tử. Đối với mỗi nút khác nhau trên điều khiển từ xa, một tín hiệu duy nhất sẽ được phát ra sau khi người nhận đọc được sẽ được sử dụng để thực hiện một nhiệm vụ cụ thể được xác định trước. Nếu chúng tôi có thể đọc tín hiệu này phát ra từ Điều khiển từ xa, thì chúng tôi có thể bắt chước tín hiệu tương tự bằng đèn LED hồng ngoại khi cần thiết để thực hiện tác vụ cụ thể đó. Trước đây chúng tôi đã tạo một mạch IR Blaster cho Điều khiển từ xa IR đa năng và điều khiển nhiệt độ AC tự động.
Một TSOP là một IR Receiver mà có thể được sử dụng để giải mã các tín hiệu đến từ các Remotes. Chúng tôi sẽ sử dụng TSOP này để giải mã tất cả thông tin từ Điều khiển từ xa của chúng tôi và lưu trữ trên Arduino. Sau đó, sử dụng thông tin đó và IR Led, chúng tôi có thể tạo lại các tín hiệu IR từ Arduino của chúng tôi bất cứ khi nào được yêu cầu.
Điều kiện tiên quyết:
Đối với Dự án AC có điều khiển bằng Bluetooth Arduino này, hãy đảm bảo rằng bạn có Arduino Mega chứ không phải bất kỳ phiên bản Arduino nào khác, vì kích thước mã quá nặng. Cài đặt Thư viện Từ xa IR bằng liên kết này để làm việc với TSOP và IR Blaster.
Hoạt động của Điều khiển từ xa AC:
Trước khi chúng tôi tiến hành dự án, hãy dành chút thời gian và để ý xem điều khiển từ xa AC của bạn hoạt động như thế nào. Điều khiển từ xa AC hoạt động theo một cách khác một chút so với điều khiển từ xa TV, DVD IR. Có thể chỉ có 10-12 nút trên Điều khiển từ xa của bạn, nhưng chúng sẽ có thể gửi rất nhiều loại tín hiệu khác nhau. Có nghĩa là Điều khiển từ xa không gửi cùng một mã mỗi lần cho cùng một nút. Ví dụ: khi bạn giảm nhiệt độ bằng cách sử dụng nút xuống để ở mức 24 ° C (độ C), bạn sẽ nhận được tín hiệu với một bộ dữ liệu, nhưng khi bạn nhấn lại để đặt 25 ° C, bạn sẽ không nhận được tín hiệu như vậy dữ liệu vì nhiệt độ bây giờ là 25 chứ không phải 24. Tương tự, mã cho 25 cũng sẽ thay đổi đối với các cài đặt tốc độ quạt, chế độ ngủ khác nhau, v.v. Vì vậy, chúng ta đừng loay hoay với tất cả các tùy chọn và chỉ tập trung các giá trị nhiệt độ với giá trị không đổi cho các cài đặt khác.
Một vấn đề khác là số lượng dữ liệu được gửi cho mỗi lần nhấn nút, điều khiển từ xa thông thường gửi 24 bit hoặc 48 bit nhưng điều khiển từ xa AC có thể gửi tới 228 bit vì mỗi tín hiệu chứa nhiều thông tin như Nhiệt độ, Tốc độ quạt, Thời gian ngủ, kiểu Swing, v.v. Đây là lý do tại sao chúng ta cần Arduino Mega để có các tùy chọn lưu trữ tốt hơn.
Sơ đồ mạch và giải thích:
May mắn thay, việc thiết lập phần cứng của Máy điều hòa không khí có điều khiển trên điện thoại di động này rất dễ dàng. Bạn chỉ cần sử dụng một breadboard và tạo các kết nối như hình dưới đây.
Bảng sau cũng có thể được sử dụng để xác minh các kết nối của bạn.
S.Không: |
Pin thành phần |
Pin Arduino |
1 |
TSOP - Vcc |
5V |
2 |
TSOP - Gnd |
Gnd |
3 |
TSOP - Tín hiệu |
số 8 |
4 |
IR Led - Cathode |
Gnd |
5 |
IR Led - Cực dương |
9 |
6 |
HC-05 - Vcc |
5V |
7 |
HC05 - Gnd |
Đất |
số 8 |
HC05 - Tx |
10 |
9 |
HC05 - Rx |
11 |
Sau khi bạn kết nối xong, nó sẽ trông giống như hình bên dưới. Tôi đã sử dụng Breadboard để dọn dẹp mọi thứ, nhưng bạn cũng có thể dùng dây từ Nam sang nữ trực tiếp để móc tất cả các thành phần
Giải mã tín hiệu điều khiển từ xa AC của bạn:
Bước đầu tiên để điều khiển AC của bạn là sử dụng TSOP1738 để giải mã AC Remote Control IR Codes. Thực hiện tất cả các kết nối như được hiển thị trong sơ đồ mạch và đảm bảo rằng bạn đã cài đặt tất cả các thư viện được đề cập. Bây giờ hãy mở chương trình ví dụ “ IRrecvDumpV2 ” có thể tìm thấy tại File -> Examples -> IRremote -> IRrecvDumpV2 .
int recvPin = 8; IRrecv không thể thay đổi (recvPin);
Vì TSOP của chúng tôi được kết nối với chân 8, hãy thay đổi dòng số 9 thành int recPin = 8 như hình trên. Sau đó, tải chương trình lên Arduino Mega của bạn và mở Serial Monitor.
Hướng Điều khiển từ xa của bạn về phía TSOP và nhấn bất kỳ nút nào, đối với mỗi nút bạn nhấn Tín hiệu tương ứng của nó sẽ được đọc bởi TSOP1738, được giải mã bởi Arduino và hiển thị trong Màn hình nối tiếp. Đối với mỗi thay đổi về nhiệt độ trên Điều khiển từ xa, bạn sẽ nhận được một Dữ liệu khác. Lưu Dữ liệu này vì chúng tôi sẽ sử dụng nó trong chương trình chính của chúng tôi. Màn hình nối tiếp của bạn sẽ trông giống như thế này, tôi cũng đã hiển thị tệp Word mà tôi đã lưu dữ liệu được sao chép trên đó.
Ảnh chụp màn hình hiển thị mã để cài đặt nhiệt độ ở 26 ° C cho điều khiển từ xa AC của tôi. Dựa trên điều khiển từ xa của bạn, bạn sẽ nhận được một bộ mã khác nhau. Tương tự, sao chép các mã cho tất cả các mức nhiệt độ khác nhau. Bạn có thể kiểm tra tất cả các mã IR điều khiển từ xa của Máy điều hòa không khí trong Mã Arduino được cung cấp ở cuối hướng dẫn này.
Chương trình Arduino chính:
Các hoàn thành chương trình Arduino chính có thể ở dưới cùng của trang này, nhưng bạn không thể sử dụng chương trình tương tự. Bạn phải thay đổi các giá trị mã Tín hiệu mà chúng ta vừa thu được từ bản phác thảo Ví dụ. Mở chương trình chính trên Arduino IDE của bạn và cuộn xuống khu vực này được hiển thị bên dưới, nơi bạn phải thay thế các giá trị mảng bằng các giá trị mà bạn thu được cho Điều khiển từ xa của mình.
Lưu ý rằng tôi đã sử dụng 10 Mảng trong đó có 2 Mảng chúng ta đã sử dụng để BẬT và TẮT AC trong khi 8 Mảng còn lại được sử dụng để đặt nhiệt độ khác nhau. Ví dụ Temp23 được sử dụng để đặt 23 * C trên AC của bạn, vì vậy hãy sử dụng mã tương ứng trong Mảng đó. Sau khi hoàn tất, bạn chỉ cần tải mã lên Arduino của mình.
Chúng tôi cần nhập hai thư viện cho dự án này. Một là thư viện IRremote mà chúng tôi vừa thêm vào Arduino và một là Thư viện nối tiếp phần mềm được tích hợp sẵn giúp chúng tôi sử dụng mô-đun Bluetooth.
#include
Tiếp theo, chúng tôi khởi tạo Mô-đun Bluetooth trên chân 10 và 11, sau đó sử dụng một đối tượng có tên là irsend để truy cập tất cả các tính năng IR của thư viện.
SoftwareSerial BT_module (10, 11); // RX, TX IRsend irsend;
Tiếp theo là các dòng mã rất quan trọng. Đây là nơi có thông tin để kiểm soát AC của bạn. Hình bên dưới là dành cho điều khiển từ xa AC của tôi, bạn nên lấy điều khiển của mình ở bước trước.
Tiếp theo bên trong chức năng thiết lập void , chúng tôi khởi tạo hai giao tiếp nối tiếp. Một là Bluetooth với tốc độ 9600 Baud và một là màn hình nối tiếp với tốc độ 57600 baud.
void setup () {BT_module.begin (9600); // BT hoạt động trên 9600 Serial.begin (57600); // Serial Monitor work con trai 57600}
Bên trong vòng lặp vô hạn của chúng tôi ( vòng lặp vô hạn), chúng tôi kiểm tra xem có bất kỳ thứ gì được Mô-đun Bluetooth nhận không. Nếu nhận được bất cứ thứ gì, chúng tôi lưu trữ thông tin đó trong BluetoothData có thể thay đổi.
while (BT_module.available ()) // Nếu dữ liệu đến {BluetoothData = BT_module.read (); // đọc nó và lưu nó Serial.println (BluetoothData); // in nó trên serial cho mục đích thử nghiệm}
Thông tin mà Bluetooth nhận được sẽ dựa trên nút được nhấn trên ứng dụng Android mà chúng tôi sẽ cài đặt trong bước tiếp theo. Sau khi nhận được thông tin, chúng tôi chỉ cần kích hoạt mã IR tương ứng như bên dưới
if (BluetoothData == '2') {irsend.sendRaw (Temp23, sizeof (Temp23) / sizeof (Temp23), khz); delay (2000); // Gửi tín hiệu để đặt Temperatue 23C}
Ở đây nếu nhận được mã '2', chúng ta phải đặt nhiệt độ của AC thành 23 ° C. Tương tự chúng ta có mã từ 0 đến 9 để thực hiện tất cả các chức năng điều khiển cơ bản của AC. Bạn có thể tham khảo mã arduino đầy đủ ở cuối trang này.
Cài đặt ứng dụng Android:
Bước cuối cùng của Smart phone điều khiển Điều hòa là cài đặt ứng dụng Android. Ứng dụng Android cho dự án này đã được tạo bằng Chế độ xử lý Android. Xử lý là một công cụ tuyệt vời để tạo tệp.EXE hoặc tệp APK cho bạn các dự án nhúng. Nó là một nền tảng mã nguồn mở giống như Arduino và do đó hoàn toàn miễn phí để tải xuống để sử dụng.
Nếu bạn không muốn đi sâu vào nó, bạn có thể chỉ cần tải xuống tệp APK từ đây bên trong tệp zip và cài đặt trực tiếp trên điện thoại di động của bạn. Mở ứng dụng và bạn sẽ nhận được một màn hình như hình dưới đây, sau đó bạn có thể chuyển sang bước tiếp theo và tận hưởng làm việc với dự án. Nhưng nếu bạn muốn điều chỉnh chương trình của ứng dụng để phù hợp với nhu cầu của mình thì bạn có thể đọc thêm.
Tệp chương trình hoàn chỉnh cho Mã xử lý có thể được tải xuống từ đây. Zip này sẽ có mã và nguồn hình ảnh mà ứng dụng hoạt động. Sau khi mở mã, bạn có thể điều chỉnh các dòng sau để điều chỉnh nó theo nhu cầu của bạn.
Như đã nói trước đó, Xử lý tương tự như Arduino. Vì vậy, nó cũng có một hàm void setup và void loop (ở đây vẽ). Bên trong chức năng thiết lập void, chúng tôi sẽ hướng dẫn Bluetooth của điện thoại kết nối với Bluetooth của Arduino. Tên thiết bị của tôi ở đây là “HC-05” nên dòng mã của tôi sẽ là
bt.start (); // bắt đầu lắng nghe các kết nối BT bt.getPairsDeviceNames (); bt.connectToDeviceByName ("HC-05"); // Kết nối với mô-đun bluetooth HC-06 của chúng tôi
Tiếp theo bên trong các hàm load_buttons (), bạn có thể vẽ bao nhiêu nút tùy thích. Tôi đã vẽ 10 nút như trên Ứng dụng. Tiếp theo là chúng ta có hàm read_buttons () được sử dụng để phát hiện bạn đang chạm vào nút nào. Mỗi nút có một màu cụ thể, vì vậy khi người dùng chạm vào màn hình, chúng tôi sẽ kiểm tra xem anh ta đã chạm vào màu nào và xác định anh ta đã chạm vào nút nào. Một số mẫu mã để tạo ra một nút và chọn nó dựa trên màu sắc được hiển thị dưới đây
điền (255,145,3); trực tràng (chiều rộng / 2 chiều rộng / 4, chiều cao / 2, chiều rộng / 4, chiều cao / 12); điền (255); text ("25C", width / 2-width / 4, height / 2); // nút 5 if (color_val == - 13589993) {byte data = {'0'}; bt.broadcast (dữ liệu);}
Dòng “dữ liệu byte = {'0'};” là một dòng rất quan trọng. Đây là nơi chúng tôi quyết định mã nào phải được gửi đến Arduino qua Bluetooth. Ở đây nếu nút này được nhấn, biểu tượng “0” sẽ được gửi từ Bluetooth đến Arduino. Tương tự, chúng ta có thể gửi một ký tự khác cho các nút khác nhau. Các ký tự này sau đó có thể được so sánh ở phía Arduino và hành động tương ứng có thể được thực hiện.
Hãy tiếp tục và tìm hiểu mã, nếu bạn có bất kỳ nghi ngờ nào, hãy liên hệ với tôi qua phần bình luận và tôi sẽ cố gắng hết sức để giúp bạn.
Hoạt động của điện thoại di động AC điều khiển:
Khi bạn đã sẵn sàng với Phần cứng, Mã Arduino và các ứng dụng Android, đã đến lúc tận hưởng kết quả đầu ra. Tải mã Arduino lên Phần cứng của bạn và đặt nó đối diện với AC của bạn. Bây giờ hãy mở ứng dụng Android trên điện thoại Di động của bạn, nếu mọi thứ hoạt động như mong đợi, bạn sẽ thấy “Đã kết nối với: device_name (một số mã) ” như hình dưới đây
Bây giờ chỉ cần nhấn bất kỳ nút nào trên ứng dụng Android của bạn và nó sẽ kích hoạt một hành động tương ứng trên AC như thể bạn đang sử dụng Điều khiển từ xa. Bạn có thể thêm bao nhiêu nút bạn muốn bằng cách sửa đổi mã và thậm chí còn tự động hóa AC dựa trên nhiệt độ phòng hoặc sự hiện diện của bạn. Kiểm tra Mã Arduino hoàn chỉnh và Video bên dưới.
Hy vọng bạn thích dự án và hiểu khái niệm đằng sau nó. Như mọi khi nếu bạn gặp bất kỳ vấn đề nào khi thực hiện công việc này, bạn có thể sử dụng các diễn đàn để đăng các câu hỏi và giải quyết chúng.
Tệp APK để cài đặt Ứng dụng Android có thể được tải xuống từ đây.