analogWrite()

Giới thiệu

Hàm analogWrite() được sử dụng để tạo ra một tín hiệu điều khiển Analog. Hàm analogWrite() sử dụng kỹ thuật Pulse Width Modulation (PWM), trong đó tín hiệu đầu ra được chia thành các chu kỳ đều nhau, trong đó tỷ lệ thời gian tín hiệu ở mức cao (ON) so với tổng thời gian chu kỳ xác định mức điện áp đầu ra. Kết quả là ta có thể điều chỉnh mức điện áp trung bình của tín hiệu đầu ra bằng cách thay đổi tỷ lệ thời gian tín hiệu ở mức cao và mức thấp.

Trên hầu hết các bo mạch Arduino (những board sử dụng ATmega168 hoặc ATmega328P), chức năng PWM hoạt động trên các chân 3, 5, 6, 9, 10 và 11. Trên Arduino Mega, PWM hoạt động trên các chân 2 – 13 và 44 – 46

Hàm analogWrite() được sử dụng phổ biến để điều khiển độ sáng của đèn LED, tốc độ của động cơ, độ rộng xung PWM cho các thiết bị điều khiển, và nhiều ứng dụng khác liên quan đến điều khiển mức điện áp.

Cú pháp

analogWrite(pin, giá_trị);

Thông số

pin: Chỉ định chân kỹ thuật số của Arduino mà chúng ta muốn tạo ra tín hiệu PWM.

giá_trị: Chỉ định mức điện áp trung bình của tín hiệu đầu ra, từ 0 đến 255. Giá trị 0 tương ứng với mức điện áp thấp nhất (OFF), trong khi giá trị 255 tương ứng với mức điện áp cao nhất (ON).

Trả về

Không

Code ví dụ

Dưới đây là một ví dụ về cách sử dụng hàm analogWrite() trong Arduino để điều chỉnh độ sáng của một đèn LED:

// Chân digital pin kết nối với LED
const int ledPin = 9;

void setup() {
  // Khởi tạo chân digital pin là OUTPUT
  pinMode(ledPin, OUTPUT);
}

void loop() {
  // Điều chỉnh độ sáng từ mức tối đến sáng và ngược lại
  for (int brightness = 0; brightness <= 255; brightness++) {
    analogWrite(ledPin, brightness); // Đặt độ sáng của LED
    
    // Chờ một khoảng thời gian trước khi tăng độ sáng tiếp theo
    delay(10);
  }
  
  // Tắt đèn LED hoàn toàn
  analogWrite(ledPin, 0);
  
  // Chờ một khoảng thời gian trước khi bắt đầu vòng lặp mới
  delay(1000);
}

Trong ví dụ này, mình sử dụng hàm analogWrite() để điều chỉnh độ sáng của đèn LED kết nối với chân số 9. Vòng lặp for được sử dụng để tăng dần độ sáng từ 0 đến 255, và sau đó tắt đèn LED hoàn toàn. Sau mỗi vòng lặp, chúng ta chờ một khoảng thời gian trước khi bắt đầu vòng lặp tiếp theo.

Xem thêm

Leave a Reply

Your email address will not be published. Required fields are marked *