Nội Dung Bài Viết
Bài viết này sẽ cho bạn biết làm thế nào để làm việc với digital I/O trên bo Arduino và viết chương trình Demo.
Matlab hỗ trợ lập trình trên board Arduino cung cấp 3 function cho chúng ta dùng để xử lý digital I/O. Tìm hiểu xem 3 function này là gì nhé?
Các function cơ bản
configurePin(): tương ứng pinMode() bên Arduino IDE dùng để định nghĩa chân pin mode input hay output.
Tham khảo:
writeDigitalPin(): tương ứng digitalWrite() bên Arduino IDE dùng để write digital data cho trên digital.
Tham khảo:
readDigitalPin(): tương ứng digitalRead() bên Arduino IDE dùng để read digital input cho trên digital.
Tham khảo:
Để minh họa làm thế nào để làm việc với chân digital I/O, chúng ta đi xây dựng chương trình đơn giản với LED và nút nhấn.
Chương trình Demo: LED và Nút nhấn
Chúng ta sẽ viết chương trình với LED và nút nhấn. Khi nút nhấn được nhấn thì đèn LED sáng.
Sơ đồ nối dây
Theo dõi hình sau đây để kết nối phần cứng:
- LED được nối với chân D9 của Arduino
- Nút nhấn được nối với chân D8 của Arduino
Viết chương trinh Matlab cho Arduino
Bạn tạo một Script mới và viết đoạn chương trình dưới đây vào nhé:
Chúng ta sử dụng onCleanup(), http://www.mathworks.com/help/matlab/ref/oncleanup.html , bắt lệnh CTRL+C để thoát khỏi chương trình.
Save chương trình này lại với tên led_pushbutton.
Chạy và kiểm tra chương trình
Tại cửa sổ Command Window trên MATLAB gõ lệnh:
>>led_pushbutton –> Enter
Nhấn nút nhấn đèn LED sẽ sáng, không nhấn đèn LED tắt. Nhấn tổ hợp phím Ctr+C để thoát khỏi chương trình.
Output chương trình:
Nhấn nút nhấn đèn LED sáng
Bài viết tiếp theo tôi sẽ đề cập đến vấn đề làm sao làm việc với PWM, analog Input.
Download file
Bài viết các bạn có thể tham khảo:
- Lập trình Matlab cho Arduino: Làm việc với PWM
- Lập trình Arduino sử dụng Matlab: Analog Input potentiometer
- Lập trình Arduino sử dụng Matlab: Điều khiển tốc độ động cơ bằng pot