Bài 13: Điều khiển động cơ quạt bằng nút nhấn sử dụng Arduino

Bài 13: Điều khiển động cơ quạt bằng nút nhấn sử dụng Arduino

Trong nội dung bài viết hôm nay mình sẽ hướng dẫn các bạn cách dùng rơ le để đóng cắt động cơ.

Qua bài viết các bạn có thể hiểu thêm về cấu tạo và nguyên lý hoạt động của Rơ le.

Chúng ta đi ngay vào bài viết nhé.

Cấu tạo Rơ le

Để có thể nắm được cấu tạo và hoạt động của rơ le các bạn đọc bài viết bên dưới nhé.

cau tao ro le

Sơ đồ nguyên lý

nguyen ly dieu khien dong co quat bang nut nhan su dung arduino

Các linh kiện cần thiết cho dự án

Tên linh kiện Số lượng
Arduino Uno R3 1
Dây cắm 9
Breadboard 1
Nút nhấn 1
LED 5mm 1
Trở 220R 2
Relay 1
Motor 1
Fan 1

Code

int buttonPin = 2;
int relayPin = 3;
int relayState = HIGH;                      
int buttonState;                            
int lastButtonState = LOW;                 
long lastDebounceTime = 0;                  
long debounceDelay = 50;                    

void setup() {
  pinMode(buttonPin, INPUT);
  pinMode(relayPin, OUTPUT);

  digitalWrite(relayPin, relayState);       
}
void loop() {
  
  int reading = digitalRead(buttonPin);  

  if (reading != lastButtonState) {   
    lastDebounceTime = millis();
  } 
  
  if ((millis() - lastDebounceTime) > debounceDelay) {
   
    if (reading != buttonState) {
      buttonState = reading;
      
      if (buttonState == HIGH) {
        relayState = !relayState;
      }
    }
  }

   // set the relay: 
  digitalWrite(relayPin, relayState);

  lastButtonState = reading;
}


Giải thích code

if (reading != lastButtonState) {   
    lastDebounceTime = millis();
  }   
if ((millis() - lastDebounceTime) > debounceDelay) {
    
    if (reading != buttonState) {
      .....
    }
}

Khi tín hiệu được trả về, chương trình sẽ không thực thi ngay lập tức mà sẽ kiểm tra tín hiệu của nút nhấn đã đúng chưa trong trường hợp đã nhấn sẽ cho chương trình hoạt động.

Lý do sao lại có đoạn kiểm tra này. Vì độ nảy của nút nhấn sẽ gây ra tín hiệu không chính xác trong quá trình hoạt động, vậy để khắc phục điều này thay cho phần cứng nên cần có một đoạn chương trình kiểm tra trong một khoảng thời gian để đảm bảo tín hiệu là đúng.

Lời kết

Tham gia cộng đồng Arduino KIT Để nhận được nhiều kiến thức bổ ích, các bạn Đăng ký để nhận thông báo khi có bài viết mới nhé. Tham gia Cộng đồng Arduino KIT để cùng nhau thảo luận và chia sẽ kiến thức về lập trình Arduino. Nếu các bạn thấy bài viết bổ ích nhớ LikeShare cho mọi người cùng học nhé.

Chúc các bạn thành công.

Trân trọng.

Bài viết liên quan

Theo dõi
Thông báo của
guest

0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận