Tải bản đầy đủ (.pdf) (9 trang)

Arduino Điều khiển đèn LED với điều khiển từ xa IR

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (814.98 KB, 9 trang )

Arduino - Điều khiển đèn LED với điều khiển từ xa IR
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.



Dự án này được chia thành hai phần:
1. Bạn sẽ giải mã các tín hiệu hồng ngoại được truyền bởi điều khiển từ xa
2. Bạn sẽ sử dụng thơng tin đó để thực hiện một tác vụ với Arduino của mình (điều
khiển 3 đèn LED)

Các bộ phận cần thiết
Để theo dõi dự án này, bạn cần các phần sau:

1/9


Arduino UNO - đọc Bộ dụng cụ khởi động Arduino tốt nhất
1x Breadboard
1x Điều khiển từ xa
1x bộ thu hồng ngoại (Tôi sẽ 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 là thành phần được hiển thị trong hình dưới đây. Đây là 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, nó sẽ gửi tín hiệu điều chế hồng ngoại. Những tín hiệu
này chứa thông tin mà máy thu của bạn thu thập.

Mỗi nút gửi thơng tin cụ thể. Vì vậy, chúng ta có thể gán thơng tin đó cho một nút cụ thể.

Giải mã tín hiệu hồng ngoại
Trong phần này của dự án, bạn cần giải mã các tín hiệu hồng ngoại được liên kết với mỗi
nút.

Sơ đồ
Kết nối bộ thu IR tương ứng với sơ đồ bên dưới.

3/9



Để điều khiển bộ thu IR, bạn cần cài đặt Thư viện IRremote trong Arduino IDE.
Cài đặt thư viện IRremote
1. Nhấp vào đây để tải xuống thư viện IRremote. Bạn sẽ có một thư mục .zip trong Tải
xuống của mình
2. Giải nén thư mục .zip và bạn sẽ nhận được thư mục IRremote-master
3. Đổi tên thư mục của bạn từ IRremote-master thành IRremote
4. Di chuyển thư mục IRremote vào thư mục thư viện cài đặt Arduino IDE của bạn
5. Cuối cùng, mở lại Arduino IDE của bạn

Sao chép mã sau vào Arduino IDE của bạn và tải nó lên bảng Arduino của bạn. Đảm bảo
rằng bạn đã chọn đúng bo mạch và 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

*

*/

#include <IRremote.h>

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ở màn 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 3 đèn LED. Chọn 6 nút cho các tác vụ sau:
1. LED1 - BẬT
2. LED1 - TẮT
3. LED2 - BẬT
4. LED2 - TẮT

5. LED3 - BẬT
6. LED3 - TẮT
Nhấn, ví dụ, nút số 1 của điều khiển từ xa của bạn. Bạn sẽ thấy một mã trên màn hình
nối tiếp. Nhấn cùng một 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 một cái gì đó như FFFFFFFF bỏ qua nó, đó là rác.

5/9


Làm tương tự cho các nút khác.
Viết ra mã được liên kết với mỗi nút, bởi vì bạn sẽ cần thơng tin đó sau này.

Xây dựng mạch cuối cùng
Trong phần này, bạn sẽ xây dựng mạch với ba đèn LED sẽ được điều khiển bằng điều
khiển từ xa của bạn.

Sơ đồ
Lắp ráp tất cả các bộ phận bằng cách làm theo sơ đồ bên dưới.

6/9



Bây giờ, lấy mã bạn đã chụp ở bước trước. Bạn cần chuyển đổi mã của mình từ hex
sang thập phân.
Đối với điều đó, bạn có thể sử dụng trang web sau: www.binaryhexconverter.com/hex-todecimal-converter
Dưới đây là ví dụ chuyển đổi cho một trong các mã của tơi:

Lặp lại q trình đó với tất cả các giá trị hex của bạn và lưu các giá trị thập phân. Đây là
những cái bạn cần thay thế trong mã dưới đây.

Tải xuống hoặc sao chép bản phác thảo sau vào Arduino IDE của bạn. Viết các giá trị
thập phân của riêng bạn trong bản phác thảo được cung cấp trong các dòng
trường hợp và tải nó lên bảng Arduino của bạn. Đảm bảo rằng bạn đã chọn đúng bo
7/9


mạch và cổng COM.
/*
* Modified by Rui Santos, http://randomnerdtutorialscom

* based on IRremote Library - Ken Shirriff

*/


#include <IRremote.h>



int IR_Recv = 11;
//IR Receiver Pin 3

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 1 button

digitalWrite(bluePin, HIGH);

break;


case 551495895: //when you press the 4 button

digitalWrite(bluePin, LOW);


break;

case 551504055: //when you press the 2 button

digitalWrite(greenPin, HIGH);

break;



case 551528535: //when you press the 5 button

digitalWrite(greenPin, LOW);

break;


case 551536695: //when you press the 3 button

digitalWrite(yellowPin, HIGH);

break;


case 551512215: //when you press the 6 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 có thể điều khiển từng đèn LED riêng lẻ bằng các nút của điều khiển từ
xa.

Xem video trình diễn
Tổng kết
Đây là một dự án tuyệt vời để tìm hiểu về bộ thu IR. Có vơ số khả năng cho những gì bạn
có thể làm với nó.

9/9



×