Bài 14: Điều khiển LED bằng IR Remote sử dụng Arduino

Bài 14: Điều khiển LED bằng IR Remote sử dụng Arduino

Trong nội dung bài viết khóa học lập trình Arduino hôm mình mình xin gửi đến các bạn một chủ đề mới (linh kiện mới IR), dùng để điều khiển các thiết bị.

Thông qua bài viết các bạn sẽ nắm được chức năng cấu tạo của IR Receiver trong lập trình Arduino.

Với chủ đề hôm nay mình sẽ dùng ánh sáng hồng ngoại IR để bật tắt LED nhé.

IR Receiver

Bức xạ hồng ngoại (IR), hay ánh sáng hồng ngoại, là dạng năng lượng bức xạ mà mắt người không nhìn thấy nhưng chúng ta có thể cảm nhận dưới dạng nhiệt. Mọi vật trong vũ trụ đều phát bức xạ IR ở mức nào đó, song có hai nguồn dễ thấy nhất là mặt trời và ngọn lửa.

IR là một loại bức xạ điện từ, một dải liên tục tần số được tạo ra khi các nguyên tử hấp thụ và sau đó giải phóng năng lượng. Từ tần số cao nhất đến thấp nhất, bức xạ điện từ bao gồm tia gamma, tia X, bức xạ tử ngoại, ánh sáng nhìn thấy, bức xạ hồng ngoại, vi sóng và sóng vô tuyến.

Sơ đồ nguyên lý

Các linh kiện cần thiết cho dự án

Tên linh kiện Số lượng
Arduino Uno R3 1
Dây cắm 6
Breadboard 1
IR Receiver 1
LED 5mm 1
Trở 220R 1
IR Remote  1

Code

#include <IRremote.h>
int RECV_PIN = 11;   
int ledPin = 10;
boolean ledState = LOW;
IRrecv irrecv(RECV_PIN);
decode_results results;

void setup(){
  Serial.begin(9600);
  irrecv.enableIRIn();
  pinMode(ledPin,OUTPUT);
}

void loop() {
  if (irrecv.decode(&results)) {  
      Serial.println(results.value, HEX);
      if(results.value == 0xFD00FF){
         ledState = !ledState;  
         digitalWrite(ledPin,ledState);  
           }     
   irrecv.resume();
   }
}

Giải thích code

Đầu tiên kiểm tra xem remote đã nhận tín hiệu chưa nếu quá trình nhận tín hiệu thành công thì xuất ra màn hình giá trị mã HEX.

if (irrecv.decode(&results))
...
if(results.value == 0xFD00FF)

Đảo trạng thái của LED

ledState = !ledState;
digitalWrite(ledPin,ledState);

Nhận giá trị tiếp theo.

irrecv.resume();

Thư viện

Cài đặt thư viện IR Remote: Tải ngay

Bài viết liên quan

Subscribe
Notify of
guest

3 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Thắng

IR receiver của mình bị bốc khói mn ạ

Thanh

nó không ghi phân cực, cháy luôn con mắt hồng ngoại :))