Raspberry Pi Relay

Trong một hướng dẫn trước đây, chúng ta đã khám phá cách bật và tắt LED bằng Raspberry Pi. Hướng dẫn này sẽ chỉ cho bạn cách kích hoạt và ngắt các thiết bị sử dụng nguồn điện áp cao (ví dụ: bóng đèn, quạt, khóa điện từ, actuator tuyến tính, v.v.) bằng Raspberry Pi.

? Điểm chung và khác biệt giữa việc điều khiển LED và điều khiển bóng đèn bằng Raspberry Pi là gì?

Điểm chung: Tương tự như điều khiển LED, chúng ta sử dụng chân đầu ra của Raspberry Pi để bật và tắt chúng.

Điểm khác biệt:

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

1×Raspberry Pi 5
1×Relay
1×LED Strip
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)

Về Relay

Relay là một công tắc điện có thể được lập trình bằng Raspberry Pi hoặc bất kỳ vi điều khiển nào. Nó được sử dụng để bật và tắt các thiết bị sử dụng điện áp cao và/hoặc dòng điện cao một cách lập trình.

Nó hoạt động như một cầu nối giữa Raspberry Pi và các linh kiện điện áp cao.

WARNING

Khi bạn tạo ra các dự án liên quan đến điện áp lưới, điều quan trọng là phải nhận thức được những rủi ro. Đây là vấn đề nghiêm trọng và chúng tôi muốn bạn an toàn. Nếu bạn không hoàn toàn chắc chắn về những gì mình đang làm, đừng thử. Hãy nhờ ai đó có kinh nghiệm giúp đỡ.

Mặc dù một số relay có thể được sử dụng cho cả thiết bị DC và AC, chúng tôi đặc biệt khuyến nghị sử dụng thiết bị DC (tối đa 24V) để thử nghiệm.

Sơ Đồ Chân Relay

rơ le sơ đồ chân

Relay có hai nhóm chân: nhóm đầu vào (điện áp thấp) và nhóm đầu ra (điện áp cao):

  • Nhóm đầu vào được kết nối với Raspberry Pi, bao gồm ba chân:
    • Chân DC-: phải được kết nối với GND (0V)
    • Chân DC+: phải được kết nối với VCC (5V)
    • Chân IN: nhận tín hiệu điều khiển từ Raspberry Pi
  • Nhóm đầu ra được kết nối với thiết bị điện áp cao, bao gồm ba chân (thường ở dạng cực nối vít):
    • Chân NO: là chân thường mở. Nó được sử dụng trong chế độ thường mở
    • Chân NC: là chân thường đóng. Nó được sử dụng trong chế độ thường đóng
    • Chân COM: là chân chung. Nó được sử dụng trong cả chế độ thường mởthường đóng

    Thông thường, chúng ta không sử dụng tất cả các chân trong nhóm điện áp cao. Chúng ta chỉ sử dụng hai trong số chúng:

    • Nếu chúng ta sử dụng chế độ thường mở, thì chân COM và chân NO được sử dụng.
    • Nếu chúng ta sử dụng chế độ thường đóng, thì chân COM và chân NC được sử dụng.

    Hơn nữa, nếu relay có cả kích hoạt mức LOW HIGH, thường sẽ có jumper để chọn kích hoạt mức LOW hoặc kích hoạt mức HIGH.

    ※ Lưu ý:

    Sự sắp xếp các chân trên module relay có thể khác nhau giữa các nhà sản xuất. Điều quan trọng là luôn tham khảo các nhãn được in trên module relay khi làm việc với nó. Hãy chú ý kỹ!

    Cách Kết Nối Thiết Bị Điện Áp Cao Với Relay

    how to connect rơ le

    Cách Thức Hoạt Động

    Tùy thuộc vào nhà sản xuất và cách cài đặt, relay có thể hoạt động khác nhau.

    Đối với chân IN, có hai chế độ đầu vào làm cho relay hoạt động theo cách ngược lại:

    • Chế độ kích hoạt mức LOW
    • Chế độ kích hoạt mức HIGH

    Đối với các chân đầu ra, có hai chế độ hoạt động:

    • Thường Mở
    • Thường Đóng. Đây là hai chế độ ngược nhau.

    Thuật ngữ "thường" có nghĩa là "nếu chân IN được kết nối với LOW (0V)".

    Trước khi chúng ta đi vào chi tiết, đây là một số thông tin nhanh:

    • Chế độ thường mởthường đóng hoạt động theo cách ngược nhau
    • Hầu hết các module relay đều hỗ trợ cả chế độ thường mởthường đóng
    • Chế độ kích hoạt mức LOWkích hoạt mức HIGH hoạt động theo cách ngược nhau
    • Không phải tất cả module relay đều hỗ trợ cả chế độ kích hoạt mức LOWkích hoạt mức HIGH
    • Tại bất kỳ thời điểm nào, module relay chỉ có thể hoạt động trong một trong hai chế độ kích hoạt mức LOWkích hoạt mức HIGH

    Sự kết hợp của chế độ đầu vàochế độ đầu ra tạo ra nhiều trường hợp sử dụng. Nếu bạn là người mới bắt đầu, chúng tôi khuyên bạn nên sử dụng chế độ kích hoạt mức HIGH và chế độ thường mở.

    Chế độ kích hoạt mức HIGH sẽ được giải thích chi tiết vì nó hoạt động theo cách ngược lại với chế độ kích hoạt mức LOW. Chế độ kích hoạt mức LOW hoạt động theo cách ngược lại.

    Kích Hoạt Mức HIGH - Chế Độ Thường Mở

    Để sử dụng chế độ này, chúng ta phải kết nối thiết bị điện áp cao với chân COM và chân NO.

    Khi chân IN được kết nối với LOW (0V), công tắc mở, dẫn đến thiết bị TẮT (hoặc không hoạt động).

    Ngược lại, khi chân IN được kết nối với HIGH (5V), công tắc đóng, khiến thiết bị BẬT (hoặc hoạt động).

    how rơ le works - normally open

    Kích Hoạt Mức HIGH - Chế Độ Thường Đóng

    Để sử dụng chế độ này, chúng ta phải kết nối thiết bị điện áp cao với chân COM và chân NC.

    Nếu chân IN được kết nối với LOW (0V), công tắc sẽ đóng. Thiết bị sẽ BẬT (hoặc hoạt động).

    Khi chân IN được kết nối với HIGH (5V), công tắc sẽ mở. Thiết bị sẽ TẮT (hoặc không hoạt động).

    how rơ le works - normally closed

    Tổng Kết

    Chế độ đầu vào Chế độ đầu ra Chân IN (có thể lập trình) Chân đầu ra Trạng thái relay Trạng thái thiết bị
    HIGH Trigger Normally Open LOW COM và chân NO ⇒ mở ⇒ TẮT
    HIGH Trigger Normally Open HIGH COM và chân NO ⇒ đóng ⇒ BẬT
    HIGH Trigger Normally Closed LOW COM và chân NC ⇒ đóng ⇒ BẬT
    HIGH Trigger Normally Closed HIGH COM và chân NC ⇒ mở ⇒ TẮT
    LOW Trigger Normally Open LOW COM và chân NO ⇒ đóng ⇒ BẬT
    LOW Trigger Normally Open HIGH COM và chân NO ⇒ mở ⇒ TẮT
    LOW Trigger Normally Closed LOW COM và chân NC ⇒ mở ⇒ TẮT
    LOW Trigger Normally Closed HIGH COM và chân NC ⇒ đóng ⇒ BẬT

    Có tối đa 8 trường hợp sử dụng. Điều này có thể gây choáng ngợp. Tuy nhiên, nếu bạn là người mới bắt đầu, bạn chỉ cần quan tâm đến hai tình huống đầu tiên, liên quan đến kích hoạt mức HIGHthường mở. Phần còn lại của hướng dẫn này sẽ tập trung vào hai trường hợp sử dụng này.

    Raspberry Pi - Relay

    Raspberry Pi điều khiển relay, relay lần lượt điều khiển thiết bị điện áp cao.

    Quản lý relay rất đơn giản. Tất cả những gì cần thiết là:

    • Kết nối chân của Raspberry Pi với chân IN của relay
    • Lập trình chân để xuất LOW hoặc HIGH để điều khiển relay

