Trong lí giải về Arduino & cảm ứng hồng nước ngoài này, họ sẽ tìm hiểu cách điều khiển các thiết bị năng lượng điện tử bởi remote TV cùng Arduino. Chúng ta sẽ bước đầu từ việc tinh chỉnh đèn LED 1-1 giản, kế tiếp điều khiển tốc độ Quạt DC, đến điều khiển và tinh chỉnh các đồ vật gia dụng điện áp 220V.

Bạn đang xem: Điều khiển relay bằng arduino

Cách thức hoạt động

Chúng ta cần biết rằng đèn led phía trước remote TV lập loè khi chúng ta nhấn một nút bất kỳ. Bọn họ chỉ hoàn toàn có thể nhìn thấy vấn đề đó qua camera vì đấy là LED hồng ngoại cùng nó thiết yếu nhìn thấy bằng mắt người.

*

Vì vậy, Khi họ nhấn một nút, đèn led hồng ngoại phát ra xung ánh nắng mà họ cần nhấn chúng bằng một cỗ thu hồng ngoại.

*

Trong hướng dẫn này, chúng ta sẽ thực hiện bộ thu mặt trời đầu sắt ( bao gồm mã là V 34838) gồm sơ vật khối như hình mặt dưới.

*

Sau đó, sử dụng thư viện Arduino-IRremote của Ken Shirriff cùng ví dụ demo, bạn cũng có thể nhận được một đoạn mã HEX cho mỗi nút nhấn tương xứng trên remote TV.

Xem thêm: Giáo Trình Quản Trị Nguồn Nhân Lực, Giáo Trình Quản Trị Nhân Lực

*

Điều khiển LED RGB qua remote TV

Chúng ta đã cần:

IR ReceiverRGB LED3x điện trở 220 OhmsArduino BoardBreadboard cùng dây cắm

Trong lấy ví dụ này, họ sẽ điều khiển và tinh chỉnh màu LED bởi 4 nút color của Remote TV. Điều yêu cầu làm trước tiên là buộc phải xem mã HEX cho mỗi nút này bằng thực hiện ví dụ IRrecvDemo với Serial Monitor. Họ sẽ nhấn từng nút và lưu giữ mã của chúng.

*

Bây giờ bọn họ sẽ sửa chạy thử code với thêm những câu lệnh sẽ tiến hành thực thi nếu nhận một nút có màu tương ứng. Bởi vậy, ứng với từng nút, chúng ta sẽ set các giá trị RGB phù hợp với hàm setColor (). Để biết thêm cụ thể về cách đèn LED RGB vận động với Arduino, bạn cũng có thể đọc bài viết RGB LED và Arduino.

#include int RECV_PIN = 8; // IR Receiver - Arduino pin Number 8IRrecv irrecv(RECV_PIN);decode_results results;int redPin = 5;int greenPin = 6;int bluePin = 7; void setup() Serial.begin(9600); irrecv.enableIRIn(); // Start the receiver pinMode(redPin, OUTPUT); pinMode(greenPin, OUTPUT); pinMode(bluePin, OUTPUT); void loop() if (irrecv.decode(&results)) if (results.value == 0xF21D7D46) // Red Button setColor(255, 0, 0); // Sets Red color to the RGB LED delay(100); if (results.value == 0x87CF1B29) // Green Button setColor(0, 255, 0); // Green màu sắc delay(100); if (results.value == 0x6623D37C) // Yellow Button setColor(255, 255, 0); // Yellow màu sắc delay(100); if (results.value == 0x854115F2) // blue Button setColor(0, 0, 255); // blue color delay(100); if (results.value == 0x1639AB6E) // Stop Button setColor(0, 0, 0); // OFF delay(100); irrecv.resume(); // Receive the next value delay(100);// Custom made function for activating the RGB LED void setColor(int red, int green, int blue) analogWrite(redPin, red); // Sends PWM signal lớn the Red sạc analogWrite(greenPin, green); analogWrite(bluePin, blue); Dưới đây là sơ vật nối dây:

*

Điều khiển vận tốc động cơ DC

Linh kiện đề xuất dùng

Động cơ DC hoặc Quạt DCTransistor NPN (C1815)DiodeTụ điện – 1uFĐiện trở – 1k Ohms

Trong lấy ví dụ như này vẫn điều khiển vận tốc Quạt DC bằng các nút tiến cùng lùi của Remote TV. Bọn họ sẽ thực hiện sơ vật dụng mạch tiếp sau đây để kiểm soát tốc độ của quạt trải qua PWM.

*

Bằng cách sử dụng hàm analogWrite (), bọn họ sẽ gửi dấu hiệu PWM đến chân B của transistor. Nút PLAYsẽ khởi động động cơ ở tốc độ tối đa với chu kỳ luân hồi PWM là 100% và nút STOP đã dừng rượu cồn cơ. Nút TIẾN đã tăng tốc độ của quạt với những lần nhấn bằng cách tăng chu kỳ thao tác của PWM và nút LÙI sẽ làm giảm tốc độ của nó.

#include int RECV_PIN = 8; // IR Receiver - Arduino sạc Number 8int pwmPin = 7; // Arduino sạc Number 7 to lớn the Base of the Transistorint pwmValue;IRrecv irrecv(RECV_PIN);decode_results results; void setup() Serial.begin(9600); irrecv.enableIRIn(); // Start the receiver pinMode( pwmPin, OUTPUT); pwmValue = 0; // Starts the program with turned off motor void loop() if (irrecv.decode(&results)) analogWrite(pwmPin, pwmValue); if (results.value == 0xAFAF8374) // PLAY Button pwmValue = 255; // 100% Duty Cycle if (results.value == 0x98519C65) Turned off if (results.value == 0x93F1BA08) // FORWARD Button if(pwmValue = 20) pwmValue = pwmValue - 10; // Decreases the Duty Cycle of the PWM Signal delay(20); Serial.print(pwmValue); Serial.print(" "); Serial.println(results.value, HEX); irrecv.resume(); // Receive the next value delay(100);

Điều khiển thiết bị điện gia dụng với remote TV

Linh kiện yêu cầu dùng:

Module RelayNguồn ngoài

Ví dụ ở đầu cuối sẽ là điều khiển các sản phẩm công nghệ gia dụng bằng Remote TV bởi module relay (rơle). Với chân số 7 trường đoản cú board Arduino, bọn họ sẽ điều khiển rơle đã liên kết sẵn với thiết bị điện gia dụng.

*

*

Dưới đây là source code:

Bài viết liên quan

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *