5.8 KiB
Điều khiển relay - Raspberry Pi
Trong phần này của bài học, bạn sẽ thêm một relay vào Raspberry Pi bên cạnh cảm biến độ ẩm đất và điều khiển nó dựa trên mức độ ẩm đất.
Phần cứng
Raspberry Pi cần một relay.
Relay bạn sẽ sử dụng là Grove relay, một relay thường mở (nghĩa là mạch đầu ra sẽ mở hoặc ngắt kết nối khi không có tín hiệu gửi đến relay) có thể xử lý mạch đầu ra lên đến 250V và 10A.
Đây là một bộ truyền động kỹ thuật số, vì vậy nó được kết nối với một chân kỹ thuật số trên Grove Base Hat.
Kết nối relay
Relay Grove có thể được kết nối với Raspberry Pi.
Nhiệm vụ
Kết nối relay.
-
Cắm một đầu của cáp Grove vào ổ cắm trên relay. Cáp chỉ có thể cắm theo một chiều.
-
Khi Raspberry Pi đã tắt nguồn, kết nối đầu còn lại của cáp Grove vào ổ cắm kỹ thuật số được đánh dấu D5 trên Grove Base Hat gắn vào Pi. Ổ cắm này là ổ thứ hai từ bên trái, nằm trên hàng ổ cắm cạnh các chân GPIO. Để cảm biến độ ẩm đất được kết nối với ổ A0.
- Cắm cảm biến độ ẩm đất vào đất, nếu nó chưa được cắm từ bài học trước.
Lập trình relay
Raspberry Pi bây giờ có thể được lập trình để sử dụng relay đã gắn.
Nhiệm vụ
Lập trình thiết bị.
-
Bật nguồn Pi và chờ nó khởi động.
-
Mở dự án
soil-moisture-sensor
từ bài học trước trong VS Code nếu nó chưa được mở. Bạn sẽ thêm vào dự án này. -
Thêm đoạn mã sau vào tệp
app.py
bên dưới các phần nhập hiện có:from grove.grove_relay import GroveRelay
Dòng lệnh này nhập
GroveRelay
từ thư viện Python Grove để tương tác với relay Grove. -
Thêm đoạn mã sau bên dưới khai báo lớp
ADC
để tạo một đối tượngGroveRelay
:relay = GroveRelay(5)
Điều này tạo một relay sử dụng chân D5, chân kỹ thuật số mà bạn đã kết nối relay.
-
Để kiểm tra relay hoạt động, thêm đoạn mã sau vào vòng lặp
while True:
:relay.on() time.sleep(.5) relay.off()
Đoạn mã này bật relay, chờ 0.5 giây, sau đó tắt relay.
-
Chạy ứng dụng Python. Relay sẽ bật và tắt mỗi 10 giây, với độ trễ nửa giây giữa việc bật và tắt. Bạn sẽ nghe thấy relay kêu "click" khi bật và "click" khi tắt. Đèn LED trên bảng Grove sẽ sáng khi relay bật và tắt khi relay tắt.
Điều khiển relay từ độ ẩm đất
Bây giờ relay đã hoạt động, nó có thể được điều khiển dựa trên các giá trị đọc từ cảm biến độ ẩm đất.
Nhiệm vụ
Điều khiển relay.
-
Xóa 3 dòng mã mà bạn đã thêm để kiểm tra relay. Thay thế chúng bằng đoạn mã sau:
if soil_moisture > 450: print("Soil Moisture is too low, turning relay on.") relay.on() else: print("Soil Moisture is ok, turning relay off.") relay.off()
Đoạn mã này kiểm tra mức độ ẩm đất từ cảm biến độ ẩm đất. Nếu giá trị lớn hơn 450, nó sẽ bật relay, và tắt relay khi giá trị nhỏ hơn 450.
💁 Nhớ rằng cảm biến độ ẩm đất điện dung đọc giá trị càng thấp thì độ ẩm trong đất càng cao và ngược lại.
-
Chạy ứng dụng Python. Bạn sẽ thấy relay bật hoặc tắt tùy thuộc vào mức độ ẩm đất. Thử nghiệm với đất khô, sau đó thêm nước.
Soil Moisture: 638 Soil Moisture is too low, turning relay on. Soil Moisture: 452 Soil Moisture is too low, turning relay on. Soil Moisture: 347 Soil Moisture is ok, turning relay off.
💁 Bạn có thể tìm đoạn mã này trong thư mục code-relay/pi.
😀 Chương trình điều khiển relay từ cảm biến độ ẩm đất của bạn đã thành công!
Tuyên bố miễn trừ trách nhiệm:
Tài liệu này đã được dịch bằng dịch vụ dịch thuật AI Co-op Translator. Mặc dù chúng tôi cố gắng đảm bảo độ chính xác, xin lưu ý rằng các bản dịch tự động có thể chứa lỗi hoặc không chính xác. Tài liệu gốc bằng ngôn ngữ bản địa nên được coi là nguồn thông tin chính thức. Đối với các thông tin quan trọng, khuyến nghị sử dụng dịch vụ dịch thuật chuyên nghiệp bởi con người. Chúng tôi không chịu trách nhiệm cho bất kỳ sự hiểu lầm hoặc diễn giải sai nào phát sinh từ việc sử dụng bản dịch này.