Nội Dung Bài Viết
Bài viết này sẽ tổng hợp hai bài viết: Làm việc với PWM và Analog Input Potentiometer. Bạn nào chưa theo dõi hai bài viết trên thì có thể quay lại xem nhé. Hai bài này đã có nhắc đến những function matlab hỗ trợ xử lí analog I/O rồi nên tôi không nhắc lại nữa.
Demo: Điều khiển tốc độ cơ bằng potentiometer dùng L298
Bài viết này tôi tôi sẽ đọc giá trị analog từ pot bằng cách sử dụng hàm readVoltage(), lấy giá trị điện áp đọc được để điều khiển tốc độ động cơ DC thông qua việc sử dụng hàm writePWMVoltage().
Bây giờ chúng ta bắt đầu thôi nào! Let’s go…
Kết nối dây
Bạn kết nối phần cứng tương tự như hình nhé, ở hai bài đã làm rồi nên tôi không viết gì thêm.
Còn đây là hình thực tế tôi đã lắp ráp
Viết chương trình
Bây giờ bạn tạo một Script mới và viết đoạn chương trình này vào nhé.
Sau khi viết xong, các bạn Save Script này với tên control_speed_motor_by_pot.m
Trong chương trình này tôi thay đổi và thêm code một xíu từ chương trình điều khiển tốc độ động cơ bằng l298. Các bạn có thể tìm xem lại hai bài viết trên để so sánh với đoạn code này nhé.
Chạy và kiểm tra chương trình
Chạy chương trình bằng cách gõ lệnh tại cửa sổ Commang Window:
>> control_speed_motor_by_pot —> Enter
Bạn xem video kết quả chạy chương trình ở dưới đây nhé.
Download file
Bài viết các bạn có thể tham khảo:
- Lập trình Arduino sử dụng Matlab: Analog Output PWM
- Điều khiển Arduino sử dụng GUI MATLAB: Control an LED using GUI
- Điều khiển Arduino sử dụng GUI MATLAB: RGB LED Color Mixing