Sơ Đồ Đấu Dây

Raspberry Pi rơ le sơ đồ đấu dây

This image is created using Fritzing. Click to enlarge image

Cách Lập Trình Cho Relay

  • Đặt chân 12 của Raspberry Pi thành chế độ đầu ra số bằng cách sử dụng RPi.GPIO. Ví dụ:
import RPi.GPIO as GPIO GPIO.setmode(GPIO.BCM) # Set the GPIO mode (BCM or BOARD) GPIO.setup(12, GPIO.OUT) # Set the GPIO pin 12 as an output pin
  • Đặt chân về 0V bằng cách sử dụng hàm GPIO.output():
GPIO.output(12, GPIO.LOW) # Turn the relay off
  • Đặt chân về 5V bằng cách sử dụng hàm GPIO.output():
GPIO.output(12, GPIO.HIGH) # Turn the relay on

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 bạn.
  • Đả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 của bạn 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 file script Python 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-relay import RPi.GPIO as GPIO import time # Set the GPIO mode (BCM or BOARD) GPIO.setmode(GPIO.BCM) # Define the GPIO pin connected to the relay module's IN pin RELAY_PIN = 12 # Set the relay pin as an output pin GPIO.setup(RELAY_PIN, GPIO.OUT) try: # Run the loop function indefinitely while True: # Turn the relay ON (HIGH) GPIO.output(RELAY_PIN, GPIO.HIGH) time.sleep(1) # Wait for 1 seconds # Turn the relay OFF (LOW) GPIO.output(RELAY_PIN, GPIO.LOW) time.sleep(1) # Wait for 1 seconds except KeyboardInterrupt: # If the user presses Ctrl+C, clean up the GPIO configuration GPIO.cleanup()
  • Lưu file và chạy script Python bằng cách thực thi lệnh sau trong terminal:
python3 relay.py
  • Kiểm tra LED strip, nó sẽ nhấp nháy.

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.

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.

Thử Thách Bản Thân