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 13: Điều khiển động cơ quạt bằng nút nhấn 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 11: Điều khiển động cơ Servo bằng biến trở sử dụng Arduino
- Bài 10: Điều khiển động cơ RC Servo sử dụng Arduino
- 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 8: Cảm biến góc nghiêng sử dụng ngắt (INTERRUPT) trong môi trường Arduino
- Bài 7: Cảnh báo nhiệt độ (LM35) bằng còi báo sử dụng Arduino Uno
- Bài 6: Tạo âm thanh (Còi) bằng Arduino
- Bài 5: Thay đổi màu sắc Led RGB sử dụng Arduino
- Bài 4: PWM | Thay đổi ánh sáng của LED trên Arduino
- Bài 3: Sử dụng Arduino làm hệ thống đèn giao thông
- Bài 2: Chớp tắt LED trên Arduino Uno (Phần 2)
- Bài 1: Chớp tắt LED trên Arduino Uno
IR receiver của mình bị bốc khói mn ạ
nó không ghi phân cực, cháy luôn con mắt hồng ngoại :))
Mua về e nhớ tra datasheet nhé, vì mỗi loại có thể chân khác nhau