Mã Arduino và Video cho một Relay Shield 4 Kênh
Trong hướng dẫn này, chúng ta sẽ học cách sử dụng Arduino để điều khiển một shield rơ-le 4 kênh. Shield này cho phép bạn bật và tắt nhiều tải AC hoặc DC khác nhau, chẳng hạn như đèn hoặc động cơ. Kết thúc dự án này, bạn sẽ hiểu cách đấu dây shield rơ-le và cách viết mã để điều khiển các rơ-le bằng Arduino.

Để bắt đầu, chúng ta cần thiết lập các thành phần phần cứng một cách chính xác. Shield rơ-le kết nối với Arduino bằng các chân kỹ thuật số, được dùng để gửi tín hiệu bật và tắt các rơ-le. Mỗi rơ-le có thể điều khiển một tải riêng biệt, cho phép ứng dụng linh hoạt. Video liên quan cung cấp hướng dẫn trực quan cho toàn bộ quá trình thiết lập và triển khai mã (trong video tại 00:00).
Giải thích phần cứng
Thành phần chính của dự án này là shield rơ-le 4 kênh. Mỗi rơ-le trên shield có ba đầu nối: thường mở (NO), thường đóng (NC) và chung (COM). Khi rơ-le được kích hoạt, nó kết nối đầu chung với đầu thường mở, cho phép dòng điện chạy qua tải được kết nối.
Mỗi rơ-le yêu cầu một đầu ra kỹ thuật số từ Arduino, cụ thể sử dụng các chân 4 đến 7. Các chân này được ghi nhãn trên shield, giúp bạn dễ dàng kết nối thiết bị của mình. Ngoài ra, có các đèn LED chỉ báo trên shield sáng lên khi rơ-le tương ứng được kích hoạt, cung cấp trạng thái trực quan của các rơ-le.
Hướng dẫn đấu dây
Để đấu dây shield rơ-le 4 kênh với Arduino của bạn, hãy bắt đầu bằng cách kết nối shield với bo mạch Arduino. Đảm bảo rằng các chân trên shield thẳng hàng với các đầu cắm Arduino. Shield rơ-le sử dụng các chân kỹ thuật số 4, 5, 6 và 7 để điều khiển rơ-le. Kết nối như sau:

- Chân
7đến Rơ-le 1 - Chân
6đến Rơ-le 2 - Chân
5đến Rơ-le 3 - Chân
4đến Rơ-le 4
Tiếp theo, kết nối tải của bạn với các đầu nối rơ-le. Đối với mỗi rơ-le, kết nối đầu chung với nguồn điện của bạn, sau đó kết nối tải với đầu thường mở (NO) hoặc thường đóng (NC) tùy theo yêu cầu của bạn. Đảm bảo quan sát đúng cực tính và định mức cho thiết bị của bạn. Video cũng đề cập đến các cách đấu dây thay thế (trong video tại 02:30).
Ví dụ mã và hướng dẫn chi tiết
Đoạn mã sau đây minh họa cách định nghĩa các chân rơ-le và đặt chúng làm đầu ra trong phần thiết lập Arduino.
#define relay1 7
#define relay2 6
#define relay3 5
#define relay4 4
void setup() {
Serial.begin(9600);
pinMode(relay1, OUTPUT);
pinMode(relay2, OUTPUT);
pinMode(relay3, OUTPUT);
pinMode(relay4, OUTPUT);
}
Trong đoạn trích này, chúng ta định nghĩa số chân tương ứng của mỗi rơ-le bằng các chỉ thị tiền xử lý. Hàm pinMode được sử dụng để cấu hình các chân này làm đầu ra, cho phép Arduino điều khiển chúng.
Tiếp theo, chúng ta có thể bật Rơ-le 3 và giữ nó hoạt động trong ba giây, như được hiển thị trong khối mã sau.
void loop() {
digitalWrite(relay3, HIGH); // bật rơ-le 3
Serial.println("rơ-le 3 BẬT");
delay(3000); // giữ rơ-le 3 BẬT trong 3 giây
digitalWrite(relay3, LOW); // tắt rơ-le 3
Serial.println("rơ-le 3 TẮT");
delay(3000); // giữ rơ-le 3 TẮT trong 3 giây
}
Vòng lặp này liên tục bật và tắt Rơ-le 3 mỗi ba giây. Hàm digitalWrite được sử dụng để đặt trạng thái rơ-le, và hàm Serial.println xuất trạng thái hiện tại ra Màn hình Nối tiếp.
Trình diễn / Điều mong đợi
Sau khi hoàn tất thiết lập và tải mã lên, bạn sẽ quan sát thấy rơ-le kích hoạt như mong đợi. Rơ-le 3 sẽ bật trong ba giây rồi tắt, được chỉ báo bằng đèn LED trên shield rơ-le. Để điều khiển các rơ-le khác, bạn có thể sửa mã bằng cách thay đổi các định danh rơ-le (trong video tại 05:00).
Hãy lưu ý các sự cố tiềm ẩn như đảo cực tính hoặc đấu dây sai, có thể dẫn đến trục trặc của rơ-le hoặc thậm chí làm hỏng các linh kiện của bạn.
Mốc thời gian video
- 00:00 - Giới thiệu
- 02:30 - Thiết lập đấu dây
- 05:00 - Giải thích mã
/*
* This is the Arduino code for a 4-Relay Arduino Shield
* to control turning ON or OFF 4 AC or DC loads
* Watch the video https://youtu.be/u9q6cHj89b4
*
* Written by Ahmad Nejrabi for Robojax Video
* Date: December 28, 2017, in Ajax, Ontario, Canada
* Permission granted to share this code, given that this
* note is kept with the code.
* Disclaimer: this code is "AS IS" and for educational purposes only.
*
*/
// Recorded December 27, 2017 by Robojax
#define relay1 7
#define relay2 6
#define relay3 5
#define relay4 4
void setup() {
Serial.begin(9600);// setup Serial Monitor to display information
pinMode(relay1, OUTPUT);// connected to Relay 1
pinMode(relay2, OUTPUT);// connected to Relay 2
pinMode(relay3, OUTPUT);// connected to Relay 3
pinMode(relay4, OUTPUT);// connected to Relay 4
}
void loop() {
digitalWrite(relay3,HIGH);// turn relay 3 ON
Serial.println("relay 3 ON");
delay(3000);// keep relay 3 ON for 3 seconds
digitalWrite(relay3, LOW);// turn relay 3 OFF
Serial.println("relay 3 OFF");
delay(3000);// keep relay 3 OFF for 3 seconds
}
Tài nguyên & tài liệu tham khảo
Chưa có tài nguyên nào.
Tập tin📁
Không có tệp nào khả dụng.