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

Arduino bai 5 PWM PWM PWM

5 122 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

Nội dung

Xung PWM 1.Các khái niệm -Xung trạng thái cao / thấp (HIGH/LOW) mức điện áp lặp lặp lại Đại lượng đặc trưng cho xung PWM (Pulse Width Modulation) bao gồm tần số (frequency) vàchu kì xung (duty cycle) -Tần số số lần lặp lại đơn vị thời gian Đơn vị tần số Hz, tức số lần lặp lại dao động giây Lấy ví dụ, 1Hz = dao động giây 2Hz = dao động giây 16MHz = 16 triệu dao động giây Như theo quy tắc tam suất: 16 triệu dao động - giây > dao động tốn 1/16.000.000 (giây) = 0,0625 (micro giây) Cách xác định dao động Như thông thường, dao động bao gồm trạng thái điện: mức cao (x giây) mức thấp (y giây) Tỉ lệ phần trăm thời gian trạng thái điện chu kì xung Với x/y = 0% ta có xung chứa toàn điện áp thấp (khái niệm xung nên hiểu mở rộng) Với x/y = 50% 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 điện áp cao 2.Các hàm liên quan Hàm analogWrite() Arduino giúp việc tạo xung dễ dàng Hàm truyền vào tham số cho phép thay đổi chu kì xung, bạn tính tốn chu kì xung bảng Tần số xung Arduino thiết lập mặc định Xung sử dụng với hàm analogWrite Arduino Giữa vạch màu xanh xung analogWrite tỉ lệ chu kì xung analogWrite(0) 0/255 0% analogWrite(64) 64/255 25% analogWrite(127) 127/255 50% analogWrite(191) 191/255 75% analogWrite(255) 255/255 100% Đối với board Arduino Uno, xung chân 3,9,10,11 có tần số 490Hz, xung chân 5,6 có tần số 980Hz Làm để tạo xung có tần số nhanh hơn? Bạn tham khảo thêm thư viện riêng hỗ trợ việc Trong mã nguồn Arduino gốc không hỗ trợ phần Hàm analogwrite() dùng cho chân có ký hiệu “~” Ví dụ minh họa: Trong ví dụ này, ta cho đèn LED sáng dần lên tối dần việc điều chế biên độ xung Bạn đọc cần chuẩn bị thiết bị / dụng cụ sau: • x Arduino Uno R3 tương đương • x Breadboard • x LED màu • x điện trở 560 Ohm • Dây cắm Do Arduino Uno R3 hỗ trợ PWM pin 3, 5, 6, 9, 10, 11 Vì ta mắc mạch theo sơ đồ sau: Kết nối Arduino với máy tính nạp đoạn code #define LED_PIN void setup() { pinMode(LED_PIN, OUTPUT); } void loop() { // Make LED brighter time-to-time 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 } 24 25 // Stop for a while 26 delay(1000); 27 } Kết thu đèn LED ta sáng / tối dần theo thời gian ... Arduino Giữa vạch màu xanh xung analogWrite tỉ lệ chu kì xung analogWrite(0) 0/ 255 0% analogWrite(64) 64/ 255 25% analogWrite(127) 127/ 255 50 % analogWrite(191) 191/ 255 75% analogWrite( 255 ) 255 / 255 ... sau: • x Arduino Uno R3 tương đương • x Breadboard • x LED màu • x điện trở 56 0 Ohm • Dây cắm Do Arduino Uno R3 hỗ trợ PWM pin 3, 5, 6, 9, 10, 11 Vì ta mắc mạch theo sơ đồ sau: Kết nối Arduino. .. 50 % analogWrite(191) 191/ 255 75% analogWrite( 255 ) 255 / 255 100% Đối với board Arduino Uno, xung chân 3,9,10,11 có tần số 490Hz, xung chân 5, 6 có tần số 980Hz Làm để tạo xung có tần số nhanh hơn?

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

TỪ KHÓA LIÊN QUAN

w