Raspberry Pi Light Sensor Relay

Hướng dẫn này sẽ chỉ bạn cách sử dụng Raspberry Pi và cảm biến ánh sáng để kích hoạt relay. Cụ thể, module cảm biến ánh sáng sẽ xuất tín hiệu LOW khi có ánh sáng và tín hiệu HIGH khi không phát hiện ánh sáng. Raspberry Pi được lập trình để đọc tín hiệu từ module cảm biến ánh sáng và kích hoạt relay khi không có ánh sáng, và ngược lại.

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

Cảm biến ánh sáng còn được biết đến với tên gọi photoresistor, light-dependent resistor, photocell, LDR. Raspberry Pi sử dụng cảm biến ánh sáng để đo mức độ ánh sáng xung quanh, và nếu phát hiện bóng tối, nó sẽ kích hoạt relay, trong khi nếu cảm nhận ánh sáng, nó sẽ tắt relay.

Linh Kiện Cần Thiết

1×Raspberry Pi 5
1×LDR Light Sensor Module
1×Relay
1×Warning Light Bright Waterproof
1×12V Power Adapter
1×DC Power Jack
1×breadboard (Bo mạch thí nghiệm)
1×dây jumper (Dây nối)
1×(Khuyến nghị) Screw Terminal Block Shield for Raspberry Pi
1×(Khuyến nghị) Raspberry Pi Prototyping Base Plate & Breadboard Kit
1×(Khuyến nghị) HDMI Touch Screen Monitor for Raspberry Pi

Or you can buy the following kits:

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ở để đấu nối, điều này có thể làm cho việc thiết lập trở nên phức tạp hơn. Để đơn giản hóa việc đấu nối, bạn có thể sử dụng module cảm biến ánh sáng LDR thay thế.

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

Nếu bạn chưa quen với relay và cảm biến ánh sáng (bao gồm sơ đồ chân, chức năng, lập trình, v.v.), vui lòng xem các hướng dẫn sau:

Sơ Đồ Đấu Nối

sơ đồ đấu nối Raspberry Pi cảm biến ánh sáng rơ le bóng đèn

This image is created using Fritzing. Click to enlarge image

Code Raspberry Pi

Các Bước Nhanh

  • Đảm bảo bạn đã cài đặt Raspbian hoặc bất kỳ hệ điều hành tương thích Raspberry Pi nào khác trên Pi của mình.
  • Đảm bảo Raspberry Pi của bạn được kết nối với cùng mạng cục bộ với PC của bạn.
  • Đảm bảo Raspberry Pi của bạn được kết nối internet nếu bạn cần cài đặt một số thư viện.
  • Nếu đây là lần đầu tiên bạn sử dụng Raspberry Pi, Xem Raspberry Pi - Cài Đặt Phần Mềm
  • Kết nối PC của bạn với Raspberry Pi qua SSH sử dụng SSH client tích hợp trên Linux và macOS hoặc PuTTY trên Windows. Xem cách kết nối PC với Raspberry Pi qua SSH.
  • Đảm bảo bạn đã cài đặt thư viện RPi.GPIO. Nếu chưa, hãy cài đặt nó bằng lệnh sau:
sudo apt-get update sudo apt-get install python3-rpi.gpio
  • Tạo một file Python script ldr_relay.py và thêm code sau:
# Mã Raspberry Pi này được phát triển bởi newbiely.vn # Mã Raspberry Pi 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/raspberry-pi/raspberry-pi-light-sensor-relay import RPi.GPIO as GPIO import time # Set the GPIO mode to BCM GPIO.setmode(GPIO.BCM) # Define the PIN numbers for the light sensor and the relay LIGHT_SENSOR_PIN = 18 RELAY_PIN = 21 # Set up the light sensor PIN as an input with a pull-up resistor GPIO.setup(LIGHT_SENSOR_PIN, GPIO.IN, pull_up_down=GPIO.PUD_UP) # Set up the relay PIN as an output GPIO.setup(RELAY_PIN, GPIO.OUT) try: while True: # Read the state of the light sensor light_state = GPIO.input(LIGHT_SENSOR_PIN) # Control the relay based on the light sensor state if light_state == GPIO.LOW: # Light is present, turn off the relay GPIO.output(RELAY_PIN, GPIO.LOW) else: # Light is not present, turn on the relay GPIO.output(RELAY_PIN, GPIO.HIGH) # Small delay to avoid rapid state changes time.sleep(1) except KeyboardInterrupt: # Clean up GPIO settings on program exit GPIO.cleanup()
  • Lưu file và chạy Python script bằng cách thực thi lệnh sau trong terminal:
python3 ldr_relay.py

Script chạy trong vòng lặp vô hạn liên tục cho đến khi bạn nhấn Ctrl + C trong terminal.

  • Che module cảm biến ánh sáng LDR bằng tay của bạn
  • Kiểm tra trạng thái của relay.

Giải Thích Code

Xem giải thích từng dòng được chứa trong các comment của source code!

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.