نقل قول نوشته اصلی توسط mahmoodrezaseddigh نمایش پست ها
سلام
من یک برد آردوینو مگا 2560 و یک شیلد l293d دارم و میخوام یک موتور dc را باهاش راه انداز ی کنم . دستورات زیر رو تو متلب میزنم:
a = arduino('com3', 'mega2560', 'Libraries', 'Adafruit\MotorShieldV2')
shield = addon(a, 'Adafruit\MotorShieldV2')
dcm = dcmotor(shield, 2)
dcm.Speed = 1
start(dcm)
اما موتور راه نمیفته و هیچ اروری هم تو متلب نمیده.
اگ میشه منو راهنمایی کنید که چکار کنم موتور راه بیفته.
ممنون
سلام
من استپر موتور را توسط این شیلد و آردوینو مگا یا اونو و متلب کنترل کردم با این تفاوت که از دستورات ساپورت پکیج آردوینو در متلب استفاده نکردم. موتور dc هم باید مشابه آن باشد.
من با استفاده از دستورات ساده کتابخانه AFMotor کدی روی آردوینو نوشتم که منتظر دریافت فرامین از ارتباط سریال بود. یعنی با استفاده از دستوراتی مثل if serial.available و serial.read و اینها.
در متلب هم ابتدا ارتباط سریال را توسط دستوری مثل a = serial('COM3','baud',9600) و سپس fopen(a) برقرار کرده و توسط دستور fwrite عدد مورد نظر را ارسال میکردم.
کد روی آردوینو باید عدد را دریافت کرده و به موتور اعمال کند.

البته برای اینکه چنین کدی بدون مشکل کار کند باید مقداری پروتوکل ارتباطی در آن بنویسید. مثلا ابتدا آردوینو یک حرف مشخص برای متلب بفرستد و متلب وقتی آن را دریافت کرد شروع بکار کند. یا اینکه هر موتور یک شناسه مشخص داشته باشد. مثلا اگر عدد ۲۵۱ دریافت شد نشان دهد که این دستور مربوط به موتور شماره ۱ است و عدد ۲۵۲ مربوط به موتور دوم.