Arduino UNO R4 Cảm Biến Ánh Sáng Điều Khiển Relay

Trong hướng dẫn này, chúng ta sẽ học cách lập trình Arduino Uno R4 để điều khiển relay dựa trên giá trị đọc được từ cảm biến ánh sáng LDR hoặc module cảm biến ánh sáng LDR.

Bằng cách kết nối relay với các thiết bị như bóng đèn, dải LED, motor, hoặc các actuator, chúng ta có thể sử dụng cảm biến ánh sáng để điều khiển những thiết bị này.

Arduino UNO R4 cảm biến ánh sáng điều khiển rơ le

Linh Kiện Cần Thiết

1×Arduino UNO R4 WiFi hoặc Arduino UNO R4 Minima
1×(Tùy chọn) DIYables STEM V4 IoT, tương thích với Arduino Uno R4 WiFi
1×Arduino UNO R4 Minima (Thay thế)
1×Cáp USB Type-C
1×Cảm Biến Ánh Sáng
1×Điện trở 10 kΩ
1×Relay
1×breadboard
1×Dây Cắm Jumper
1×(Tùy chọn) Khóa Solenoid
1×(Tùy chọn) Adapter Nguồn 12V
1×(Tùy chọn) Jack Cắm Nguồn DC
1×(Khuyến nghị) Screw Terminal Block Shield for Arduino UNO R4
1×(Khuyến nghị) Breadboard Shield for Arduino UNO R4
1×(Khuyến nghị) Enclosure for Arduino UNO R4
1×(Khuyến nghị) Power Splitter for Arduino UNO R4
1×(Khuyến nghị) Prototyping Base Plate & Breadboard Kit for Arduino UNO

Or you can buy the following kits:

1×DIYables STEM V4 IoT Starter Kit (Arduino included)
1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)

Cảm biến ánh sáng LDR rất phải chăng, nhưng nó cần một điện trở để kết nối, điều này có thể làm cho việc lắp ráp phức tạp hơn. Để đơn giản hóa việc kết nối, bạn có thể sử dụng module cảm biến ánh sáng LDR như một giải pháp thay thế.

Về Relay và Cảm Biến Ánh Sáng

Nếu bạn chưa quen thuộc với relay và cảm biến ánh sáng (cấu hình, chức năng, và phương pháp lập trình), bạn có thể tìm hiểu thêm bằng cách xem những hướng dẫn sau:

Sơ Đồ Kết Nối

  • Sơ đồ kết nối giữa Arduino Uno R4, module relay và cảm biến ánh sáng LDR thô (analog)
sơ đồ kết nối Arduino UNO R4 cảm biến ánh sáng rơ le

This image is created using Fritzing. Click to enlarge image

  • Sơ đồ kết nối giữa Arduino Uno R4, module relay và module cảm biến ánh sáng LDR (digital)
sơ đồ kết nối Arduino UNO R4 module cảm biến ánh sáng ldr rơ le

This image is created using Fritzing. Click to enlarge image

Code Arduino UNO R4

  • Code Arduino Uno R4 để đọc giá trị từ cảm biến ánh sáng LDR và điều khiển relay
/* * Mã Arduino UNO R4 này được phát triển bởi newbiely.vn * Mã Arduino UNO R4 này được cung cấp để sử dụng công khai, không có ràng buộc. * Để xem hướng dẫn chi tiết và sơ đồ kết nối, vui lòng truy cập: * https://newbiely.vn/tutorials/arduino-uno-r4/arduino-uno-r4-light-sensor-controls-relay */ #define LIGHT_SENSOR_PIN A0 // Arduino Uno R4 pin connected to light sensor's pin #define RELAY_PIN 9 // Arduino Uno R4 pin connected to Relay's pin #define ANALOG_THRESHOLD 500 // variables will change: int analogValue; void setup() { pinMode(RELAY_PIN, OUTPUT); // set arduino pin to output mode } void loop() { analogValue = analogRead(LIGHT_SENSOR_PIN); // read the input on analog pin if(analogValue < ANALOG_THRESHOLD) digitalWrite(RELAY_PIN, HIGH); // turn on Relay else digitalWrite(RELAY_PIN, LOW); // turn off Relay }
  • Code Arduino Uno R4 để đọc giá trị từ module cảm biến ánh sáng LDR và điều khiển relay
/* * Mã Arduino UNO R4 này được phát triển bởi newbiely.vn * Mã Arduino UNO R4 này được cung cấp để sử dụng công khai, không có ràng buộc. * Để xem hướng dẫn chi tiết và sơ đồ kết nối, vui lòng truy cập: * https://newbiely.vn/tutorials/arduino-uno-r4/arduino-uno-r4-light-sensor-controls-relay */ #define LIGHT_SENSOR_PIN 12 // Arduino Uno R4 pin connected to light sensor's pin #define RELAY_PIN 9 // Arduino Uno R4 pin connected to Relay's pin // variables will change: int analogValue; void setup() { Serial.begin(9600); // initialize serial communication pinMode(LIGHT_SENSOR_PIN, INPUT); // initialize the Arduino Uno R4's pin as an input pinMode(RELAY_PIN, OUTPUT); // initialize the Arduino Uno R4's pin as an output mode } void loop() { int light_state = digitalRead(LIGHT_SENSOR_PIN); if (light_state == HIGH) { Serial.println("The light is NOT present"); digitalWrite(RELAY_PIN, HIGH); // turn on Relay } else { Serial.println("The light is present"); digitalWrite(RELAY_PIN, LOW); // turn off Relay } }

Các Bước Thực Hiện

Thực hiện theo các hướng dẫn từng bước sau:

  • Nếu đây là lần đầu tiên bạn sử dụng Arduino Uno R4 WiFi/Minima, hãy tham khảo hướng dẫn Arduino UNO R4 - Cài Đặt Phần Mềm.
  • Kết nối các linh kiện theo sơ đồ được cung cấp.
  • Kết nối board Arduino Uno R4 với máy tính của bạn bằng cáp USB.
  • Khởi chạy Arduino IDE trên máy tính.
  • Chọn board Arduino Uno R4 phù hợp (ví dụ: Arduino Uno R4 WiFi) và cổng COM.
  • Kết nối Arduino UNO R4 với máy tính của bạn bằng cáp USB
  • Khởi chạy Arduino IDE, sau đó chọn board và cổng đúng
  • Dán code được cung cấp vào Arduino IDE
  • Nhấn nút Upload trong Arduino IDE để gửi code tới Arduino UND R4
tải mã lên Arduino IDE
  • Chiếu ánh sáng vào cảm biến
  • Quan sát sự thay đổi trạng thái của relay

Giải Thích Code

Kiểm tra các giải thích trong phần comment của mã nguồn cho từng dòng!

Video Tutorial

Việc sản xuất video tốn rất nhiều thời gian. Nếu video hướng dẫn hữu ích cho việc học của bạn, hãy đăng ký kênh YouTube để ủng hộ. Nếu nhu cầu đủ cao, chúng tôi sẽ cố gắng làm thêm nhiều video.