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
Bài 1: Chớp tắt LED trên Arduino Uno Bài 8: Cảm biến góc nghiêng sử dụng ngắt (INTERRUPT) trong môi trường Arduino
Bài 2: Chớp tắt LED trên Arduino Uno (Phần 2) Bài 9: Cảm biến ánh sáng (Quang trở) cách chia điện áp trong môi trường Arduino
Bài 3: Sử dụng Arduino làm hệ thống đèn giao thông Bài 10: Điều khiển động cơ RC Servo sử dụng Arduino
Bài 4: PWM | Thay đổi ánh sáng của LED trên Arduino  Bài 11: Điều khiển động cơ Servo bằng biến trở sử dụng Arduino
Bài 5: Thay đổi màu sắc Led RGB sử dụng Arduino Bài 12: Thay đổi màu sắc LED RGB bằng biến trở sử dụng Arduino
Bài 6: Tạo âm thanh (Còi) bằng Arduino Bài 13: Điều khiển động cơ quạt bằng nút nhấn sử dụng Arduino
Bài 7: Cảnh báo nhiệt độ (LM35) bằng còi báo sử dụng Arduino Uno  
Subscribe
Notify of
guest
1 Comment
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Thắng

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