Saya telah dapat menghubungkan MATLAB ke Uno saya dengan baris kode ini: a = arduino('COM4');
melalui paket ini: paket dukungan Matlab untuk Arduino .
Saat ini, MATLAB adalah skrip utama saya yang akan menyinkronkan semua komponen [seperti Arduino].
Saya dapat mengirim pulsa ke motor langkah saya hanya dengan menggunakan:
void loop() {
digitalWrite(2, HIGH);
delay(1);
digitalWrite(2, LOW);
delay(1);
}
Ini berfungsi dengan baik, dan akan membuat motor bergerak setiap 2 milidetik. Masalah saya adalah bahwa saya tidak dapat menemukan cara untuk menghasilkan penundaan yang sama melalui antarmuka MATLAB. Saya tahu bahwa MATLAB memiliki pause()
fungsi, tetapi ketika saya mengatur loop di MATLAB seperti ini:
a = arduino('COM4');
for m = 1:400
a.digitalWrite(2, 1);
pause(0.001);
a.digitalWrite(2, 0);
pause(0.001);
end
Setiap langkah membutuhkan WAY lebih lama - masing-masing sekitar 200 milidetik.
Apa pilihan lain untuk membuat jeda antara digital Tinggi / Rendah yang dikirim ke Arduino? Akan lebih baik jika saya bisa mengendalikan hasilnya dari Matlab, melalui Arduino.