Trong dự án này, bạn sẽ sử dụng bộ thu hồng ngoại (IR) và Arduino để điều khiển 3 đèn LED bằng điều khiển từ xa. Điều này rất hữu ích để sử dụng lại các điều khiển từ xa cũ hoặc cung cấp một số chức năng cho một số nút từ xa của bạn.
Arduino - Điều khiển đèn LED với điều khiển từ xa IR Trong dự án này, bạn sử dụng thu hồng ngoại (IR) Arduino để điều khiển đèn LED điều khiển từ xa Điều hữu ích để sử dụng lại điều khiển từ xa cũ cung cấp số chức cho số nút từ xa bạn Dự án chia thành hai phần: Bạn giải mã tín hiệu hồng ngoại truyền điều khiển từ xa Bạn sử dụng thông tin để thực tác vụ với Arduino (điều khiển đèn LED) Các phận cần thiết Để theo dõi dự án này, bạn cần phần sau: 1/9 Arduino UNO - đọc Bộ dụng cụ khởi động Arduino tốt 1x Breadboard 1x Điều khiển từ xa 1x thu hồng ngoại (Tôi sử dụng TSOP4838) Đèn LED 3x Điện trở 3x 220 Ohm Dây nhảy Giới thiệu Bộ thu hồng ngoại (IR) Máy thu hồng ngoại thành phần hiển thị hình Đây TSOP4838 Chân thu hồng ngoại: Chân đầu tiên: Vout Chân thứ hai: GND Chân thứ ba: Vcc 2/9 Khi bạn nhấn điều khiển từ xa, gửi tín hiệu điều chế hồng ngoại Những tín hiệu chứa thơng tin mà máy thu bạn thu thập Mỗi nút gửi thông tin cụ thể Vì vậy, gán thơng tin cho nút cụ thể Giải mã tín hiệu hồng ngoại Trong phần dự án, bạn cần giải mã tín hiệu hồng ngoại liên kết với nút Sơ đồ Kết nối thu IR tương ứng với sơ đồ bên 3/9 Mã Để điều khiển thu IR, bạn cần cài đặt Thư viện IRremote Arduino IDE Cài đặt thư viện IRremote Nhấp vào để tải xuống thư viện IRremote Bạn có thư mục zip Tải xuống Giải nén thư mục zip bạn nhận thư mục IRremote-master Đổi tên thư mục bạn từ IRremote-master thành IRremote Di chuyển thư mục IRremote vào thư mục thư viện cài đặt Arduino IDE bạn Cuối cùng, mở lại Arduino IDE bạn Sao chép mã sau vào Arduino IDE bạn tải lên bảng Arduino bạn Đảm bảo bạn chọn bo mạch cổng COM 4/9 /* * IRremote: IRrecvDemo - demonstrates receiving IR codes with IRrecv * An IR detector/demodulator must be connected to the input RECV_PIN * Version 0.1 July, 2009 * Copyright 2009 Ken Shirriff * http://arcfn.com */ #include int RECV_PIN = 11; IRrecv irrecv(RECV_PIN); decode_results results; void setup() { Serial.begin(9600); irrecv.enableIRIn(); // Start the receiver } void loop() { if (irrecv.decode(&results)) { Serial.println(results.value, HEX); irrecv.resume(); // Receive the next value } delay(100); } Xem mã thô Mở hình nối tiếp với tốc độ truyền 9600 Trong dự án này, bạn muốn điều khiển đèn LED Chọn nút cho tác vụ sau: LED1 - BẬT LED1 - TẮT LED2 - BẬT LED2 - TẮT LED3 - BẬT LED3 - TẮT Nhấn, ví dụ, nút số điều khiển từ xa bạn Bạn thấy mã hình nối tiếp Nhấn nút nhiều lần để đảm bảo bạn có mã phù hợp cho nút Nếu bạn thấy FFFFFFFF bỏ qua nó, rác 5/9 Làm tương tự cho nút khác Viết mã liên kết với nút, bạn cần thơng tin sau Xây dựng mạch cuối Trong phần này, bạn xây dựng mạch với ba đèn LED điều khiển điều khiển từ xa bạn Sơ đồ Lắp ráp tất phận cách làm theo sơ đồ bên 6/9 Mã Bây giờ, lấy mã bạn chụp bước trước Bạn cần chuyển đổi mã từ hex sang thập phân Đối với điều đó, bạn sử dụng trang web sau: www.binaryhexconverter.com/hex-todecimal-converter Dưới ví dụ chuyển đổi cho mã tôi: Lặp lại q trình với tất giá trị hex bạn lưu giá trị thập phân Đây bạn cần thay mã Tải xuống chép phác thảo sau vào Arduino IDE bạn Viết giá trị thập phân riêng bạn phác thảo cung cấp dịng trường hợp tải lên bảng Arduino bạn Đảm bảo bạn chọn bo 7/9 mạch cổng COM /* * Modified by Rui Santos, http://randomnerdtutorialscom * based on IRremote Library - Ken Shirriff */ #include int IR_Recv = 11; //IR Receiver Pin int bluePin = 10; int greenPin = 9; int yellowPin = 8; IRrecv irrecv(IR_Recv); decode_results results; void setup(){ Serial.begin(9600); //starts serial communication irrecv.enableIRIn(); // Starts the receiver pinMode(bluePin, OUTPUT); // sets the digital pin as output pinMode(greenPin, OUTPUT); // sets the digital pin as output pinMode(yellowPin, OUTPUT); // sets the digital pin as output } void loop(){ //decodes the infrared input if (irrecv.decode(&results)){ long int decCode = results.value; Serial.println(results.value); //switch case to use the selected remote control button switch (results.value){ case 551520375: //when you press the button digitalWrite(bluePin, HIGH); break; case 551495895: //when you press the button digitalWrite(bluePin, LOW); break; case 551504055: //when you press the button digitalWrite(greenPin, HIGH); break; case 551528535: //when you press the button digitalWrite(greenPin, LOW); break; case 551536695: //when you press the button digitalWrite(yellowPin, HIGH); break; case 551512215: //when you press the button digitalWrite(yellowPin, LOW); break; } irrecv.resume(); // Receives the next value from the button you press } delay(10); } 8/9 Xem mã thô Cuộc biểu tình Cuối cùng, bạn điều khiển đèn LED riêng lẻ nút điều khiển từ xa Xem video trình diễn Tổng kết Đây dự án tuyệt vời để tìm hiểu thu IR Có vơ số khả cho bạn làm với 9/9