1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Arduino bai 5 PWM PWM PWM

5 124 1

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 5
Dung lượng 128,96 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Xung PWM 1.Các khái niệm -Xung là các trạng thái cao / thấp HIGH/LOW về mức điện áp được lặp đi lặp lại.. Đại lượng đặc trưng cho 1 xung PWM Pulse Width Modulation bao gồm tần số frequen

Trang 1

Xung PWM 1.Các khái niệm

-Xung là các trạng thái cao / thấp (HIGH/LOW) về mức điện áp được lặp đi lặp lại Đại lượng đặc trưng cho 1 xung PWM (Pulse Width Modulation) bao gồm tần số (frequency) vàchu kì xung (duty cycle)

-Tần số là số lần lặp lại trong 1 đơn vị thời gian Đơn vị tần số là Hz, tức là số lần lặp lại dao động trong 1 giây

Lấy ví dụ, 1Hz = 1 dao động trong 1 giây 2Hz = 2 dao động trong 1 giây 16MHz = 16 triệu dao động trong 1 giây

Như vậy theo quy tắc tam suất: 16 triệu dao động - 1 giây > 1 dao động tốn 1/16.000.000 (giây) = 0,0625 (micro giây)

Cách xác định 1 dao động

Như vậy thông thường, 1 dao động sẽ bao gồm 2 trạng thái điện: mức cao (x giây) và mức thấp (y giây) Tỉ lệ phần trăm thời gian giữa 2 trạng thái điện này chính là chu kì xung Với x/y = 0% ta có xung chứa toàn bộ điện áp thấp (khái niệm xung nên hiểu mở rộng) Với x/y = 50% thì 50% thời gian đầu, xung có điện áp cao, 50% sau xung có điện áp thấp Với x/y=100% ta có xung chứa toàn bộ điện áp cao

Trang 2

2.Các hàm liên quan

Hàm analogWrite() trong Arduino giúp việc tạo 1 xung dễ dàng hơn Hàm này truyền vào tham số cho phép thay đổi chu kì xung, bạn có thể tính toán ra được chu kì xung như ở bảng trên Tần số xung được Arduino thiết lập mặc định

Xung khi sử dụng với hàm analogWrite trong Arduino

Giữa 2 vạch màu xanh lá cây là 1 xung

Trang 3

analogWrite(191) 191/255 75%

Đối với board Arduino Uno, xung trên các chân 3,9,10,11 có tần số là 490Hz, xung trên chân 5,6 có tần số 980Hz Làm thế nào để tạo ra các xung có tần số nhanh hơn? Bạn có thể tham khảo thêm các thư viện riêng hỗ trợ việc này Trong mã nguồn Arduino gốc không

hỗ trợ phần này

Hàm analogwrite() dùng cho những chân có ký hiệu “~”

Ví dụ minh họa:

Trong ví dụ này, ta sẽ cho đèn LED sáng dần lên và tối dần đi bằng việc điều chế biên độ xung Bạn đọc cần chuẩn bị các thiết bị / dụng cụ sau:

• 1 x Arduino Uno R3 hoặc tương đương

• 1 x Breadboard

• 1 x LED màu bất kì

• 1 x điện trở 560 Ohm

Do Arduino Uno R3 chỉ hỗ trợ PWM ở các pin 3, 5, 6, 9, 10, 11 Vì vậy ta sẽ mắc mạch của theo

sơ đồ sau:

Trang 4

Kết nối Arduino với máy tính và nạp đoạn code

1 #define LED_PIN 9

2

3 void setup () {

4 pinMode ( LED_PIN , OUTPUT );

5 }

6

7 void loop () {

8 // Make LED brighter time-to-time

9 for ( int i = 0 ; i < 256 ; i ++)

10 {

11 analogWrite ( LED_PIN , i );

12 delay ( 10 );

13 }

14

15 // Stop for a while

16 delay ( 1000 );

17

18 // Make LED dimmer time-to-time

19 for ( int i = 255 ; i >= 0 ; i )

20 {

21 analogWrite ( LED_PIN , i );

22 delay ( 10 );

23 }

Trang 5

24

25 // Stop for a while

26 delay ( 1000 );

27 }

Kết quả thu được là đèn LED của ta sáng / tối dần theo thời gian

Ngày đăng: 04/01/2019, 10:07

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w