analogWrite()

Bạn cần tìm hiểu về xung PWM trước khi đọc bài viết này !

Giới thiệu

analogWrite() là lệnh xuất ra từ một chân trên mạch Arduino một mức tín hiệu analog (phát xung PWM). Người ta thường điều khiển mức sáng tối của đèn LED hay hướng quay của động cơ servo bằng cách phát xung PWM như thế này.

Bạn không cần gọi hàm pinMode() để đặt chế độ OUTPUT cho chân sẽ dùng để phát xung PWM trên mạch Arduino.

Cú pháp

analogWrite([chân phát xung PWM], [giá trị xung PWM]);

Giá trị mức xung PWM nằm trong khoảng từ 0 đến 255, tương ứng với mức duty cycle từ 0% đến 100%

Ví dụ

int led = 11;

void setup() {
}

void loop() {
    for (int i = 0; i <= 255; i++) {
        analogWrite(led,i);
        delay(20);
    }
}

Đoạn code trên có chức năng làm sáng dần một đèn LED được kết nối vào chân số 11 trên mạch Arduino.

Reference Tags: 
lên
31 thành viên đã đánh giá bài viết này hữu ích.
Các bài viết cùng tác giả

highByte()

highByte() là hàm trả về một chuỗi 8 bit kề với 8 bit cuối cùng của một chuỗi các bit. Như vậy, nếu dữ liệu đưa vào một chuỗi 16bit thì highByte() sẽ trả về 8 bit đầu tiên, nếu dữ liệu đưa vào là một chuỗi 8bit hoặc nhỏ hơn, highByte() sẽ trả về giá trị 0. Một số nguyên bất kì cũng được xem như là một chuỗi các bit, vì bất kì số nguyên nào cũng có thể biểu diễn ở hệ nhị phân dưới dạng các bit "0" và "1".

lên
3 thành viên đã đánh giá bài viết này hữu ích.

Bạn có biết Arduino là gì không? Tìm hiểu thêm...

"Tử thuở còn cắp sách tới trường, có lẽ bạn cũng như tôi, rất thích chơi xe điện tử - nhất là xe điều khiển từ xa! Hồi ấy, tôi rất hay đòi ba mẹ mua một chiếc mỗi khi họ đi công tác xa. Và cứ như một thói quen, chơi được 1 tuần tôi lại "tháo banh" chiếc xe của mình và xem các mạch điện tử. Nói là xem vậy thôi, chứ chủ yếu là tôi lấy mô tơ ra làm quạt chơi (hehe). Lên lớp 11, thì tôi biết đến mạch Arduino từ lời giới thiệu của anh trai, và từ đây, câu chuyện về xe điều khiển của tôi còn dừng lại ở cái quạt mô - tơ nữa....!"

lên
52 thành viên đã đánh giá bài viết này hữu ích.