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:
- LED có thể được kết nối trực tiếp với chân của Raspberry Pi vì nó yêu cầu công suất thấp.
- Đối với bóng đèn, chúng ta không thể kết nối trực tiếp với chân Raspberry Pi vì nó yêu cầu điện áp cao và/hoặc dòng điện cao có thể làm hỏng Raspberry Pi. Do đó, relay là cần thiết để bảo vệ Raspberry Pi khỏi điện áp/dòng điện cao.
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

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ở và thường đó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.
- Chế độ kích hoạt mức LOW
- Chế độ kích hoạt mức HIGH
- Thường Mở
- Thường Đóng. Đây là hai chế độ ngược nhau.
- Chế độ thường mở và 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ở và thường đóng
- Chế độ kích hoạt mức LOW và kí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 LOW và kí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 LOW và kích hoạt mức HIGH
- 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
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:
Hơn nữa, nếu relay có cả kích hoạt mức LOW và 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

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:
Đối với các chân đầu ra, có hai chế độ hoạt động:
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:
Sự kết hợp của chế độ đầu vào và chế độ đầ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).

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).

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 HIGH và thườ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à:
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ụ:
- Đặt chân về 0V bằng cách sử dụng hàm GPIO.output():
- Đặt chân về 5V bằng cách sử dụng hàm GPIO.output():
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:
- Tạo file script Python relay.py và thêm code sau:
- Lưu file và chạy script Python bằng cách thực thi lệnh sau trong terminal:
- 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
- Khi bạn vào phòng, đèn sẽ tự động bật. Sau khi bạn rời đi, nó sẽ tắt sau 30 giây. Để biết thêm thông tin, vui lòng tham khảo Raspberry Pi - Cảm Biến Chuyển Động.