Bài viết này hướng dẫn cách điều khiển điện áp nguồn với Arduino bằng môđun rơle.Chúng tôi giới thiệu ngắn gọn về môđun chuyển tiếp và xây dựng một ví dụ dự án đơn giản với Arduino. Ví dụ chúng tôi sẽ xây dựng cho thấy cách điều khiển môđun rơle bằng Arduino và cảm biến chuyển động PIR
Hướng dẫn cho mô-đun chuyển tiếp với Arduino Bài viết hướng dẫn cách điều khiển điện áp nguồn với Arduino mô-đun rơle Chúng giới thiệu ngắn gọn mơ-đun chuyển tiếp xây dựng ví dụ dự án đơn giản với Arduino Ví dụ chúng tơi xây dựng cho thấy cách điều khiển mô-đun rơle Arduino cảm biến chuyển động PIR Đến cuối hướng dẫn này, bạn điều khiển thiết bị điện tử Arduino mô-đun chuyển tiếp Giới thiệu mô-đun chuyển tiếp Rơle cơng tắc hoạt động điện bật tắt, cho phép dòng điện qua khơng điều khiển điện áp thấp, giống 5V cung cấp chân Arduino Điều khiển mô-đun chuyển tiếp Arduino đơn giản kiểm soát đầu khác thấy sau 1/10 Mô-đun rơle có hai kênh (những hình khối màu xanh lam đó) Có mơ hình khác với một, bốn tám kênh Mô-đun phải cấp nguồn với 5V, phù hợp để sử dụng với Arduino Có mơ-đun rơle khác cấp nguồn 3.3V, lý tưởng cho ESP32, ESP8266 vi điều khiển khác Nhận mô-đun chuyển tiếp: Sơ đồ chân rơle Hình cho thấy sơ đồ chân mơ-đun rơle Sáu chân phía bên trái mô-đun rơle kết nối điện áp cao chân phía bên phải kết nối thành phần yêu cầu điện áp thấp — chân Arduino Kết nối điện áp lưới Phía điện áp cao có hai đầu nối, đầu nối có ba ổ cắm: chung (COM), thường đóng (NC) thường mở (NO) 2/10 COM: chân chung NC (Thường đóng): cấu hình thường đóng sử dụng bạn muốn rơle đóng theo mặc định, có nghĩa dịng điện chạy trừ bạn gửi tín hiệu từ Arduino đến mơ-đun rơle để mở mạch dừng dòng điện NO (Thường mở): cấu hình thường mở hoạt động theo cách khác: rơle ln mở, mạch bị hỏng trừ bạn gửi tín hiệu từ Arduino để đóng mạch Nếu bạn muốn thắp đèn, tốt sử dụng cấu hình mạch hở bình thường Ghim dây điện Phía điện áp thấp có bốn chân ba chân 3/10 Bộ bên phải bao gồm VCC GND để cấp nguồn cho mô-đun đầu vào (IN1) đầu vào (IN2) để điều khiển rơle cùng, tương ứng Bộ chân thứ hai bao gồm chân GND, VCC JD-VCC Chân JD-VCC cấp nguồn cho nam châm điện rơle Lưu ý: lưu ý mơ-đun có nắp jumper kết nối chân VCC JD-VCC; hiển thị có màu xanh lam, bạn có màu khác Nắp jumper cho phép bạn chọn xem mạch có kết nối vật lý với mạch Arduino hay khơng bạn chọn bật hay khơng Khi bật nắp nhảy, chân VCC JD-VCC kết nối Điều có nghĩa nam châm điện rơle cấp nguồn trực tiếp từ chân nguồn Arduino, mơ-đun rơle mạch Arduino không bị cách ly vật lý với (đây cấu hình chúng tơi sử dụng) Nếu khơng có nắp nhảy, bạn cần cung cấp nguồn lượng độc lập để cấp nguồn cho nam châm điện rơle thơng qua chân JD-VCC Cấu hình cách ly vật lý rơle khỏi Arduino với ghép quang tích hợp mơ-đun Các kết nối mô-đun chuyển tiếp Arduino thực đơn giản: GND: xuống đất IN1: điều khiển rơle (nó kết nối với chân kỹ thuật số Arduino) IN2: điều khiển rơle thứ hai (nó nên kết nối với chân kỹ thuật số Arduino bạn sử dụng rơle thứ hai Nếu không, bạn không cần kết nối nó) VCC: đến 5V Ví dụ: Điều khiển đèn mô-đun rơle cảm biến chuyển động PIR 4/10 Trong ví dụ này, chúng tơi tạo đèn nhạy cảm chuyển động Một đèn sáng lên 10 giây phát chuyển động Chuyển động phát cảm biến chuyển động PIR Nếu bạn không quen thuộc với cảm biến chuyển động PIR, bạn đọc sau: Arduino với cảm biến chuyển động PIR Để điều khiển đèn với điện áp lưới, sử dụng mô-đun rơle cấu hình mở bình thường Cảnh báo an tồn Trước tiếp tục dự án này, tơi muốn cho bạn biết bạn xử lý điện áp nguồn Vui lịng đọc kỹ cảnh báo an tồn bên Cảnh báo: bạn thực dự án kết nối với điện áp nguồn, bạn thực cần biết làm gì, khơng bạn tự gây sốc Đây chủ đề nghiêm túc chúng tơi muốn bạn an tồn Nếu bạn khơng chắn 100% bạn làm, tự giúp đừng chạm vào thứ Hỏi biết! Các phận cần thiết Dưới phần cần thiết cho ví dụ này: Mơ-đun rơle Arduino UNO - đọc Bộ dụng cụ khởi động Arduino tốt Cảm biến chuyển động PIR Bộ dây đèn (xem eBay) 5/10 Mã Sao chép mã sau vào Arduino IDE bạn tải lên bảng Arduino bạn Cảnh báo: bạn không nên tải lên mã Arduino bạn kết nối với rơle 6/10 /********* Rui Santos Complete project details at https://randomnerdtutorials.com *********/ // Relay pin is controlled with D8 The active wire is connected to Normally Closed and common int relay = 8; volatile byte relayState = LOW; // PIR Motion Sensor is connected to D2 int PIRInterrupt = 2; // Timer Variables long lastDebounceTime = 0; long debounceDelay = 10000; void setup() { // Pin for relay module set as output pinMode(relay, OUTPUT); digitalWrite(relay, HIGH); // PIR motion sensor set as an input pinMode(PIRInterrupt, INPUT); // Triggers detectMotion function on rising mode to turn the relay on, if the condition is met attachInterrupt(digitalPinToInterrupt(PIRInterrupt), detectMotion, RISING); // Serial communication for debugging purposes Serial.begin(9600); } void loop() { // If 10 seconds have passed, the relay is turned off if((millis() - lastDebounceTime) > debounceDelay && relayState == HIGH){ digitalWrite(relay, HIGH); relayState = LOW; Serial.println("OFF"); } delay(50); } void detectMotion() { Serial.println("Motion"); if(relayState == LOW){ digitalWrite(relay, LOW); } relayState = HIGH; Serial.println("ON"); lastDebounceTime = millis(); } Xem mã thô Cách mã hoạt động 7/10 Đầu tiên, tạo biến để giữ chân mà chân IN1 rơle kết nối để lưu trạng thái rơle: int relay = 8; volatile byte relayState = LOW; Cảm biến chuyển động PIR kết nối với chân 2: int PIRInterrupt = 2; Chúng ta cần tạo số biến phụ trợ để xử lý hẹn với cảm biến chuyển động PIR Biến DebounceTime cuối lưu thời gian chuyển động cuối phát DebounceDelay tiết kiệm thời gian đèn nên trì sau chuyển động phát (ở đặt 10 giây = 10000 mili giây) long lastDebounceTime = 0; long debounceDelay = 10000; Trong setup(), đặt relay làm OUTPUT tắt theo mặc định: pinMode(relay, OUTPUT); digitalWrite(relay, HIGH); Bởi chúng tơi sử dụng cấu hình mở bình thường, khơng có tiếp xúc ổ cắm COM NO trừ bạn kích hoạt rơle Rơle kích hoạt đầu vào xuống khoảng V Điều có nghĩa bạn gửi tín hiệu THẤP từ Arduino, rơle bật bạn gửi tín hiệu CAO, rơle tắt; Nó hoạt động với logic đảo ngược Đặt cảm biến chuyển động PIR làm ngắt: pinMode(PIRInterrupt, INPUT); // Triggers detectMotion function on rising mode to turn the relay on, if the condition is met attachInterrupt(digitalPinToInterrupt(PIRInterrupt), detectMotion, RISING); Bất cảm biến chuyển động PIR kích hoạt, gọi hàm detectMotion() khai báo cuối mã để bật rơle: void detectMotion() { Serial.println("Motion"); if(relayState == LOW){ digitalWrite(relay, LOW); } relayState = HIGH; Serial.println("ON"); lastDebounceTime = millis(); } Trong vịng lặp (), chúng tơi kiểm tra xem 10 giây trôi qua kể từ rơle bật chưa Nếu điều kiện đúng, tắt rơle 8/10 if((millis() - lastDebounceTime) > debounceDelay && relayState == HIGH){ digitalWrite(relay, HIGH); relayState = LOW; Serial.println("OFF"); } Sơ Lắp ráp tất phận thể sơ đồ Cảnh báo: không chạm vào dây kết nối với điện áp nguồn Ngoài ra, chắn bạn siết chặt tất ốc vít mơ-đun rơle Đèn kết nối với rơle cấu hình mở bình thường Arduino điều khiển rơle thơng qua chân (chân kết nối với chân IN1 rơle) Cuối cùng, cảm biến chuyển động PIR kết nối với chân Cuộc biểu tình Sau tải lên mã nối dây mạch, bạn kiểm tra thiết lập Khi phát chuyển động, đèn bạn sáng lên Nếu khơng có chuyển động 10 giây, đèn tắt 9/10 Tổng kết Điều khiển mô-đun chuyển tiếp Arduino đơn giản điều khiển đầu - bạn cần gửi tín hiệu CAO THẤP chân kỹ thuật số Arduino Với mô-đun rơle, bạn điều khiển hầu hết thiết bị điện tử AC (không đèn) 10/10