Mô-đun LDR cho Arduino

Mô-đun cảm biến ánh sáng LDR có khả năng phát hiện và đo ánh sáng trong môi trường xung quanh. Mô-đun cung cấp hai đầu ra: một đầu ra số (thấp/cao) và một đầu ra tương tự.

Trong bài hướng dẫn này, chúng ta sẽ học cách sử dụng Arduino và một mô-đun cảm biến ánh sáng LDR để phát hiện và đo mức sáng. Cụ thể, chúng ta sẽ trình bày những nội dung sau:

mô-đun cảm biến ánh sáng ldr
image source: diyables.io

Sau đó, bạn có thể chỉnh sửa mã để bật đèn LED hoặc bóng đèn (qua một rơ-le) khi nó phát hiện ánh sáng.

Nếu bạn thích cảm biến ánh sáng ở dạng thô, tôi đề xuất khám phá bài hướng dẫn trên Arduino - Cảm biến ánh sáng.

Phần cứng cần chuẩn bị

1×Arduino Uno R3
1×USB 2.0 cable type A/B (for USB-A PC)
1×USB 2.0 cable type C/B (for USB-C PC)
1×LDR Light Sensor Module
1×dây jumper
1×(Khuyến nghị) Screw Terminal Block Shield for Arduino Uno
1×(Khuyến nghị) Breadboard Shield for Arduino Uno
1×(Khuyến nghị) Enclosure for Arduino Uno
1×(Khuyến nghị) Prototyping Base Plate & Breadboard Kit for Arduino UNO

Or you can buy the following kits:

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

Về mô-đun cảm biến ánh sáng LDR

Module cảm biến ánh sáng LDR có thể được sử dụng để phát hiện sự có mặt của ánh sáng hoặc đo mức sáng trong môi trường xung quanh. Nó cung cấp hai tùy chọn thông qua pin đầu ra kỹ thuật số và pin đầu ra tương tự.

Sơ đồ chân

Mô-đun cảm biến ánh sáng LDR gồm bốn chân:

  • Chân VCC: Nó cần được kết nối với VCC (từ 3.3V đến 5V).
  • Chân GND: Nó cần được kết nối với GND (0V).
  • Chân DO: Đây là một chân đầu ra số. Nó ở mức HIGH khi tối và ở mức LOW khi sáng. Ngưỡng giữa tối và sáng có thể được điều chỉnh bằng một potentiometer tích hợp.
  • Chân AO: Đây là một chân đầu ra tương tự. Giá trị đầu ra giảm khi ánh sáng càng sáng, và tăng khi ánh sáng càng tối.
cấu hình chân của module cảm biến ánh sáng ldr
image source: diyables.io

Hơn nữa, nó có hai đèn LED báo:

  • Một đèn LED PWR báo nguồn.
  • Một đèn LED DO báo trạng thái ánh sáng trên chân DO: nó sáng khi có ánh sáng và tắt khi tối.

Cách hoạt động

Đối với chân DO:

  • Mô-đun có một potentiometer tích hợp để thiết lập ngưỡng sáng (độ nhạy).
  • Khi cường độ ánh sáng trong môi trường xung quanh vượt quá ngưỡng đã cho (ánh sáng), chân đầu ra của cảm biến ở mức LOW, và DO-LED đang sáng.
  • Khi cường độ ánh sáng trong môi trường xung quanh thấp hơn ngưỡng đã cho (tối), chân đầu ra của cảm biến ở mức HIGH, và DO-LED đang tắt.

Đối với chân AO:

  • Cường độ sáng của môi trường xung quanh càng cao (ánh sáng) thì giá trị đọc được từ chân AO càng thấp.
  • Cường độ sáng của môi trường xung quanh càng thấp (tối) thì giá trị đọc được từ chân AO càng cao.

Lưu ý rằng biến trở không ảnh hưởng đến giá trị ở chân AO.

Sơ đồ đấu dây

Vì mô-đun cảm biến ánh sáng có hai đầu ra, bạn có thể chọn sử dụng một trong số chúng hoặc cả hai, tùy thuộc vào nhu cầu của bạn.

  • Sơ đồ nối dây giữa Arduino và module cảm biến ánh sáng LDR khi chỉ sử dụng DO.
sơ đồ đấu dây cho mô-đun cảm biến ánh sáng ldr Arduino.

This image is created using Fritzing. Click to enlarge image

  • Sơ đồ đấu nối giữa Arduino và mô-đun cảm biến ánh sáng LDR khi chỉ dùng AO.
sơ đồ nối dây mô-đun ldr Arduino

This image is created using Fritzing. Click to enlarge image

  • Sơ đồ nối giữa Arduino và module cảm biến ánh sáng LDR khi sử dụng cả AO và DO.
sơ đồ nối dây của module cảm biến ánh sáng Arduino.

This image is created using Fritzing. Click to enlarge image

Dây điện thực sự:

kết nối module cảm biến ánh sáng ldr Arduino

Mã Arduino - Đọc giá trị từ chân DO

/* * Mã Arduino này được phát triển bởi newbiely.vn * Mã Arduino 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/arduino-ldr-module */ #define DO_PIN 2 // Arduino's pin connected to DO pin of the ldr module void setup() { // initialize serial communication Serial.begin(9600); // initialize the Arduino's pin as an input pinMode(DO_PIN, INPUT); } void loop() { int lightState = digitalRead(DO_PIN); if (lightState == HIGH) Serial.println("The light is NOT present"); else Serial.println("The light is present"); }

Hướng dẫn từng bước

  • Sao chép mã ở trên và mở bằng Arduino IDE
  • Nhấp vào nút Tải lên trên Arduino IDE để tải mã lên Arduino
  • Che và bỏ che mô-đun cảm biến ánh sáng LDR bằng tay bạn hoặc bằng một vật gì đó
  • Xem kết quả trên Trình theo dõi Serial
COM6
Send
The light is present The light is present The light is NOT present The light is NOT present The light is NOT present The light is present The light is present The light is present
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Xin lưu ý rằng nếu bạn nhận thấy đèn LED luôn sáng hoặc tắt ngay cả khi có ánh sáng, bạn có thể điều chỉnh biến trở để tinh chỉnh độ nhạy sáng của cảm biến.

Bây giờ chúng ta có thể tùy biến mã để kích hoạt một LED hoặc một đèn khi ánh sáng được phát hiện, hoặc thậm chí làm cho một động cơ servo quay. Bạn có thể tìm thêm thông tin và hướng dẫn từng bước trong các bài hướng dẫn được cung cấp ở cuối bài hướng dẫn này.

Mã nguồn Arduino - Đọc giá trị từ chân AO

/* * Mã Arduino này được phát triển bởi newbiely.vn * Mã Arduino 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/arduino-ldr-module */ #define AO_PIN A0 // Arduino's pin connected to AO pin of the ldr module void setup() { // initialize serial communication Serial.begin(9600); } void loop() { int lightValue = analogRead(AO_PIN); Serial.println(lightValue); }

Hướng dẫn từng bước

  • Sao chép mã ở trên và mở bằng Arduino IDE
  • Nhấn nút Upload trên Arduino IDE để tải mã lên Arduino
  • Che và mở lại module cảm biến ánh sáng LDR bằng tay bạn hoặc bằng vật gì đó
  • Xem kết quả trên Serial Monitor.
COM6
Send
145 146 146 572 678 945 956 1001 1002 1012 1013 645 546 346 172
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

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.