How to control time?

Good morning. I am newbie to matlab. Using Arduino and gui, I want to make the motor run for 10 minutes, 20 minutes, 30 minutes, and run for a certain amount of time and turn off the device, but I don't know how to do it. Thanks for letting us know.

Answers (1)

Chetan
Chetan on 8 May 2024
Based on your requirement to control a motor via Arduino from a MATLAB GUI for predetermined durations (10, 20, 30 minutes, etc.) and then automatically turn it off, follow these steps:
  1. Install MATLAB Support Package for Arduino: This package allows MATLAB to communicate with your Arduino.
  2. Create a GUI in MATLAB: Utilize App Designer to create a graphical interface with buttons for each duration.
  3. Program Motor Control: Develop MATLAB functions that are executed when GUI buttons are pressed. These functions will control the motor's run time using the `pause(durationInSeconds)` function for timing.
Here is a sample function for the same:
function controlMotor(durationMinutes)
a = arduino(); % Connect to Arduino
motorPin = 'D3'; % Example motor pin
writeDigitalPin(a, motorPin, 1); % Start motor
pause(durationMinutes * 60); % Wait
writeDigitalPin(a, motorPin, 0); % Stop motor
end
Make sure to replace `'D3'` with the pin your motor is connected to.
Refer to the following MathWorks documentation for more details:
Thanks
Chetan

Categories

Tags

Asked:

on 7 Jun 2021

Answered:

on 8 May 2024

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!