Tôi đã có thể kết nối MATLAB với Uno của mình với dòng mã này: a = arduino('COM4');
thông qua gói này: Gói hỗ trợ Matlab cho Arduino .
Ngay bây giờ, MATLAB là tập lệnh chính của tôi sẽ đồng bộ hóa tất cả các thành phần [như Arduino].
Tôi có thể gửi xung đến động cơ bước của mình chỉ bằng cách sử dụng:
void loop() {
digitalWrite(2, HIGH);
delay(1);
digitalWrite(2, LOW);
delay(1);
}
Điều này hoạt động tốt, và sẽ làm cho động cơ di chuyển khoảng 2 mili giây một lần. Vấn đề của tôi là tôi không thể tìm ra cách tạo ra độ trễ tương tự này thông qua giao diện của MATLAB. Tôi biết rằng MATLAB có một pause()
chức năng, nhưng khi tôi thiết lập một vòng lặp trong MATLAB như thế này:
a = arduino('COM4');
for m = 1:400
a.digitalWrite(2, 1);
pause(0.001);
a.digitalWrite(2, 0);
pause(0.001);
end
Mỗi bước mất CÁCH lâu hơn - mỗi lần khoảng 200 mili giây.
Các tùy chọn khác để tạo tạm dừng giữa Cao / Thấp kỹ thuật số được gửi đến Arduino là gì? Sẽ thật tuyệt nếu tôi có thể kiểm soát kết quả từ Matlab, thông qua Arduino.