Arduino and servo motor
Show older comments
Hey;
I have this code to active servo motor, I want regulate the of the motor with binary values between 0-255. someone can help me please?
clear a;clear s;
a = arduino('COM10', 'Mega2560', 'Libraries', 'Servo');
s = servo(a, 'D4', 'MinPulseDuration', 700*10^-6, 'MaxPulseDuration', 2300*10^-6)
while(1)
writePosition(s);
current_pos = readPosition(s);
current_pos = current_pos*180;
fprintf('Current motor position is %d degrees\n', current_pos);
% pause(2);
end
Answers (1)
arushi
on 3 Sep 2024
Hi Dekel,
From what I understand you are trying to adjust the position of the servo with input ranging from 0 to 255.
angle = 50 %You can take any value from 0-255
angle = angle/255 %This changes the value to the range of 0-1
writePostition(s,angle);
Now if you want to read the value in range of 0-255 just multiply 255 to current_pos instead of 180
current_pos = readPosition(s);
current_pos = current_pos*255;
For more details refer to the Documentation
Categories
Find more on Embedded Coder Supported Hardware in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!